Function at 0x407430
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
push ebx
mov ebx, dword [ebp + 8]
mov eax, ebx
push esi
mov esi, ecx
mov dword [esp + 8], esi
push edi
mov edi, edx
mov dword [esp + 0x10], edi
sub eax, 0x80
je 0x40747a
sub eax, 0x40
je 0x407472
sub eax, 0x40
je 0x40746a
mov eax, 0xffffffe0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esi], 0xe
jmp 0x407480
mov dword [esi], 0xc
jmp 0x407480
mov dword [esi], 0xa
cmp dword [0x494100], 0
jne 0x407498
call fcn.004071a0
mov dword [0x494100], 1
lea ecx, [esi + 8]
call fcn.004073b0
mov dword [esi + 4], eax
lea esi, [esi + eax*4]
add esi, 8
cmp dword [0x49411c], 0
jne 0x4074f0
mov eax, 1
xor ecx, ecx
push ebx
cpuid
mov edi, ebx
pop ebx
mov ebx, dword [ebp + 8]
mov dword [0x494108], eax
mov eax, ecx
mov dword [0x49410c], edi
mov edi, dword [esp + 0x10]
mov dword [0x494110], ecx
mov dword [0x494114], edx
mov dword [0x494118], eax
mov dword [0x49411c], 1
jmp 0x4074f5
mov eax, dword [0x494118]
test eax, 0x2000000
je 0x407548
sub ebx, 0x80
je 0x407536
sub ebx, 0x40
je 0x407524
sub ebx, 0x40
jne 0x40745e
mov edx, edi
mov ecx, esi
call fcn.004128b0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, edi
mov ecx, esi
call fcn.004125e0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, edi
mov ecx, esi
call fcn.004123c0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
shr ebx, 5
test ebx, ebx
je 0x407561
mov ecx, esi
sub edi, esi
mov eax, dword [edi + ecx]
lea ecx, [ecx + 4]
mov dword [ecx - 4], eax
sub ebx, 1
jne 0x407553
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
sub eax, 0xa
je 0x407fff
sub eax, 2
je 0x407bd6
sub eax, 2
jne 0x4083f7
movzx eax, byte [esi + 0x1c]
mov ecx, dword [esi + 4]
mov edi, dword [esi + 0xc]
mov ebx, dword [esi + 0x14]
movzx edx, byte [eax + 0x494160]
movzx eax, byte [esi + 0x1f]
shl edx, 8
movzx eax, byte [eax + 0x494160]
xor edx, eax
movzx eax, byte [esi + 0x1e]
shl edx, 8
movzx eax, byte [eax + 0x494160]
xor edx, eax
movzx eax, byte [esi + 0x1d]
shl edx, 8
movzx eax, byte [eax + 0x494160]
xor edx, eax
xor edx, dword [esi]
xor edx, dword [0x494130]
xor ecx, edx
mov dword [esp + 0xc], edx
mov dword [esi + 0x20], edx
mov edx, dword [esi + 8]
xor edx, ecx
mov dword [esi + 0x24], ecx
xor edi, edx
mov dword [esi + 0x28], edx
mov dword [esi + 0x2c], edi
movzx eax, byte [esi + 0x2f]
mov dword [esp + 0x14], edi
movzx edi, byte [eax + 0x494160]
movzx eax, byte [esi + 0x2e]
shl edi, 8
movzx eax, byte [eax + 0x494160]
xor edi, eax
movzx eax, byte [esi + 0x2d]
shl edi, 8
movzx eax, byte [eax + 0x494160]
xor edi, eax
movzx eax, byte [esi + 0x2c]
shl edi, 8
movzx eax, byte [eax + 0x494160]
xor edi, eax
mov eax, dword [esi + 0x18]
xor edi, dword [esi + 0x10]
xor ebx, edi
mov dword [esp + 0x18], edi
xor eax, ebx
mov dword [esi + 0x30], edi
mov edi, dword [esi + 0x1c]
xor edi, eax
mov dword [esp + 0x1c], eax
mov dword [esi + 0x38], eax
mov eax, edi
mov dword [esi + 0x3c], eax
movzx eax, byte [esi + 0x3f]
mov dword [esp + 0x10], edi
mov dword [esi + 0x34], ebx
movzx edi, byte [eax + 0x494160]
movzx eax, byte [esi + 0x3c]
movzx eax, byte [eax + 0x494160]
shl eax, 8
xor edi, eax
movzx eax, byte [esi + 0x3e]
shl edi, 8
movzx eax, byte [eax + 0x494160]
xor edi, eax
movzx eax, byte [esi + 0x3d]
shl edi, 8
movzx eax, byte [eax + 0x494160]
xor edi, eax
xor edi, dword [esp + 0xc]
xor edi, dword [0x494134]
mov dword [esp + 0x20], edi
mov dword [esi + 0x40], edi
xor edi, ecx
mov ecx, edi
mov dword [esp + 0x24], edi
xor ecx, edx
mov dword [esi + 0x44], edi
mov dword [esi + 0x48], ecx
mov edx, ecx
xor edx, dword [esp + 0x14]
mov dword [esi + 0x4c], edx
movzx eax, byte [esi + 0x4f]
movzx edi, byte [eax + 0x494160]
movzx eax, byte [esi + 0x4e]
shl edi, 8
movzx eax, byte [eax + 0x494160]
xor edi, eax
movzx eax, byte [esi + 0x4d]
shl edi, 8
movzx eax, byte [eax + 0x494160]
xor edi, eax
movzx eax, dl
shl edi, 8
movzx eax, byte [eax + 0x494160]
xor edi, eax
xor edi, dword [esp + 0x18]
mov dword [esp + 0x18], edi
mov dword [esi + 0x50], edi
xor edi, ebx
mov ebx, edi
mov dword [esi + 0x54], edi
xor ebx, dword [esp + 0x1c]
mov eax, ebx
mov dword [esi + 0x58], ebx
xor eax, dword [esp + 0x10]
mov dword [esp + 0x1c], eax
mov dword [esi + 0x5c], eax
movzx eax, al
movzx eax, byte [eax + 0x494160]
shl eax, 8
mov dword [esp + 0xc], eax
movzx eax, byte [esi + 0x5f]
movzx eax, byte [eax + 0x494160]
xor dword [esp + 0xc], eax
movzx eax, byte [esi + 0x5e]
shl dword [esp + 0xc], 8
movzx eax, byte [eax + 0x494160]
xor dword [esp + 0xc], eax
movzx eax, byte [esi + 0x5d]
shl dword [esp + 0xc], 8
movzx eax, byte [eax + 0x494160]
xor dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
xor eax, dword [esp + 0x20]
xor eax, dword [0x494138]
mov dword [esp + 0xc], eax
mov dword [esi + 0x60], eax
xor eax, dword [esp + 0x24]
mov dword [esp + 0x24], eax
mov dword [esi + 0x64], eax
xor eax, ecx
mov ecx, eax
mov dword [esp + 0x20], eax
xor ecx, edx
mov dword [esi + 0x68], eax
mov dword [esi + 0x6c], ecx
movzx eax, byte [esi + 0x6f]
movzx edx, byte [eax + 0x494160]
movzx eax, byte [esi + 0x6e]
shl edx, 8
movzx eax, byte [eax + 0x494160]
xor edx, eax
movzx eax, byte [esi + 0x6d]
shl edx, 8
movzx eax, byte [eax + 0x494160]
xor edx, eax
movzx eax, cl
shl edx, 8
movzx eax, byte [eax + 0x494160]
xor edx, eax
xor edx, dword [esp + 0x18]
mov dword [esp + 0x18], edx
mov dword [esi + 0x70], edx
xor edx, edi
mov edi, edx
mov dword [esi + 0x74], edx
xor edi, ebx
mov dword [esi + 0x78], edi
mov ebx, edi
xor ebx, dword [esp + 0x1c]
mov dword [esi + 0x7c], ebx
movzx eax, byte [esi + 0x7f]
movzx eax, byte [eax + 0x494160]
mov dword [esp + 0x10], eax
movzx eax, bl
movzx eax, byte [eax + 0x494160]
shl eax, 8
xor dword [esp + 0x10], eax
movzx eax, byte [esi + 0x7e]
shl dword [esp + 0x10], 8
movzx eax, byte [eax + 0x494160]
xor dword [esp + 0x10], eax
movzx eax, byte [esi + 0x7d]
shl dword [esp + 0x10], 8
movzx eax, byte [eax + 0x494160]
xor dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
xor eax, dword [esp + 0xc]
xor eax, dword [0x49413c]
mov dword [esp + 0x10], eax
mov dword [esi + 0x80], eax
xor eax, dword [esp + 0x24]
mov dword [esp + 0x24], eax
mov dword [esi + 0x84], eax
xor eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
mov dword [esi + 0x88], eax
xor eax, ecx
mov dword [esp + 0x1c], eax
mov dword [esi + 0x8c], eax
movzx eax, byte [esi + 0x8f]
movzx ecx, byte [eax + 0x494160]
movzx eax, byte [esi + 0x8e]
shl ecx, 8
movzx eax, byte [eax + 0x494160]
xor ecx, eax
movzx eax, byte [esi + 0x8d]
shl ecx, 8
movzx eax, byte [eax + 0x494160]
xor ecx, eax
movzx eax, byte [esi + 0x8c]
shl ecx, 8
movzx eax, byte [eax + 0x494160]
xor ecx, eax
xor ecx, dword [esp + 0x18]
mov dword [esp + 0x18], ecx
mov dword [esi + 0x90], ecx
xor ecx, edx
mov edx, ecx
mov dword [esi + 0x94], ecx
xor edx, edi
mov edi, edx
mov dword [esi + 0x98], edx
xor edi, ebx
mov dword [esi + 0x9c], edi
movzx eax, byte [esi + 0x9c]
movzx ebx, byte [eax + 0x494160]
movzx eax, byte [esi + 0x9f]
shl ebx, 8
movzx eax, byte [eax + 0x494160]
xor ebx, eax
movzx eax, byte [esi + 0x9e]
shl ebx, 8
movzx eax, byte [eax + 0x494160]
xor ebx, eax
movzx eax, byte [esi + 0x9d]
shl ebx, 8
movzx eax, byte [eax + 0x494160]
xor ebx, eax
xor ebx, dword [esp + 0x10]
xor ebx, dword [0x494140]
mov dword [esp + 0x14], ebx
mov dword [esi + 0xa0], ebx
xor ebx, dword [esp + 0x24]
mov eax, ebx
mov dword [esi + 0xa4], ebx
xor eax, dword [esp + 0x20]
mov dword [esp + 0x24], eax
mov dword [esi + 0xa8], eax
xor eax, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
mov dword [esi + 0xac], eax
movzx eax, byte [esi + 0xaf]
movzx eax, byte [eax + 0x494160]
shl eax, 8
mov dword [esp + 0x10], eax
movzx eax, byte [esi + 0xae]
movzx eax, byte [eax + 0x494160]
xor dword [esp + 0x10], eax
movzx eax, byte [esi + 0xad]
shl dword [esp + 0x10], 8
movzx eax, byte [eax + 0x494160]
xor dword [esp + 0x10], eax
movzx eax, byte [esi + 0xac]
shl dword [esp + 0x10], 8
movzx eax, byte [eax + 0x494160]
xor dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
xor eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
mov dword [esi + 0xb0], eax
xor eax, ecx
mov ecx, eax
mov dword [esp + 0x1c], eax
mov dword [esi + 0xb4], eax
xor ecx, edx
mov edx, ecx
mov dword [esi + 0xb8], ecx
xor edx, edi
mov dword [esi + 0xbc], edx
movzx eax, byte [esi + 0xbf]
movzx edi, byte [eax + 0x494160]
movzx eax, dl
movzx eax, byte [eax + 0x494160]
shl eax, 8
xor edi, eax
movzx eax, byte [esi + 0xbe]
shl edi, 8
movzx eax, byte [eax + 0x494160]
xor edi, eax
movzx eax, byte [esi + 0xbd]
shl edi, 8
movzx eax, byte [eax + 0x494160]
xor edi, eax
xor edi, dword [esp + 0x14]
xor edi, dword [0x494144]
mov dword [esp + 0x18], edi
mov dword [esi + 0xc0], edi
xor edi, ebx
mov ebx, edi
mov dword [esi + 0xc4], edi
xor ebx, dword [esp + 0x24]
mov eax, ebx
mov dword [esi + 0xc8], ebx
xor eax, dword [esp + 0x20]
mov dword [esp + 0x24], eax
mov dword [esi + 0xcc], eax
movzx eax, byte [esi + 0xcf]
movzx eax, byte [eax + 0x494160]
shl eax, 8
mov dword [esp + 0xc], eax
movzx eax, byte [esi + 0xce]
movzx eax, byte [eax + 0x494160]
xor dword [esp + 0xc], eax
movzx eax, byte [esi + 0xcd]
shl dword [esp + 0xc], 8
movzx eax, byte [eax + 0x494160]
xor dword [esp + 0xc], eax
movzx eax, byte [esi + 0xcc]
shl dword [esp + 0xc], 8
movzx eax, byte [eax + 0x494160]
xor dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
xor eax, dword [esp + 0x10]
mov dword [esp + 0xc], eax
mov dword [esi + 0xd0], eax
xor eax, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
mov dword [esi + 0xd4], eax
xor eax, ecx
mov dword [esp + 0x1c], eax
mov dword [esi + 0xd8], eax
xor eax, edx
mov dword [esp + 0x14], eax
mov dword [esi + 0xdc], eax
movzx eax, al
movzx ecx, byte [eax + 0x494160]
movzx eax, byte [esi + 0xdf]
shl ecx, 8
movzx eax, byte [eax + 0x494160]
xor ecx, eax
movzx eax, byte [esi + 0xde]
shl ecx, 8
movzx eax, byte [eax + 0x494160]
xor ecx, eax
movzx eax, byte [esi + 0xdd]
shl ecx, 8
movzx eax, byte [eax + 0x494160]
xor ecx, eax
xor ecx, dword [esp + 0x18]
xor ecx, dword [0x494148]
mov dword [esi + 0xe0], ecx
xor ecx, edi
mov dword [esi + 0xe4], ecx
xor ecx, ebx
mov dword [esi + 0xe8], ecx
xor ecx, dword [esp + 0x24]
mov dword [esi + 0xec], ecx
movzx eax, byte [esi + 0xef]
movzx ecx, byte [eax + 0x494160]
movzx eax, byte [esi + 0xee]
shl ecx, 8
movzx eax, byte [eax + 0x494160]
xor ecx, eax
movzx eax, byte [esi + 0xed]
shl ecx, 8
movzx eax, byte [eax + 0x494160]
xor ecx, eax
movzx eax, byte [esi + 0xec]
shl ecx, 8
movzx eax, byte [eax + 0x494160]
xor ecx, eax
xor ecx, dword [esp + 0xc]
mov dword [esi + 0xf0], ecx
xor ecx, dword [esp + 0x20]
mov dword [esi + 0xf4], ecx
xor ecx, dword [esp + 0x1c]
mov dword [esi + 0xf8], ecx
xor ecx, dword [esp + 0x14]
xor eax, eax
mov dword [esi + 0xfc], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, byte [esi + 0x14]
mov ecx, dword [esi + 4]
mov edi, dword [esi + 0xc]
mov ebx, dword [esi + 0x10]
movzx edx, byte [eax + 0x494160]
movzx eax, byte [esi + 0x17]
shl edx, 8
movzx eax, byte [eax + 0x494160]
xor edx, eax
movzx eax, byte [esi + 0x16]
shl edx, 8
movzx eax, byte [eax + 0x494160]
xor edx, eax
movzx eax, byte [esi + 0x15]
shl edx, 8
movzx eax, byte [eax + 0x494160]
xor edx, eax
mov eax, dword [esi + 0x14]
xor edx, dword [esi]
xor edx, dword [0x494130]
xor ecx, edx
mov dword [esp + 0x24], edx
mov dword [esi + 0x18], edx
mov edx, dword [esi + 8]
xor edx, ecx
mov dword [esi + 0x1c], ecx
xor edi, edx
mov dword [esi + 0x20], edx
xor ebx, edi
mov dword [esi + 0x24], edi
xor eax, ebx
mov dword [esi + 0x28], ebx
mov dword [esp + 0x20], eax
mov dword [esi + 0x2c], eax
movzx eax, al
movzx eax, byte [eax + 0x494160]
shl eax, 8
mov dword [esp + 0x10], eax
movzx eax, byte [esi + 0x2f]
movzx eax, byte [eax + 0x494160]
xor dword [esp + 0x10], eax
movzx eax, byte [esi + 0x2e]
shl dword [esp + 0x10], 8
movzx eax, byte [eax + 0x494160]
xor dword [esp + 0x10], eax
movzx eax, byte [esi + 0x2d]
shl dword [esp + 0x10], 8
movzx eax, byte [eax + 0x494160]
xor dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
xor eax, dword [esp + 0x24]
xor eax, dword [0x494134]
mov dword [esp + 0x10], eax
mov dword [esi + 0x30], eax
xor eax, ecx
mov ecx, eax
mov dword [esp + 0x24], eax
xor ecx, edx
mov dword [esi + 0x34], eax
mov edx, ecx
mov dword [esi + 0x38], ecx
xor edx, edi
mov edi, edx
mov dword [esi + 0x3c], edx
xor edi, ebx
mov ebx, edi
mov dword [esi + 0x40], edi
xor ebx, dword [esp + 0x20]
mov dword [esi + 0x44], ebx
movzx eax, byte [esi + 0x47]
movzx eax, byte [eax + 0x494160]
mov dword [esp + 0xc], eax
movzx eax, bl
movzx eax, byte [eax + 0x494160]
shl eax, 8
xor dword [esp + 0xc], eax
movzx eax, byte [esi + 0x46]
shl dword [esp + 0xc], 8
movzx eax, byte [eax + 0x494160]
xor dword [esp + 0xc], eax
shl dword [esp + 0xc], 8
movzx eax, byte [esi + 0x45]
movzx eax, byte [eax + 0x494160]
xor dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
xor eax, dword [esp + 0x10]
xor eax, dword [0x494138]
mov dword [esp + 0xc], eax
mov dword [esi + 0x48], eax
xor eax, dword [esp + 0x24]
mov dword [esp + 0x24], eax
mov dword [esi + 0x4c], eax
xor eax, ecx
mov ecx, eax
mov dword [esp + 0x20], eax
mov dword [esi + 0x50], eax
xor ecx, edx
mov edx, ecx
mov dword [esi + 0x54], ecx
xor edx, edi
mov edi, edx
mov dword [esi + 0x58], edx
xor edi, ebx
mov dword [esi + 0x5c], edi
movzx eax, byte [esi + 0x5c]
movzx ebx, byte [eax + 0x494160]
movzx eax, byte [esi + 0x5f]
shl ebx, 8
movzx eax, byte [eax + 0x494160]
xor ebx, eax
movzx eax, byte [esi + 0x5e]
shl ebx, 8
movzx eax, byte [eax + 0x494160]
xor ebx, eax
movzx eax, byte [esi + 0x5d]
shl ebx, 8
movzx eax, byte [eax + 0x494160]
xor ebx, eax
xor ebx, dword [esp + 0xc]
xor ebx, dword [0x49413c]
mov dword [esp + 0x1c], ebx
mov dword [esi + 0x60], ebx
xor ebx, dword [esp + 0x24]
mov eax, ebx
mov dword [esi + 0x64], ebx
xor eax, dword [esp + 0x20]
mov dword [esp + 0x24], eax
mov dword [esi + 0x68], eax
xor eax, ecx
mov ecx, eax
mov dword [esp + 0x20], eax
mov dword [esi + 0x6c], eax
xor ecx, edx
mov edx, ecx
mov dword [esi + 0x70], ecx
xor edx, edi
movzx eax, dl
mov dword [esi + 0x74], edx
movzx edi, byte [eax + 0x494160]
movzx eax, byte [esi + 0x77]
shl edi, 8
movzx eax, byte [eax + 0x494160]
xor edi, eax
movzx eax, byte [esi + 0x76]
shl edi, 8
movzx eax, byte [eax + 0x494160]
xor edi, eax
movzx eax, byte [esi + 0x75]
shl edi, 8
movzx eax, byte [eax + 0x494160]
xor edi, eax
xor edi, dword [esp + 0x1c]
xor edi, dword [0x494140]
mov dword [esp + 0x1c], edi
mov dword [esi + 0x78], edi
xor edi, ebx
mov ebx, edi
mov dword [esi + 0x7c], edi
xor ebx, dword [esp + 0x24]
mov eax, ebx
mov dword [esi + 0x80], ebx
xor eax, dword [esp + 0x20]
mov dword [esp + 0x24], eax
mov dword [esi + 0x84], eax
xor eax, ecx
mov ecx, eax
mov dword [esp + 0x20], eax
xor ecx, edx
mov dword [esi + 0x88], eax
movzx eax, cl
mov dword [esi + 0x8c], ecx
movzx edx, byte [eax + 0x494160]
movzx eax, byte [esi + 0x8f]
shl edx, 8
movzx eax, byte [eax + 0x494160]
xor edx, eax
movzx eax, byte [esi + 0x8e]
shl edx, 8
movzx eax, byte [eax + 0x494160]
xor edx, eax
movzx eax, byte [esi + 0x8d]
shl edx, 8
movzx eax, byte [eax + 0x494160]
xor edx, eax
xor edx, dword [esp + 0x1c]
xor edx, dword [0x494144]
mov dword [esp + 0x1c], edx
mov dword [esi + 0x90], edx
xor edx, edi
mov edi, edx
mov dword [esi + 0x94], edx
xor edi, ebx
mov ebx, edi
mov dword [esi + 0x98], edi
xor ebx, dword [esp + 0x24]
mov eax, ebx
mov dword [esi + 0x9c], ebx
xor eax, dword [esp + 0x20]
mov dword [esp + 0x24], eax
mov dword [esi + 0xa0], eax
xor eax, ecx
mov dword [esp + 0x20], eax
mov dword [esi + 0xa4], eax
movzx eax, al
movzx ecx, byte [eax + 0x494160]
movzx eax, byte [esi + 0xa7]
shl ecx, 8
movzx eax, byte [eax + 0x494160]
xor ecx, eax
movzx eax, byte [esi + 0xa6]
shl ecx, 8
movzx eax, byte [eax + 0x494160]
xor ecx, eax
movzx eax, byte [esi + 0xa5]
shl ecx, 8
movzx eax, byte [eax + 0x494160]
xor ecx, eax
xor ecx, dword [esp + 0x1c]
xor ecx, dword [0x494148]
mov dword [esp + 0x1c], ecx
mov dword [esi + 0xa8], ecx
xor ecx, edx
mov edx, ecx
mov dword [esp + 0x18], ecx
xor edx, edi
mov dword [esi + 0xac], ecx
mov edi, edx
mov dword [esi + 0xb0], edx
xor edi, ebx
mov ebx, edi
mov dword [esi + 0xb4], edi
xor ebx, dword [esp + 0x24]
mov eax, ebx
mov dword [esi + 0xb8], ebx
xor eax, dword [esp + 0x20]
mov dword [esp + 0x24], eax
mov dword [esi + 0xbc], eax
movzx eax, byte [esi + 0xbf]
movzx ecx, byte [eax + 0x494160]
movzx eax, byte [esi + 0xbc]
movzx eax, byte [eax + 0x494160]
shl eax, 8
xor ecx, eax
movzx eax, byte [esi + 0xbe]
shl ecx, 8
movzx eax, byte [eax + 0x494160]
xor ecx, eax
movzx eax, byte [esi + 0xbd]
shl ecx, 8
movzx eax, byte [eax + 0x494160]
xor ecx, eax
xor ecx, dword [esp + 0x1c]
xor ecx, dword [0x49414c]
mov dword [esi + 0xc0], ecx
xor ecx, dword [esp + 0x18]
mov dword [esi + 0xc4], ecx
xor ecx, edx
mov dword [esi + 0xc8], ecx
xor ecx, edi
mov dword [esi + 0xcc], ecx
xor ecx, ebx
mov dword [esi + 0xd0], ecx
xor ecx, dword [esp + 0x24]
xor eax, eax
mov dword [esi + 0xd4], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, byte [esi + 0xc]
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
mov edi, dword [esi + 0xc]
movzx ebx, byte [eax + 0x494160]
movzx eax, byte [esi + 0xf]
shl ebx, 8
movzx eax, byte [eax + 0x494160]
xor ebx, eax
movzx eax, byte [esi + 0xe]
shl ebx, 8
movzx eax, byte [eax + 0x494160]
xor ebx, eax
movzx eax, byte [esi + 0xd]
shl ebx, 8
movzx eax, byte [eax + 0x494160]
xor ebx, eax
xor ebx, dword [esi]
xor ebx, dword [0x494130]
xor ecx, ebx
mov dword [esi + 0x10], ebx
xor edx, ecx
mov dword [esi + 0x14], ecx
xor edi, edx
mov dword [esi + 0x18], edx
mov dword [esi + 0x1c], edi
movzx eax, byte [esi + 0x1c]
movzx eax, byte [eax + 0x494160]
shl eax, 8
mov dword [esp + 0x10], eax
movzx eax, byte [esi + 0x1f]
movzx eax, byte [eax + 0x494160]
xor dword [esp + 0x10], eax
movzx eax, byte [esi + 0x1e]
shl dword [esp + 0x10], 8
movzx eax, byte [eax + 0x494160]
xor dword [esp + 0x10], eax
movzx eax, byte [esi + 0x1d]
shl dword [esp + 0x10], 8
movzx eax, byte [eax + 0x494160]
xor dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
xor eax, ebx
xor eax, dword [0x494134]
mov ebx, eax
mov dword [esp + 0x10], eax
xor ebx, ecx
mov dword [esi + 0x20], eax
mov ecx, ebx
mov dword [esi + 0x24], ebx
xor ecx, edx
mov edx, ecx
mov dword [esi + 0x28], ecx
xor edx, edi
movzx eax, dl
mov dword [esi + 0x2c], edx
movzx edi, byte [eax + 0x494160]
movzx eax, byte [esi + 0x2f]
shl edi, 8
movzx eax, byte [eax + 0x494160]
xor edi, eax
movzx eax, byte [esi + 0x2e]
shl edi, 8
movzx eax, byte [eax + 0x494160]
xor edi, eax
movzx eax, byte [esi + 0x2d]
shl edi, 8
movzx eax, byte [eax + 0x494160]
xor edi, eax
xor edi, dword [esp + 0x10]
xor edi, dword [0x494138]
mov dword [esp + 0x24], edi
mov dword [esi + 0x30], edi
xor edi, ebx
mov ebx, edi
mov dword [esi + 0x34], edi
xor ebx, ecx
mov ecx, ebx
mov dword [esi + 0x38], ebx
xor ecx, edx
mov dword [esi + 0x3c], ecx
movzx eax, byte [esi + 0x3f]
movzx edx, byte [eax + 0x494160]
movzx eax, cl
movzx eax, byte [eax + 0x494160]
shl eax, 8
xor edx, eax
movzx eax, byte [esi + 0x3e]
shl edx, 8
movzx eax, byte [eax + 0x494160]
xor edx, eax
movzx eax, byte [esi + 0x3d]
shl edx, 8
movzx eax, byte [eax + 0x494160]
xor edx, eax
xor edx, dword [esp + 0x24]
xor edx, dword [0x49413c]
mov dword [esp + 0x24], edx
mov dword [esi + 0x40], edx
xor edx, edi
mov edi, edx
mov dword [esi + 0x44], edx
xor edi, ebx
mov ebx, edi
mov dword [esi + 0x48], edi
xor ebx, ecx
movzx eax, bl
mov dword [esi + 0x4c], ebx
movzx ecx, byte [eax + 0x494160]
movzx eax, byte [esi + 0x4f]
shl ecx, 8
movzx eax, byte [eax + 0x494160]
xor ecx, eax
movzx eax, byte [esi + 0x4e]
shl ecx, 8
movzx eax, byte [eax + 0x494160]
xor ecx, eax
movzx eax, byte [esi + 0x4d]
shl ecx, 8
movzx eax, byte [eax + 0x494160]
xor ecx, eax
xor ecx, dword [esp + 0x24]
xor ecx, dword [0x494140]
mov dword [esp + 0x24], ecx
mov dword [esi + 0x50], ecx
xor ecx, edx
mov edx, ecx
mov dword [esi + 0x54], ecx
xor edx, edi
mov edi, edx
mov dword [esi + 0x58], edx
xor edi, ebx
mov dword [esi + 0x5c], edi
movzx eax, byte [esi + 0x5c]
movzx ebx, byte [eax + 0x494160]
movzx eax, byte [esi + 0x5f]
shl ebx, 8
movzx eax, byte [eax + 0x494160]
xor ebx, eax
movzx eax, byte [esi + 0x5e]
shl ebx, 8
movzx eax, byte [eax + 0x494160]
xor ebx, eax
movzx eax, byte [esi + 0x5d]
shl ebx, 8
movzx eax, byte [eax + 0x494160]
xor ebx, eax
xor ebx, dword [esp + 0x24]
xor ebx, dword [0x494144]
mov dword [esp + 0x24], ebx
mov dword [esi + 0x60], ebx
xor ebx, ecx
mov ecx, ebx
mov dword [esi + 0x64], ebx
xor ecx, edx
mov edx, ecx
mov dword [esi + 0x68], ecx
xor edx, edi
movzx eax, dl
mov dword [esi + 0x6c], edx
movzx edi, byte [eax + 0x494160]
shl edi, 8
movzx eax, byte [esi + 0x6f]
movzx eax, byte [eax + 0x494160]
xor edi, eax
movzx eax, byte [esi + 0x6e]
shl edi, 8
movzx eax, byte [eax + 0x494160]
xor edi, eax
movzx eax, byte [esi + 0x6d]
shl edi, 8
movzx eax, byte [eax + 0x494160]
xor edi, eax
xor edi, dword [esp + 0x24]
xor edi, dword [0x494148]
mov dword [esp + 0x24], edi
mov dword [esi + 0x70], edi
xor edi, ebx
mov ebx, edi
mov dword [esi + 0x74], edi
xor ebx, ecx
mov ecx, ebx
mov dword [esi + 0x78], ebx
xor ecx, edx
mov dword [esi + 0x7c], ecx
movzx eax, byte [esi + 0x7f]
movzx edx, byte [eax + 0x494160]
movzx eax, cl
movzx eax, byte [eax + 0x494160]
shl eax, 8
xor edx, eax
movzx eax, byte [esi + 0x7e]
shl edx, 8
movzx eax, byte [eax + 0x494160]
xor edx, eax
movzx eax, byte [esi + 0x7d]
shl edx, 8
movzx eax, byte [eax + 0x494160]
xor edx, eax
xor edx, dword [esp + 0x24]
xor edx, dword [0x49414c]
mov dword [esp + 0x24], edx
mov dword [esi + 0x80], edx
xor edx, edi
mov edi, edx
mov dword [esi + 0x84], edx
xor edi, ebx
mov ebx, edi
mov dword [esi + 0x88], edi
xor ebx, ecx
movzx eax, bl
mov dword [esi + 0x8c], ebx
movzx ecx, byte [eax + 0x494160]
movzx eax, byte [esi + 0x8f]
shl ecx, 8
movzx eax, byte [eax + 0x494160]
xor ecx, eax
movzx eax, byte [esi + 0x8e]
shl ecx, 8
movzx eax, byte [eax + 0x494160]
xor ecx, eax
movzx eax, byte [esi + 0x8d]
shl ecx, 8
movzx eax, byte [eax + 0x494160]
xor ecx, eax
xor ecx, dword [esp + 0x24]
xor ecx, dword [0x494150]
mov dword [esp + 0x24], ecx
mov dword [esi + 0x90], ecx
xor ecx, edx
mov edx, ecx
mov dword [esp + 0x20], ecx
xor edx, edi
mov dword [esi + 0x94], ecx
mov edi, edx
mov dword [esi + 0x98], edx
xor edi, ebx
mov dword [esi + 0x9c], edi
movzx eax, byte [esi + 0x9c]
movzx ecx, byte [eax + 0x494160]
movzx eax, byte [esi + 0x9f]
shl ecx, 8
movzx eax, byte [eax + 0x494160]
xor ecx, eax
movzx eax, byte [esi + 0x9e]
shl ecx, 8
movzx eax, byte [eax + 0x494160]
xor ecx, eax
movzx eax, byte [esi + 0x9d]
shl ecx, 8
movzx eax, byte [eax + 0x494160]
xor ecx, eax
xor ecx, dword [esp + 0x24]
xor ecx, dword [0x494154]
mov dword [esi + 0xa0], ecx
xor ecx, dword [esp + 0x20]
mov dword [esi + 0xa4], ecx
xor ecx, edx
mov dword [esi + 0xa8], ecx
xor ecx, edi
mov dword [esi + 0xac], ecx
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret