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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
push edi
mov edi, dword [ebp + 0x10]
mov eax, edi
sub eax, 0x80
je 0x401d2f
sub eax, 0x40
je 0x401d24
sub eax, 0x40
je 0x401d19
pop edi
mov eax, 0xffffffe0
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp + 8]
mov dword [ebx], 0xe
jmp 0x401d38
mov ebx, dword [ebp + 8]
mov dword [ebx], 0xc
jmp 0x401d38
mov ebx, dword [ebp + 8]
mov dword [ebx], 0xa
cmp dword [0x477c08], 0
jne 0x401d50
call fcn.00401280
mov dword [0x477c08], 1
push 0x2000000
call fcn.00404410
add esp, 4
test eax, eax
je 0x401d78
lea ecx, [ebx - 8]
shr ecx, 2
and ecx, 3
je 0x401d78
mov eax, 4
sub eax, ecx
shl eax, 2
jmp 0x401d7a
xor eax, eax
push esi
lea esi, [eax + 8]
add esi, ebx
push 0x2000000
mov dword [ebx + 4], esi
call fcn.00404410
add esp, 4
test eax, eax
je 0x401daa
push edi
push dword [ebp + 0xc]
push dword [ebx + 4]
call fcn.004044c0
add esp, 0xc
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
shr edi, 5
mov dword [ebp + 0x10], edi
xor edi, edi
cmp dword [ebp + 0x10], edi
jbe 0x401ded
mov edx, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
add edx, 2
movzx ecx, byte [edx + 1]
lea edx, [edx + 4]
movzx eax, byte [edx - 4]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx - 5]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx - 6]
shl ecx, 8
or ecx, eax
mov dword [esi + edi*4], ecx
inc edi
cmp edi, ebx
jb 0x401dc0
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
sub eax, 0xa
je 0x40287c
sub eax, 2
je 0x40244e
sub eax, 2
jne 0x402caa
movzx eax, byte [esi + 0x1c]
mov ecx, dword [esi + 8]
mov ebx, dword [esi + 0xc]
movzx edx, byte [eax + 0x4759e0]
movzx eax, byte [esi + 0x1f]
shl edx, 8
movzx eax, byte [eax + 0x4759e0]
xor edx, eax
movzx eax, byte [esi + 0x1e]
shl edx, 8
movzx eax, byte [eax + 0x4759e0]
xor edx, eax
movzx eax, byte [esi + 0x1d]
shl edx, 8
movzx eax, byte [eax + 0x4759e0]
xor edx, eax
mov eax, dword [esi + 4]
xor edx, dword [esi]
xor edx, dword [0x477be0]
xor eax, edx
mov dword [esi + 0x20], edx
xor ecx, eax
mov dword [ebp - 0xc], eax
mov dword [esi + 0x24], eax
xor ebx, ecx
mov eax, ebx
mov dword [ebp - 8], ecx
shr eax, 0x18
mov dword [esi + 0x28], ecx
mov ecx, dword [esi + 0x18]
mov dword [ebp - 4], ebx
movzx edi, byte [eax + 0x4759e0]
mov eax, ebx
shr eax, 0x10
movzx eax, al
shl edi, 8
mov dword [esi + 0x2c], ebx
movzx eax, byte [eax + 0x4759e0]
xor edi, eax
mov eax, ebx
shr eax, 8
movzx eax, al
shl edi, 8
movzx eax, byte [eax + 0x4759e0]
xor edi, eax
movzx eax, bl
shl edi, 8
movzx eax, byte [eax + 0x4759e0]
xor edi, eax
mov eax, dword [esi + 0x14]
xor edi, dword [esi + 0x10]
xor eax, edi
mov dword [esi + 0x30], edi
xor ecx, eax
mov dword [ebp - 0x10], eax
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x1c]
xor eax, ecx
mov dword [esi + 0x38], ecx
mov dword [ebp + 0x10], eax
mov dword [esi + 0x3c], eax
movzx eax, al
movzx ebx, byte [eax + 0x4759e0]
mov eax, dword [ebp + 0x10]
shr eax, 0x18
shl ebx, 8
movzx eax, byte [eax + 0x4759e0]
xor ebx, eax
mov eax, dword [ebp + 0x10]
shr eax, 0x10
movzx eax, al
shl ebx, 8
movzx eax, byte [eax + 0x4759e0]
xor ebx, eax
mov eax, dword [ebp + 0x10]
shr eax, 8
movzx eax, al
shl ebx, 8
movzx eax, byte [eax + 0x4759e0]
xor ebx, eax
xor ebx, edx
xor ebx, dword [0x477be4]
mov eax, dword [ebp - 0xc]
xor eax, ebx
mov edx, dword [ebp - 8]
xor edx, eax
mov dword [ebp - 0xc], eax
mov dword [esi + 0x44], eax
mov eax, dword [ebp - 4]
xor eax, edx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov dword [esi + 0x4c], eax
shr eax, 0x18
mov dword [esi + 0x48], edx
mov dword [esi + 0x40], ebx
movzx edx, byte [eax + 0x4759e0]
mov eax, dword [ebp - 4]
shr eax, 0x10
movzx eax, al
shl edx, 8
movzx eax, byte [eax + 0x4759e0]
xor edx, eax
mov eax, dword [ebp - 4]
shr eax, 8
movzx eax, al
shl edx, 8
movzx eax, byte [eax + 0x4759e0]
xor edx, eax
mov eax, dword [ebp - 4]
movzx eax, al
shl edx, 8
movzx eax, byte [eax + 0x4759e0]
xor edx, eax
mov eax, dword [ebp - 0x10]
xor edx, edi
xor eax, edx
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x10], eax
mov dword [esi + 0x54], eax
mov dword [esi + 0x50], edx
mov edx, eax
mov eax, dword [ebp + 0x10]
xor edx, ecx
xor eax, edx
mov dword [esi + 0x58], edx
mov dword [ebp + 0x10], eax
mov edi, eax
mov dword [esi + 0x5c], eax
movzx eax, al
movzx ecx, byte [eax + 0x4759e0]
mov eax, edi
shr eax, 0x18
shl ecx, 8
movzx eax, byte [eax + 0x4759e0]
xor ecx, eax
mov eax, edi
shr eax, 0x10
movzx eax, al
shl ecx, 8
movzx eax, byte [eax + 0x4759e0]
xor ecx, eax
mov eax, edi
shr eax, 8
movzx eax, al
shl ecx, 8
movzx eax, byte [eax + 0x4759e0]
xor ecx, eax
mov eax, dword [ebp - 4]
xor ecx, ebx
xor ecx, dword [0x477be8]
mov dword [ebp - 0x18], ecx
mov dword [esi + 0x60], ecx
xor ecx, dword [ebp - 0xc]
mov edi, ecx
mov dword [esi + 0x64], ecx
xor edi, dword [ebp - 8]
xor eax, edi
mov dword [esi + 0x68], edi
mov dword [ebp - 4], eax
mov dword [esi + 0x6c], eax
shr eax, 0x18
movzx ebx, byte [eax + 0x4759e0]
mov eax, dword [ebp - 4]
shr eax, 0x10
movzx eax, al
shl ebx, 8
movzx eax, byte [eax + 0x4759e0]
xor ebx, eax
mov eax, dword [ebp - 4]
shr eax, 8
movzx eax, al
shl ebx, 8
movzx eax, byte [eax + 0x4759e0]
xor ebx, eax
mov eax, dword [ebp - 4]
movzx eax, al
shl ebx, 8
movzx eax, byte [eax + 0x4759e0]
xor ebx, eax
xor ebx, dword [ebp - 0x14]
mov dword [ebp - 0x14], ebx
mov dword [esi + 0x70], ebx
xor ebx, dword [ebp - 0x10]
mov eax, ebx
mov dword [esi + 0x74], ebx
xor eax, edx
mov edx, dword [ebp + 0x10]
xor edx, eax
mov dword [ebp - 0xc], eax
mov dword [esi + 0x78], eax
movzx eax, dl
mov dword [ebp + 0x10], edx
mov dword [esi + 0x7c], edx
movzx edx, byte [eax + 0x4759e0]
mov eax, dword [ebp + 0x10]
shr eax, 0x18
shl edx, 8
movzx eax, byte [eax + 0x4759e0]
xor edx, eax
mov eax, dword [ebp + 0x10]
shr eax, 0x10
movzx eax, al
shl edx, 8
movzx eax, byte [eax + 0x4759e0]
xor edx, eax
mov eax, dword [ebp + 0x10]
shr eax, 8
movzx eax, al
shl edx, 8
movzx eax, byte [eax + 0x4759e0]
xor edx, eax
xor edx, dword [ebp - 0x18]
xor edx, dword [0x477bec]
mov dword [ebp - 0x18], edx
mov dword [esi + 0x80], edx
xor edx, ecx
mov ecx, edx
mov dword [esi + 0x84], edx
xor ecx, edi
mov eax, ecx
mov dword [esi + 0x88], ecx
xor eax, dword [ebp - 4]
mov dword [ebp - 0x10], eax
mov dword [esi + 0x8c], eax
shr eax, 0x18
movzx eax, byte [eax + 0x4759e0]
shl eax, 8
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x10]
shr eax, 0x10
movzx eax, al
movzx eax, byte [eax + 0x4759e0]
xor dword [ebp - 4], eax
mov eax, dword [ebp - 0x10]
shl dword [ebp - 4], 8
mov edi, dword [ebp - 4]
shr eax, 8
movzx eax, al
movzx eax, byte [eax + 0x4759e0]
xor edi, eax
mov eax, dword [ebp - 0x10]
shl edi, 8
movzx eax, al
movzx eax, byte [eax + 0x4759e0]
xor edi, eax
xor edi, dword [ebp - 0x14]
mov dword [ebp - 4], edi
mov dword [esi + 0x90], edi
xor edi, ebx
mov ebx, edi
mov dword [esi + 0x94], edi
xor ebx, dword [ebp - 0xc]
mov eax, ebx
mov dword [esi + 0x98], ebx
xor eax, dword [ebp + 0x10]
mov dword [ebp - 0xc], eax
mov dword [esi + 0x9c], eax
movzx eax, al
movzx eax, byte [eax + 0x4759e0]
shl eax, 8
mov dword [ebp + 0x10], eax
mov eax, dword [ebp - 0xc]
shr eax, 0x18
movzx eax, byte [eax + 0x4759e0]
xor dword [ebp + 0x10], eax
mov eax, dword [ebp - 0xc]
shl dword [ebp + 0x10], 8
shr eax, 0x10
movzx eax, al
movzx eax, byte [eax + 0x4759e0]
xor dword [ebp + 0x10], eax
mov eax, dword [ebp - 0xc]
shl dword [ebp + 0x10], 8
shr eax, 8
movzx eax, al
movzx eax, byte [eax + 0x4759e0]
xor dword [ebp + 0x10], eax
mov eax, dword [ebp + 0x10]
xor eax, dword [ebp - 0x18]
xor eax, dword [0x477bf0]
mov dword [ebp + 0x10], eax
mov dword [esi + 0xa0], eax
xor eax, edx
mov edx, eax
mov dword [ebp - 0x18], eax
mov dword [esi + 0xa4], eax
xor edx, ecx
mov eax, edx
mov dword [esi + 0xa8], edx
xor eax, dword [ebp - 0x10]
mov dword [ebp - 8], eax
mov dword [esi + 0xac], eax
shr eax, 0x18
movzx ecx, byte [eax + 0x4759e0]
mov eax, dword [ebp - 8]
shr eax, 0x10
movzx eax, al
shl ecx, 8
movzx eax, byte [eax + 0x4759e0]
xor ecx, eax
mov eax, dword [ebp - 8]
shr eax, 8
movzx eax, al
shl ecx, 8
movzx eax, byte [eax + 0x4759e0]
xor ecx, eax
mov eax, dword [ebp - 8]
movzx eax, al
shl ecx, 8
movzx eax, byte [eax + 0x4759e0]
xor ecx, eax
xor ecx, dword [ebp - 4]
mov dword [ebp - 0x14], ecx
mov dword [esi + 0xb0], ecx
xor ecx, edi
mov edi, ecx
mov dword [esi + 0xb4], ecx
xor edi, ebx
mov ebx, edi
mov dword [esi + 0xb8], edi
xor ebx, dword [ebp - 0xc]
mov dword [esi + 0xbc], ebx
mov eax, ebx
shr eax, 0x18
movzx eax, byte [eax + 0x4759e0]
mov dword [ebp - 4], eax
movzx eax, bl
movzx eax, byte [eax + 0x4759e0]
shl eax, 8
xor dword [ebp - 4], eax
mov eax, ebx
shr eax, 0x10
shl dword [ebp - 4], 8
movzx eax, al
movzx eax, byte [eax + 0x4759e0]
xor dword [ebp - 4], eax
mov eax, ebx
shr eax, 8
shl dword [ebp - 4], 8
movzx eax, al
movzx eax, byte [eax + 0x4759e0]
xor dword [ebp - 4], eax
mov eax, dword [ebp - 4]
xor eax, dword [ebp + 0x10]
xor eax, dword [0x477bf4]
mov dword [ebp - 4], eax
mov dword [esi + 0xc0], eax
xor eax, dword [ebp - 0x18]
mov dword [ebp + 0x10], eax
mov dword [esi + 0xc4], eax
xor eax, edx
mov edx, dword [ebp - 8]
xor edx, eax
mov dword [ebp - 0x18], eax
mov dword [esi + 0xc8], eax
mov eax, edx
shr eax, 0x18
mov dword [ebp - 8], edx
mov dword [esi + 0xcc], edx
movzx edx, byte [eax + 0x4759e0]
mov eax, dword [ebp - 8]
shr eax, 0x10
movzx eax, al
shl edx, 8
movzx eax, byte [eax + 0x4759e0]
xor edx, eax
mov eax, dword [ebp - 8]
shr eax, 8
movzx eax, al
shl edx, 8
movzx eax, byte [eax + 0x4759e0]
xor edx, eax
mov eax, dword [ebp - 8]
movzx eax, al
shl edx, 8
movzx eax, byte [eax + 0x4759e0]
xor edx, eax
xor edx, dword [ebp - 0x14]
mov dword [ebp - 0x14], edx
mov dword [esi + 0xd0], edx
xor edx, ecx
mov dword [ebp - 0x10], edx
mov dword [esi + 0xd4], edx
xor edx, edi
mov ecx, edx
mov dword [ebp - 0xc], edx
xor ecx, ebx
mov dword [esi + 0xd8], edx
mov eax, ecx
mov dword [ebp - 0x1c], ecx
shr eax, 0x18
mov dword [esi + 0xdc], ecx
movzx edx, byte [eax + 0x4759e0]
movzx eax, cl
movzx eax, byte [eax + 0x4759e0]
shl eax, 8
xor edx, eax
mov eax, ecx
shr eax, 0x10
movzx eax, al
shl edx, 8
movzx eax, byte [eax + 0x4759e0]
xor edx, eax
shl edx, 8
mov eax, ecx
shr eax, 8
movzx eax, al
movzx eax, byte [eax + 0x4759e0]
xor edx, eax
xor edx, dword [ebp - 4]
xor edx, dword [0x477bf8]
mov dword [esi + 0xe0], edx
xor edx, dword [ebp + 0x10]
mov dword [esi + 0xe4], edx
xor edx, dword [ebp - 0x18]
mov dword [esi + 0xe8], edx
xor edx, dword [ebp - 8]
mov eax, edx
mov dword [esi + 0xec], edx
shr eax, 0x18
movzx ecx, byte [eax + 0x4759e0]
mov eax, edx
shr eax, 0x10
movzx eax, al
shl ecx, 8
movzx eax, byte [eax + 0x4759e0]
xor ecx, eax
mov eax, edx
shr eax, 8
movzx eax, al
shl ecx, 8
movzx eax, byte [eax + 0x4759e0]
xor ecx, eax
movzx eax, dl
shl ecx, 8
movzx eax, byte [eax + 0x4759e0]
xor ecx, eax
mov eax, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x14]
mov dword [esi + 0xf0], ecx
xor ecx, dword [ebp - 0x10]
mov dword [esi + 0xf4], ecx
xor ecx, dword [ebp - 0xc]
xor eax, ecx
mov dword [esi + 0xf8], ecx
mov dword [esi + 0xfc], eax
xor eax, eax
pop esi
pop edi
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 + 0x4759e0]
movzx eax, byte [esi + 0x17]
shl edx, 8
movzx eax, byte [eax + 0x4759e0]
xor edx, eax
movzx eax, byte [esi + 0x16]
shl edx, 8
movzx eax, byte [eax + 0x4759e0]
xor edx, eax
movzx eax, byte [esi + 0x15]
shl edx, 8
movzx eax, byte [eax + 0x4759e0]
xor edx, eax
mov eax, dword [esi + 0x14]
xor edx, dword [esi]
xor edx, dword [0x477be0]
xor ecx, edx
mov dword [ebp - 0x1c], 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 [ebp + 0x10], eax
mov dword [esi + 0x2c], eax
movzx eax, al
movzx eax, byte [eax + 0x4759e0]
shl eax, 8
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
shr eax, 0x18
movzx eax, byte [eax + 0x4759e0]
xor dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
shl dword [ebp - 4], 8
shr eax, 0x10
movzx eax, al
movzx eax, byte [eax + 0x4759e0]
xor dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
shl dword [ebp - 4], 8
shr eax, 8
movzx eax, al
movzx eax, byte [eax + 0x4759e0]
xor dword [ebp - 4], eax
mov eax, dword [ebp - 4]
xor eax, dword [0x477be4]
xor eax, dword [ebp - 0x1c]
mov dword [ebp - 4], eax
mov dword [esi + 0x30], eax
xor eax, ecx
mov ecx, eax
mov dword [ebp - 0x1c], eax
xor ecx, edx
mov dword [esi + 0x34], eax
mov eax, dword [ebp + 0x10]
mov edx, ecx
xor edx, edi
mov dword [esi + 0x38], ecx
mov edi, edx
mov dword [esi + 0x3c], edx
xor edi, ebx
xor eax, edi
mov dword [esi + 0x40], edi
mov dword [ebp + 0x10], eax
mov dword [esi + 0x44], eax
shr eax, 0x18
movzx ebx, byte [eax + 0x4759e0]
mov eax, dword [ebp + 0x10]
movzx eax, al
movzx eax, byte [eax + 0x4759e0]
shl eax, 8
xor ebx, eax
mov eax, dword [ebp + 0x10]
shr eax, 0x10
movzx eax, al
shl ebx, 8
movzx eax, byte [eax + 0x4759e0]
xor ebx, eax
mov eax, dword [ebp + 0x10]
shr eax, 8
movzx eax, al
shl ebx, 8
movzx eax, byte [eax + 0x4759e0]
xor ebx, eax
xor ebx, dword [ebp - 4]
xor ebx, dword [0x477be8]
mov dword [ebp - 0x18], ebx
mov dword [esi + 0x48], ebx
xor ebx, dword [ebp - 0x1c]
mov eax, ebx
mov dword [esi + 0x4c], ebx
xor eax, ecx
mov ecx, eax
mov dword [ebp - 0x1c], eax
mov dword [esi + 0x50], eax
xor ecx, edx
mov eax, dword [ebp + 0x10]
mov edx, ecx
xor edx, edi
mov dword [esi + 0x54], ecx
xor eax, edx
mov dword [esi + 0x58], edx
mov dword [ebp + 0x10], eax
mov dword [esi + 0x5c], eax
shr eax, 0x18
movzx edi, byte [eax + 0x4759e0]
mov eax, dword [ebp + 0x10]
movzx eax, al
movzx eax, byte [eax + 0x4759e0]
shl eax, 8
xor edi, eax
mov eax, dword [ebp + 0x10]
shr eax, 0x10
movzx eax, al
shl edi, 8
movzx eax, byte [eax + 0x4759e0]
xor edi, eax
mov eax, dword [ebp + 0x10]
shr eax, 8
movzx eax, al
shl edi, 8
movzx eax, byte [eax + 0x4759e0]
xor edi, eax
xor edi, dword [ebp - 0x18]
xor edi, dword [0x477bec]
mov dword [ebp - 0x18], edi
mov dword [esi + 0x60], edi
xor edi, ebx
mov ebx, edi
mov dword [esi + 0x64], edi
xor ebx, dword [ebp - 0x1c]
mov eax, ebx
mov dword [esi + 0x68], ebx
xor eax, ecx
mov ecx, eax
mov dword [ebp - 0x1c], eax
mov dword [esi + 0x6c], eax
xor ecx, edx
mov eax, dword [ebp + 0x10]
xor eax, ecx
mov dword [esi + 0x70], ecx
mov dword [ebp + 0x10], eax
mov dword [esi + 0x74], eax
shr eax, 0x18
movzx edx, byte [eax + 0x4759e0]
mov eax, dword [ebp + 0x10]
movzx eax, al
movzx eax, byte [eax + 0x4759e0]
shl eax, 8
xor edx, eax
mov eax, dword [ebp + 0x10]
shl edx, 8
shr eax, 0x10
movzx eax, al
movzx eax, byte [eax + 0x4759e0]
xor edx, eax
mov eax, dword [ebp + 0x10]
shr eax, 8
movzx eax, al
shl edx, 8
movzx eax, byte [eax + 0x4759e0]
xor edx, eax
xor edx, dword [ebp - 0x18]
xor edx, dword [0x477bf0]
mov dword [ebp - 0x18], edx
mov dword [esi + 0x78], edx
xor edx, edi
mov edi, edx
mov dword [esi + 0x7c], edx
xor edi, ebx
mov ebx, edi
mov dword [esi + 0x80], edi
xor ebx, dword [ebp - 0x1c]
mov eax, ebx
mov dword [esi + 0x84], ebx
xor eax, ecx
mov ecx, dword [ebp + 0x10]
xor ecx, eax
mov dword [ebp - 0x1c], eax
mov dword [esi + 0x88], eax
mov eax, ecx
shr eax, 0x18
mov dword [ebp + 0x10], ecx
mov dword [esi + 0x8c], ecx
movzx ecx, byte [eax + 0x4759e0]
mov eax, dword [ebp + 0x10]
movzx eax, al
movzx eax, byte [eax + 0x4759e0]
shl eax, 8
xor ecx, eax
mov eax, dword [ebp + 0x10]
shr eax, 0x10
movzx eax, al
shl ecx, 8
movzx eax, byte [eax + 0x4759e0]
xor ecx, eax
mov eax, dword [ebp + 0x10]
shr eax, 8
movzx eax, al
shl ecx, 8
movzx eax, byte [eax + 0x4759e0]
xor ecx, eax
mov eax, dword [ebp + 0x10]
xor ecx, dword [ebp - 0x18]
xor ecx, dword [0x477bf4]
mov dword [ebp - 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 ebx, edi
mov dword [esi + 0x9c], edi
xor ebx, dword [ebp - 0x1c]
xor eax, ebx
mov dword [esi + 0xa0], ebx
mov dword [ebp + 0x10], eax
mov dword [esi + 0xa4], eax
shr eax, 0x18
movzx eax, byte [eax + 0x4759e0]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
movzx eax, al
movzx eax, byte [eax + 0x4759e0]
shl eax, 8
xor dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
shl dword [ebp - 4], 8
shr eax, 0x10
movzx eax, al
movzx eax, byte [eax + 0x4759e0]
xor dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
shl dword [ebp - 4], 8
shr eax, 8
movzx eax, al
movzx eax, byte [eax + 0x4759e0]
xor dword [ebp - 4], eax
mov eax, dword [ebp - 4]
xor eax, dword [ebp - 0x18]
xor eax, dword [0x477bf8]
mov dword [ebp - 4], eax
mov dword [esi + 0xa8], eax
xor eax, ecx
mov dword [ebp - 0x1c], eax
mov dword [esi + 0xac], eax
xor eax, edx
mov edx, eax
mov dword [ebp - 0x18], eax
mov dword [esi + 0xb0], eax
xor edx, edi
mov edi, edx
mov dword [esi + 0xb4], edx
xor edi, ebx
mov ebx, dword [ebp + 0x10]
xor ebx, edi
mov dword [esi + 0xb8], edi
mov eax, ebx
mov dword [esi + 0xbc], ebx
shr eax, 0x18
movzx ecx, byte [eax + 0x4759e0]
movzx eax, bl
movzx eax, byte [eax + 0x4759e0]
shl eax, 8
xor ecx, eax
mov eax, ebx
shr eax, 0x10
movzx eax, al
shl ecx, 8
movzx eax, byte [eax + 0x4759e0]
xor ecx, eax
mov eax, ebx
shr eax, 8
shl ecx, 8
movzx eax, al
movzx eax, byte [eax + 0x4759e0]
xor ecx, eax
xor ecx, dword [ebp - 4]
xor ecx, dword [0x477bfc]
mov dword [esi + 0xc0], ecx
xor ecx, dword [ebp - 0x1c]
mov dword [esi + 0xc4], ecx
xor ecx, dword [ebp - 0x18]
mov dword [esi + 0xc8], ecx
xor ecx, edx
mov dword [esi + 0xcc], ecx
xor ecx, edi
xor ebx, ecx
mov dword [esi + 0xd0], ecx
mov dword [esi + 0xd4], ebx
xor eax, eax
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, byte [esi + 0xf]
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
movzx edi, byte [eax + 0x4759e0]
movzx eax, byte [esi + 0xc]
movzx eax, byte [eax + 0x4759e0]
shl eax, 8
xor edi, eax
movzx eax, byte [esi + 0xe]
shl edi, 8
movzx eax, byte [eax + 0x4759e0]
xor edi, eax
movzx eax, byte [esi + 0xd]
shl edi, 8
movzx eax, byte [eax + 0x4759e0]
xor edi, eax
mov eax, dword [esi + 0xc]
xor edi, dword [esi]
xor edi, dword [0x477be0]
xor ecx, edi
mov dword [esi + 0x10], edi
xor edx, ecx
mov dword [esi + 0x14], ecx
xor eax, edx
mov dword [esi + 0x18], edx
mov dword [ebp + 0x10], eax
mov dword [esi + 0x1c], eax
shr eax, 0x18
movzx ebx, byte [eax + 0x4759e0]
mov eax, dword [ebp + 0x10]
movzx eax, al
movzx eax, byte [eax + 0x4759e0]
shl eax, 8
xor ebx, eax
mov eax, dword [ebp + 0x10]
shr eax, 0x10
movzx eax, al
shl ebx, 8
movzx eax, byte [eax + 0x4759e0]
xor ebx, eax
mov eax, dword [ebp + 0x10]
shr eax, 8
movzx eax, al
shl ebx, 8
movzx eax, byte [eax + 0x4759e0]
xor ebx, eax
mov eax, dword [ebp + 0x10]
xor ebx, edi
xor ebx, dword [0x477be4]
mov edi, ebx
mov dword [esi + 0x20], ebx
xor edi, ecx
mov ecx, edi
mov dword [esi + 0x24], edi
xor ecx, edx
xor eax, ecx
mov dword [esi + 0x28], ecx
mov dword [ebp + 0x10], eax
mov dword [esi + 0x2c], eax
shr eax, 0x18
movzx edx, byte [eax + 0x4759e0]
mov eax, dword [ebp + 0x10]
movzx eax, al
movzx eax, byte [eax + 0x4759e0]
shl eax, 8
xor edx, eax
mov eax, dword [ebp + 0x10]
shr eax, 0x10
movzx eax, al
shl edx, 8
movzx eax, byte [eax + 0x4759e0]
xor edx, eax
mov eax, dword [ebp + 0x10]
shr eax, 8
movzx eax, al
shl edx, 8
movzx eax, byte [eax + 0x4759e0]
xor edx, eax
xor edx, ebx
xor edx, dword [0x477be8]
mov dword [ebp - 0x1c], edx
mov ebx, dword [ebp + 0x10]
mov dword [esi + 0x30], edx
xor edx, edi
mov edi, edx
mov dword [esi + 0x34], edx
xor edi, ecx
xor ebx, edi
mov dword [esi + 0x38], edi
mov eax, ebx
mov dword [ebp + 0x10], ebx
shr eax, 0x18
mov dword [esi + 0x3c], ebx
movzx ecx, byte [eax + 0x4759e0]
movzx eax, bl
movzx eax, byte [eax + 0x4759e0]
shl eax, 8
xor ecx, eax
mov eax, ebx
shr eax, 0x10
movzx eax, al
shl ecx, 8
movzx eax, byte [eax + 0x4759e0]
xor ecx, eax
mov eax, ebx
shr eax, 8
movzx eax, al
shl ecx, 8
movzx eax, byte [eax + 0x4759e0]
xor ecx, eax
xor ecx, dword [ebp - 0x1c]
xor ecx, dword [0x477bec]
mov ebx, ecx
mov dword [esi + 0x40], ecx
xor ebx, edx
mov eax, ebx
mov dword [esi + 0x44], ebx
xor eax, edi
mov dword [ebp - 0x10], eax
mov dword [esi + 0x48], eax
xor eax, dword [ebp + 0x10]
mov dword [ebp + 0x10], eax
mov dword [esi + 0x4c], eax
shr eax, 0x18
movzx edx, byte [eax + 0x4759e0]
mov eax, dword [ebp + 0x10]
movzx eax, al
movzx eax, byte [eax + 0x4759e0]
shl eax, 8
xor edx, eax
mov eax, dword [ebp + 0x10]
shr eax, 0x10
movzx eax, al
shl edx, 8
movzx eax, byte [eax + 0x4759e0]
xor edx, eax
mov eax, dword [ebp + 0x10]
shr eax, 8
movzx eax, al
shl edx, 8
movzx eax, byte [eax + 0x4759e0]
xor edx, eax
mov eax, dword [ebp - 0x10]
xor edx, ecx
mov ecx, dword [ebp + 0x10]
xor edx, dword [0x477bf0]
xor ebx, edx
mov dword [esi + 0x50], edx
xor eax, ebx
mov dword [esi + 0x54], ebx
xor ecx, eax
mov dword [ebp - 0x10], eax
mov dword [esi + 0x58], eax
mov eax, ecx
shr eax, 0x18
mov dword [ebp + 0x10], ecx
mov dword [esi + 0x5c], ecx
movzx edi, byte [eax + 0x4759e0]
movzx eax, cl
movzx eax, byte [eax + 0x4759e0]
shl eax, 8
xor edi, eax
mov eax, ecx
shl edi, 8
shr eax, 0x10
movzx eax, al
movzx eax, byte [eax + 0x4759e0]
xor edi, eax
mov eax, ecx
shr eax, 8
movzx eax, al
shl edi, 8
movzx eax, byte [eax + 0x4759e0]
xor edi, eax
mov eax, dword [ebp + 0x10]
xor edi, dword [0x477bf4]
xor edi, edx
mov ecx, edi
mov dword [esi + 0x60], edi
xor ecx, ebx
mov edx, ecx
mov dword [esi + 0x64], ecx
xor edx, dword [ebp - 0x10]
xor eax, edx
mov dword [esi + 0x68], edx
mov dword [ebp + 0x10], eax
mov dword [esi + 0x6c], eax
movzx eax, al
movzx ebx, byte [eax + 0x4759e0]
mov eax, dword [ebp + 0x10]
shr eax, 0x18
shl ebx, 8
movzx eax, byte [eax + 0x4759e0]
xor ebx, eax
mov eax, dword [ebp + 0x10]
shr eax, 0x10
movzx eax, al
shl ebx, 8
movzx eax, byte [eax + 0x4759e0]
xor ebx, eax
mov eax, dword [ebp + 0x10]
shr eax, 8
movzx eax, al
shl ebx, 8
movzx eax, byte [eax + 0x4759e0]
xor ebx, eax
xor ebx, edi
xor ebx, dword [0x477bf8]
mov edi, ebx
mov dword [ebp - 0x1c], ebx
xor edi, ecx
mov dword [esi + 0x70], ebx
mov ecx, edi
mov dword [esi + 0x74], edi
xor ecx, edx
mov edx, ecx
mov dword [esi + 0x78], ecx
xor edx, dword [ebp + 0x10]
mov eax, edx
mov dword [esi + 0x7c], edx
shr eax, 0x18
movzx ebx, byte [eax + 0x4759e0]
movzx eax, dl
movzx eax, byte [eax + 0x4759e0]
shl eax, 8
xor ebx, eax
mov eax, edx
shr eax, 0x10
movzx eax, al
shl ebx, 8
movzx eax, byte [eax + 0x4759e0]
xor ebx, eax
mov eax, edx
shr eax, 8
movzx eax, al
shl ebx, 8
movzx eax, byte [eax + 0x4759e0]
xor ebx, eax
xor ebx, dword [ebp - 0x1c]
xor ebx, dword [0x477bfc]
mov dword [ebp + 0x10], ebx
mov dword [esi + 0x80], ebx
xor ebx, edi
mov edi, ebx
mov dword [esi + 0x84], ebx
xor edi, ecx
mov ecx, edi
mov dword [esi + 0x88], edi
xor ecx, edx
movzx eax, cl
mov dword [esi + 0x8c], ecx
movzx edx, byte [eax + 0x4759e0]
mov eax, ecx
shr eax, 0x18
shl edx, 8
movzx eax, byte [eax + 0x4759e0]
xor edx, eax
mov eax, ecx
shr eax, 0x10
movzx eax, al
shl edx, 8
movzx eax, byte [eax + 0x4759e0]
xor edx, eax
mov eax, ecx
shr eax, 8
movzx eax, al
shl edx, 8
movzx eax, byte [eax + 0x4759e0]
xor edx, eax
xor edx, dword [ebp + 0x10]
xor edx, dword [0x477c00]
mov dword [ebp - 0x1c], edx
mov dword [esi + 0x90], edx
xor edx, ebx
mov ebx, edx
mov dword [esi + 0x94], edx
xor ebx, edi
mov eax, ebx
mov dword [esi + 0x98], ebx
xor eax, ecx
mov dword [ebp + 0x10], eax
mov edi, eax
mov dword [esi + 0x9c], eax
movzx eax, al
movzx ecx, byte [eax + 0x4759e0]
mov eax, edi
shr eax, 0x18
shl ecx, 8
movzx eax, byte [eax + 0x4759e0]
xor ecx, eax
mov eax, edi
shr eax, 0x10
movzx eax, al
shl ecx, 8
movzx eax, byte [eax + 0x4759e0]
xor ecx, eax
mov eax, edi
shr eax, 8
shl ecx, 8
movzx eax, al
movzx eax, byte [eax + 0x4759e0]
xor ecx, eax
xor ecx, dword [0x477c04]
xor ecx, dword [ebp - 0x1c]
mov dword [esi + 0xa0], ecx
xor ecx, edx
mov dword [esi + 0xa4], ecx
xor ecx, ebx
mov dword [esi + 0xa8], ecx
xor ecx, edi
mov dword [esi + 0xac], ecx
pop esi
pop edi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret