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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x1c0
mov esi, esp
push eax
mov dword [esi + 0xf4], esp
push eax
mov dword [esi + 0xb4], esp
push eax
mov dword [esi + 0xb8], esp
push eax
mov dword [esi + 0x1c], esp
call fcn.00409540
push eax
mov dword [esi + 0xb0], esp
jmp 0x437dd8
jmp 0x437dda
jmp 0x437ddc
lea eax, [esi + 0x120]
lea ecx, [0x445c1c]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x2c
call fcn.00408c40
add esp, 0xc
lea eax, [esi + 0x120]
mov dword [esi + 0xc4], eax
mov eax, dword [esi + 0xc4]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0xc4]
add eax, 0x2c
mov dword [esi + 0xfc], eax
mov eax, dword [esi + 0x10]
cmp eax, dword [esi + 0xfc]
jne 0x437e3d
mov dword [esi + 4], 2
jmp 0x438102
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov dword [esi + 0xf8], eax
mov al, byte [esi + 0x24]
mov byte [esi + 0x28], al
mov byte [esi + 0xd0], 0x1c
mov byte [esi + 0xd1], 0xcd
mov byte [esi + 0xd2], 0xf2
mov byte [esi + 0xd3], 0xf3
mov eax, 4
mov byte [esi + eax + 0xd0], 0
add eax, 1
cmp eax, 0xb
jne 0x437e6f
xor edi, edi
cmp edi, 0xb
jae 0x437ed9
mov bl, byte [esi + edi + 0xd0]
call fcn.00409540
call fcn.00409540
mov dword [esi + 0x104], edi
mov byte [esi + 0xb], bl
movzx eax, byte [esi + 0xb]
mov ecx, dword [esi + 0x104]
mov edx, ecx
add edx, 0x1179e
and edx, eax
add edx, edx
lea eax, [ecx + eax + 0x1179e]
sub eax, edx
mov dword [esi + 0x100], eax
mov eax, dword [esi + 0x100]
add al, 0xae
mov byte [esi + edi + 0xd0], al
add edi, 1
jmp 0x437e81
call fcn.00409540
call fcn.00409540
call fcn.00409540
call fcn.00409540
mov edi, dword [esi + 0xd0]
call fcn.00409540
call fcn.00409540
call fcn.00409540
call fcn.00409540
mov eax, dword fs:[edi]
mov dword [esi + 0xc0], eax
mov eax, dword [esi + 0xc0]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0xc0]
mov ecx, dword [ecx + 0xc]
add ecx, 0xc
cmp eax, ecx
jne 0x437f3e
mov dword [esi + 4], 4
jmp 0x4380cc
mov eax, dword [esi + 0xc]
mov dword [esi + 0xbc], eax
mov eax, dword [esi + 0xbc]
mov ecx, dword [eax + 0x30]
xor eax, eax
cmp ecx, 0
je 0x438097
mov al, byte [esi + 0x20]
mov byte [esi + 0x2c], al
mov dword [esi + 0x14], 0x18d40b1a
movzx eax, byte [esi + 0x14]
add eax, 0x1d
xor eax, 0xbb
mov byte [esi + 0x110], al
movzx eax, byte [esi + 0x15]
add eax, 0x1d
xor eax, 0xbc
mov byte [esi + 0x111], al
movzx eax, byte [esi + 0x16]
add eax, 0x1d
xor eax, 0xbd
mov byte [esi + 0x112], al
movzx eax, byte [esi + 0x17]
add eax, 0x1d
xor eax, 0xbe
mov byte [esi + 0x113], al
mov eax, 4
mov byte [esi + eax + 0x110], 0
add eax, 1
cmp eax, 0xa
jne 0x437fb5
lea eax, [esi + 0x110]
mov dword [esi + 0xc8], eax
xor eax, eax
mov dword [esi + 0x34], eax
mov edx, dword [esi + 0x34]
cmp edx, 0xa
jae 0x43806b
mov eax, dword [esi + 0xc8]
movzx ecx, byte [eax + edx]
mov edi, edx
xor edi, 0x64c624d4
and edx, 0x1b39db2b
add edx, edx
sub edx, edi
mov edi, edx
and edi, 0x3c628cbb
xor edx, 0x3c628cbb
lea ebx, [edx + edi*2]
lea edx, [edx + edi*2 + 0xd4]
and edx, ecx
add edx, edx
sub ebx, edx
lea ecx, [ebx + ecx + 0x64c624d4]
mov dword [esi + 0x108], ecx
mov ecx, dword [esi + 0x108]
mov edx, ecx
and edx, 0x530865a0
xor edx, 0x530865a0
and ecx, 0xacf79a5f
sub ecx, edx
add ecx, 0xf9192561
mov edx, ecx
xor edx, 0x60
shl ecx, 1
and ecx, 0x3e
sub ecx, edx
add cl, 0x82
mov edx, dword [esi + 0x34]
mov byte [eax + edx], cl
mov eax, dword [esi + 0x34]
add eax, 1
jmp 0x437fd3
mov eax, dword [esi + 0xc8]
mov eax, dword [eax]
mov ecx, dword [esi + 0xbc]
mov ecx, dword [ecx + 0x30]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004385f0
add esp, 8
cmp eax, dword [esi + 0xf8]
sete al
test al, 1
jne 0x43809d
jmp 0x4380aa
mov byte [esi + 0xa], 1
mov dword [esi + 4], 1
jmp 0x4380b1
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
jmp 0x4380b6
cmp eax, 0
jne 0x4380ca
jmp 0x4380bd
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov dword [esi + 0xc], eax
jmp 0x437f1f
jmp 0x4380cc
cmp dword [esi + 4], 4
jne 0x4380db
mov dword [esi + 4], 0
jmp 0x4380db
mov eax, dword [esi + 4]
cmp eax, 0
jne 0x4380ea
mov dword [esi + 4], 0
cmp dword [esi + 4], 0
jne 0x438100
jmp 0x4380f2
mov eax, dword [esi + 0x10]
add eax, 4
mov dword [esi + 0x10], eax
jmp 0x437e26
jmp 0x438102
cmp dword [esi + 4], 2
jne 0x4385cf
mov eax, dword [esi + 0xf4]
mov al, byte [eax]
mov byte [esi + 0x30], al
mov byte [esi + 0x38], 0xe9
mov byte [esi + 0x39], 0xcd
mov byte [esi + 0x3a], 0x87
mov byte [esi + 0x3b], 0xf3
mov byte [esi + 0x3c], 0x67
mov byte [esi + 0x3d], 0xf1
mov byte [esi + 0x3e], 0x93
mov byte [esi + 0x3f], 0xf7
mov byte [esi + 0x40], 0x62
mov byte [esi + 0x41], 0xf5
mov byte [esi + 0x42], 0x8a
mov byte [esi + 0x43], 0xfb
mov byte [esi + 0x44], 0x6e
mov byte [esi + 0x45], 0xf9
mov byte [esi + 0x46], 0x6d
mov byte [esi + 0x47], 0xff
mov byte [esi + 0x48], 0x96
mov byte [esi + 0x49], 0xfd
mov byte [esi + 0x4a], 0x8b
mov byte [esi + 0x4b], 0xe3
mov byte [esi + 0x4c], 0x8c
mov byte [esi + 0x4d], 0xe1
mov byte [esi + 0x4e], 0x83
mov byte [esi + 0x4f], 0xe7
mov byte [esi + 0x50], 0xc1
mov byte [esi + 0x51], 0xe5
mov byte [esi + 0x52], 0x96
mov byte [esi + 0x53], 0xeb
mov byte [esi + 0x54], 0xac
mov byte [esi + 0x55], 0xe9
mov byte [esi + 0x56], 0x7d
mov byte [esi + 0x57], 0xef
mov byte [esi + 0x58], 0x8b
mov byte [esi + 0x59], 0xed
mov byte [esi + 0x5a], 0x87
mov byte [esi + 0x5b], 0x13
mov byte [esi + 0x5c], 0x7d
mov byte [esi + 0x5d], 0x11
mov byte [esi + 0x5e], 0x73
mov byte [esi + 0x5f], 0x17
mov byte [esi + 0x60], 0x86
mov byte [esi + 0x61], 0x15
mov byte [esi + 0x62], 0x8e
mov byte [esi + 0x63], 0x1b
mov byte [esi + 0x64], 0x8f
mov byte [esi + 0x65], 0x19
mov byte [esi + 0x66], 0x62
mov byte [esi + 0x67], 0x1f
mov byte [esi + 0x68], 0x6f
mov byte [esi + 0x69], 0x1d
mov byte [esi + 0x6a], 0x97
mov byte [esi + 0x6b], 3
mov byte [esi + 0x6c], 0x94
mov byte [esi + 0x6d], 1
mov byte [esi + 0x6e], 0x6a
mov byte [esi + 0x6f], 7
mov byte [esi + 0x70], 0x97
mov byte [esi + 0x71], 5
mov byte [esi + 0x72], 0x99
mov byte [esi + 0x73], 0xb
mov byte [esi + 0x74], 0x67
mov byte [esi + 0x75], 9
mov byte [esi + 0x76], 0x2e
mov byte [esi + 0x77], 0xf
mov byte [esi + 0x78], 0x46
mov byte [esi + 0x79], 0xd
mov byte [esi + 0x7a], 0x5b
mov byte [esi + 0x7b], 0x33
mov byte [esi + 0x7c], 0x5c
mov byte [esi + 0x7d], 0x31
mov byte [esi + 0x7e], 0x53
mov byte [esi + 0x7f], 0x37
mov byte [esi + 0x80], 0xa3
mov byte [esi + 0x81], 0x35
mov byte [esi + 0x82], 0x46
mov byte [esi + 0x83], 0x3b
mov byte [esi + 0x84], 0x50
mov byte [esi + 0x85], 0x39
mov byte [esi + 0x86], 0xad
mov byte [esi + 0x87], 0x3f
mov byte [esi + 0x88], 0xae
mov byte [esi + 0x89], 0x3d
mov byte [esi + 0x8a], 0x47
mov byte [esi + 0x8b], 0x23
mov byte [esi + 0x8c], 0xb9
mov byte [esi + 0x8d], 0x21
mov byte [esi + 0x8e], 0x66
mov byte [esi + 0x8f], 0x27
mov byte [esi + 0x90], 0xb4
mov byte [esi + 0x91], 0x25
mov byte [esi + 0x92], 0xb9
mov byte [esi + 0x93], 0x2b
mov byte [esi + 0x94], 0xbc
mov byte [esi + 0x95], 0x29
mov byte [esi + 0x96], 0x7c
mov byte [esi + 0x97], 0x2f
mov byte [esi + 0x98], 0x4b
mov byte [esi + 0x99], 0x2d
mov byte [esi + 0x9a], 0xc1
mov byte [esi + 0x9b], 0x53
mov byte [esi + 0x9c], 0x3d
mov byte [esi + 0x9d], 0x51
mov byte [esi + 0x9e], 4
mov byte [esi + 0x9f], 0x57
mov byte [esi + 0xa0], 0xc4
mov byte [esi + 0xa1], 0x55
mov byte [esi + 0xa2], 0xcd
mov byte [esi + 0xa3], 0x5b
mov byte [esi + 0xa4], 0xcc
mov byte [esi + 0xa5], 0x59
mov byte [esi + 0xa6], 0x5e
mov byte [esi + 0xa7], 0x5f
mov eax, 0x70
mov byte [esi + eax + 0x38], 0
add eax, 1
cmp eax, 0x78
jne 0x438354
lea eax, [esi + 0x38]
mov dword [esi + 0xcc], eax
mov dword [esi + 0x18], 0
cmp dword [esi + 0x18], 0x78
jae 0x438451
call fcn.00409540
call fcn.00409540
mov ecx, dword [esi + 0x18]
mov dword [esi + 0xec], ecx
mov eax, ecx
not eax
mov edx, dword [esi + 0xcc]
mov dword [esi + 0xf0], edx
movzx edi, byte [edx + ecx]
and eax, 0x75ec4ca2
and ecx, 0x8a13b35d
sub ecx, eax
mov dword [esi + 0xe8], ecx
mov eax, edi
and eax, 0xfffffffd
mov ecx, edi
and ecx, 2
mov ebx, ecx
xor ebx, 2
imul ebx, eax
mov edx, edi
or edx, 2
imul edx, ecx
add edx, ebx
not edx
add edx, edi
mov eax, edx
xor eax, 0x15bb5731
or edx, 0xea44a8ce
and edx, eax
and edi, 0x31
mov ebx, edi
mov edi, dword [esi + 0xe8]
mov ecx, edi
not ecx
mov eax, ecx
and eax, 0xea44a8ce
or ecx, 0x15bb5731
lea ecx, [edi + ecx + 1]
mov dword [esi + 0xe4], ecx
mov edi, ebx
mov ecx, ebx
and edi, edx
mov ebx, edi
add ebx, ebx
not ebx
add edi, ebx
add edx, ecx
lea edx, [edx + edi + 1]
or eax, dword [esi + 0xe4]
xor edx, eax
mov dword [esi + 0x10c], edx
mov eax, dword [esi + 0x10c]
add al, 0x6e
mov ecx, dword [esi + 0xf0]
mov edx, dword [esi + 0xec]
mov byte [ecx + edx], al
mov eax, dword [esi + 0x18]
add eax, 1
mov dword [esi + 0x18], eax
jmp 0x438371
mov edx, dword [esi + 0xcc]
lea eax, [esi + 0x14c]
mov ecx, 0x1c
mov ebx, edx
mov edi, eax
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
add edx, 0x70
add eax, 0x70
mov edi, eax
xor ecx, ecx
mov ebx, edx
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
xor ecx, ecx
cmp ecx, 0
je 0x43849d
add ecx, 0xffffffff
mov edi, edx
add edi, 1
mov dl, byte [edx]
mov ebx, eax
add ebx, 1
mov byte [eax], dl
mov eax, ebx
mov edx, edi
jmp 0x438481
mov eax, dword [0x44ed8c]
lea ecx, [esi + 0x14c]
xor edx, edx
sub esp, 0x18
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x37
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov edi, dword [esi + 0xb4]
mov dword [esp + 0x14], edi
call eax
mov eax, dword [edi]
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x4384f4
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.00408c10
add esp, 4
mov edi, dword [esi + 0xb8]
mov dword [edi], eax
mov eax, dword [0x44ed8c]
mov dword [esi + 0xe0], eax
mov eax, dword [esi + 0xb4]
mov ecx, dword [eax]
mov edx, dword [edi]
xor ebx, ebx
sub esp, 0x18
mov dword [esp], 0
lea ebx, [esi + 0x14c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x37
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call dword [esi + 0xe0]
mov eax, dword [esi + 0x1c]
mov byte [eax], 0
mov eax, dword [edi]
sub esp, 8
mov dword [esp], eax
mov eax, dword [esi + 0xb0]
mov dword [esp + 4], eax
call fcn.00441e10
add esp, 8
cmp eax, 0
setge al
test al, 1
jne 0x43857b
jmp 0x438593
mov eax, dword [esi + 0xb0]
mov eax, dword [eax]
and eax, 0x80
cmp eax, 0
je 0x438593
mov eax, dword [esi + 0x1c]
mov byte [eax], 1
mov eax, dword [esi + 0xb8]
mov eax, dword [eax]
cmp eax, 0
sete cl
test cl, 1
jne 0x4385ba
jmp 0x4385a8
sub esp, 4
mov dword [esp], eax
call fcn.00408c20
add esp, 4
jmp 0x4385b8
jmp 0x4385ba
mov eax, dword [esi + 0x1c]
mov al, byte [eax]
and al, 1
mov byte [esi + 0xa], al
mov dword [esi + 4], 1
jmp 0x4385cd
jmp 0x4385cf
mov al, byte [esi + 0xa]
jmp 0x4385d4
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret