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

Disassembly:
sub esp, 0x10
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov dword [esp + 0x14], edx
mov ecx, dword [esi + 0x6c]
call fcn.004221d0
mov ecx, dword [esi + 0x78]
mov dword [ecx + 0x2c], eax
mov ecx, dword [esi + 0x70]
call fcn.00421b30
mov edx, dword [esi + 0x78]
lea ebp, [esi + 0xc4c]
mov dword [edx + 0x38], eax
mov eax, dword [esi + 0x78]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 8]
mov dword [esp + 0x10], edx
mov ecx, dword [esi + 0xe8]
lea eax, [esp + 0x18]
push eax
push ecx
mov edx, ebp
mov ecx, esi
mov edi, 1
call fcn.00437ac0
cmp eax, 3
ja case.default.0x437d2f
jmp dword [eax*4 + 0x437f54]
mov dword [esi + 0x104], 0
jmp 0x437f23
mov edi, 2
mov eax, dword [esi + 0xec]
xor bl, bl
cmp eax, 0x32
jl 0x437d85
cmp edi, 1
jne 0x437d77
mov eax, dword [0x46ff5c]
lea edx, [esp + 0x18]
push edx
push eax
call fcn.004457d0
add esp, 8
test eax, eax
je 0x437dc6
mov bl, 1
jmp 0x437dcd
mov edx, dword [0x46ff54]
lea ecx, [esp + 0x18]
push ecx
push edx
jmp 0x437d67
mov ecx, 0x32
sub ecx, edi
cmp eax, ecx
jl 0x437dcd
cmp edi, 1
jne 0x437dae
mov eax, dword [str.___]
lea edx, [esp + 0x18]
push edx
push eax
call fcn.004457d0
add esp, 8
test eax, eax
je 0x437dcd
jmp 0x437dc6
mov edx, dword [0x46ff50]
lea ecx, [esp + 0x18]
push ecx
push edx
call fcn.004457d0
add esp, 8
test eax, eax
je 0x437dcd
mov ecx, esi
call fcn.00437c90
mov eax, dword [esi + 0xf0]
test eax, eax
je 0x437e22
mov eax, dword [esi + 0xec]
test eax, eax
jne 0x437e22
lea ecx, [esp + 0x18]
mov eax, 0x470400
mov dx, word [ecx]
cmp dx, word [eax]
jne 0x437e22
mov eax, dword [esi + 0xe8]
lea ecx, [esp + 0x18]
add eax, 2
push ecx
push eax
mov edx, ebp
mov ecx, esi
mov dword [esi + 0xe8], eax
call fcn.00437ac0
dec eax
je 0x437e1d
dec eax
jne 0x437e22
mov edi, 2
jmp 0x437e22
mov edi, 1
mov eax, dword [esi + 0xf0]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*8]
mov ecx, dword [esi + 0xec]
shl edx, 1
sub edx, eax
mov al, byte [esp + 0x18]
add edx, ecx
cmp edi, 2
mov byte [edx + esi + 0x144e], al
jne 0x437e6d
mov eax, dword [esi + 0xf0]
mov dl, byte [esp + 0x19]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*8]
shl ecx, 1
sub ecx, eax
mov eax, dword [esi + 0xec]
add ecx, eax
mov byte [ecx + esi + 0x144f], dl
mov eax, dword [esi + 0xf4]
mov ecx, dword [esi + 0x78]
add eax, 0x12
push 0xffffffffffffffff
mov dword [ecx + 0x30], eax
mov edx, dword [esi + 0xf8]
mov eax, dword [esi + 0x78]
add edx, 0x38
mov dword [eax + 0x34], edx
mov ecx, dword [esi + 0x78]
mov edx, dword [esi + 0xf4]
mov dword [ecx + 0x3c], edx
mov eax, dword [esi + 0x78]
mov ecx, dword [esi + 0xf8]
mov dword [eax + 0x40], ecx
mov edx, dword [esi + 0x78]
mov ecx, dword [esi + 0x68]
push edx
push edi
lea edx, [esp + 0x24]
call fcn.00404f90
cmp bl, 1
jne 0x437ec4
mov ecx, esi
call fcn.00437c90
jmp 0x437ef7
cmp edi, 1
jne 0x437edf
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0xf4]
sar eax, 1
add ecx, eax
mov dword [esi + 0xf4], ecx
jmp 0x437ef1
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 0xf4]
add eax, ecx
mov dword [esi + 0xf4], eax
add dword [esi + 0xec], edi
mov eax, dword [esi + 0xe8]
mov dword [esi + 0x104], 2
add eax, edi
mov dword [esi + 0xe8], eax
jmp 0x437f23
mov dword [esi + 0x104], edi
jmp 0x437f23
mov dword [esi + 0x104], 3
cmp dword [esp + 0x14], 1
jne 0x437f37
cmp dword [esi + 0x104], 2
je 0x437d0c
push 0x46ff68
lea ecx, [esi + 0x54]
call fcn.00411de0
mov eax, dword [esi + 0x104]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret