Embed presentation
Download to read offline
![alloc(ConvertRoutine,1024)
alloc(ConvertBackRoutine,1024)
alloc(TypeName,256)
alloc(ByteSize,4)
alloc(UsesFloat,1)
TypeName:
db 'Asphalt8.IFGIOVANNI',0
ByteSize:
dd 4
UsesFloat:
db 0
ConvertRoutine:
[64-bit]
mov eax,[rcx]
xor eax, 0baadf00d
rol eax, 0e
ret
[/64-bit]
[32-bit]
push ebp
mov ebp,esp
mov eax,[ebp+8]
mov eax,[eax]
xor eax, 0baadf00d
rol eax, 0e
pop ebp
ret 4
[/32-bit]
ConvertBackRoutine:
[64-bit]
ror ecx, e
xor ecx, baadf00d](https://image.slidesharecdn.com/asphalt8-150427214112-conversion-gate02/75/Asphalt8-ifgiovanni-1-2048.jpg)
![mov [rdx],ecx
ret
[/64-bit]
[32-bit]
push ebp
mov ebp,esp
push eax
push ebx
mov eax,[ebp+8]
mov ebx,[ebp+c]
ror eax, 0e
xor eax, 0baadf00d
mov [ebx],eax
pop ebx
pop eax
pop ebp
ret 8
[/32-bit]](https://image.slidesharecdn.com/asphalt8-150427214112-conversion-gate02/85/Asphalt8-ifgiovanni-2-320.jpg)
The document allocates memory for variables used to store information about a data conversion routine. It allocates 1024 bytes each for the conversion and back conversion routines, 256 bytes for a type name, and 4 bytes to store the byte size. It then stores the type name "Asphalt8.IFGIOVANNI" and sets the byte size to 4 and a flag for using floats to 0. The conversion routine XORs and rotates the passed in value, while the back conversion routine reverses these operations to convert the value back.
![alloc(ConvertRoutine,1024)
alloc(ConvertBackRoutine,1024)
alloc(TypeName,256)
alloc(ByteSize,4)
alloc(UsesFloat,1)
TypeName:
db 'Asphalt8.IFGIOVANNI',0
ByteSize:
dd 4
UsesFloat:
db 0
ConvertRoutine:
[64-bit]
mov eax,[rcx]
xor eax, 0baadf00d
rol eax, 0e
ret
[/64-bit]
[32-bit]
push ebp
mov ebp,esp
mov eax,[ebp+8]
mov eax,[eax]
xor eax, 0baadf00d
rol eax, 0e
pop ebp
ret 4
[/32-bit]
ConvertBackRoutine:
[64-bit]
ror ecx, e
xor ecx, baadf00d](https://image.slidesharecdn.com/asphalt8-150427214112-conversion-gate02/75/Asphalt8-ifgiovanni-1-2048.jpg)
![mov [rdx],ecx
ret
[/64-bit]
[32-bit]
push ebp
mov ebp,esp
push eax
push ebx
mov eax,[ebp+8]
mov ebx,[ebp+c]
ror eax, 0e
xor eax, 0baadf00d
mov [ebx],eax
pop ebx
pop eax
pop ebp
ret 8
[/32-bit]](https://image.slidesharecdn.com/asphalt8-150427214112-conversion-gate02/85/Asphalt8-ifgiovanni-2-320.jpg)