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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x464dc3
mov eax, dword fs:[0]
push eax
sub esp, 0x2a0
mov eax, dword [0x47f4ac]
xor eax, esp
mov dword [esp + 0x298], eax
push ebx
push esi
push edi
mov eax, dword [0x47f4ac]
xor eax, esp
push eax
lea eax, [esp + 0x2b0]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
push 0x206
xor ebx, ebx
lea edx, [esp + 0xa2]
xor ecx, ecx
push ebx
push edx
mov dword [esp + 0x34], eax
mov word [esp + 0xa8], cx
call fcn.00476710
add esp, 0xc
lea eax, [esp + 0x9c]
push eax
push ebx
push ebx
push 0x23
push ebx
call dword [0x466310]
xor ecx, ecx
lea eax, [esp + 0x9c]
mov dword [esp + 0x94], 7
mov dword [esp + 0x90], ebx
mov word [esp + 0x80], cx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4377f2
sub eax, edx
sar eax, 1
push eax
lea eax, [esp + 0xa0]
lea esi, [esp + 0x84]
call fcn.00426f40
push 0x2d
mov eax, 0x46ac50
mov ecx, esi
mov dword [esp + 0x2bc], ebx
call fcn.00433350
mov edx, dword [0x47f000]
mov eax, dword [edx + 0xc]
mov ecx, 0x47f000
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
call eax
add eax, 0x10
mov dword [esp + 0x78], eax
mov byte [esp + 0x2b8], 1
cmp dword [esp + 0x94], 8
mov ecx, dword [esp + 0x80]
jae 0x43788c
mov ecx, esi
push ecx
mov edx, esp
mov dword [esp + 0x24], esp
push edx
call fcn.00426a70
lea ecx, [esp + 0x38]
call fcn.00428300
push ecx
mov eax, esp
mov dword [esp + 0x24], esp
push eax
mov ecx, 0x46acac
call fcn.00426a70
push ecx
mov ecx, esp
mov byte [esp + 0x2c0], 2
mov dword [esp + 0x2c], esp
push ecx
mov ecx, 0x46acb8
call fcn.00426a70
lea edi, [esp + 0x20]
lea esi, [esp + 0x3c]
mov byte [esp + 0x2c0], 1
call fcn.00428220
mov byte [esp + 0x2b8], 3
mov eax, dword [esp + 0x18]
cmp dword [eax - 0xc], ebx
jne 0x437911
add eax, 0xfffffff0
mov byte [esp + 0x2b8], 1
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jmp 0x437b5d
push eax
call fcn.00475fbe
mov esi, eax
add esp, 4
mov dword [esp + 0x20], esi
cmp esi, 1
jge 0x437946
mov byte [esp + 0x2b8], 1
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jmp 0x437b5d
lea edx, [esp + 0x10]
push edx
mov ecx, 0x468e28
call fcn.00426a70
lea eax, [esp + 0x14]
push eax
mov ecx, 0x468e28
mov byte [esp + 0x2bc], 4
call fcn.00426a70
mov byte [esp + 0x2b8], 5
mov dword [esp + 0x1c], ebx
cmp esi, ebx
jle 0x437af1
mov ebx, 0x46acac
shr ebx, 0x10
mov dword [esp + 0x30], ebx
jmp 0x437994
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x1c]
push ecx
push 0x46accc
lea edi, [esp + 0x1c]
call fcn.004264a0
mov edx, dword [0x47f000]
mov eax, dword [edx + 0xc]
add esp, 4
mov esi, esp
mov ecx, 0x47f000
mov dword [esp + 0x80], esp
mov dword [esp + 0x30], esi
call eax
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x2bc], 6
test ebx, ebx
jne 0x4379f5
mov ecx, 0x46acac
movzx edi, cx
call fcn.004265a0
test eax, eax
je 0x437a05
push eax
mov eax, edi
mov edi, esi
call fcn.00426750
jmp 0x437a05
push 0x46acac
push esi
mov ebx, 5
call fcn.00426980
mov byte [esp + 0x2bc], 7
mov eax, dword [esp + 0x18]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x34], esp
mov esi, esp
call fcn.00427ca0
add eax, 0x10
mov dword [esi], eax
lea edi, [esp + 0x2c]
lea esi, [esp + 0x3c]
mov byte [esp + 0x2c0], 5
call fcn.00428220
mov byte [esp + 0x2b8], 8
mov ecx, dword [eax]
mov esi, dword [esp + 0x10]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x437a95
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x437a87
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x437a87
call fcn.00427ca0
mov ebx, eax
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x437a7e
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [esp + 0x10], ebx
jmp 0x437a95
mov ebx, dword [ecx - 0xc]
push ecx
lea ecx, [esp + 0x14]
push ecx
call fcn.00426980
mov byte [esp + 0x2b8], 5
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x437abd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x10]
push ecx
call dword [fcn.0046632c]
test eax, eax
je 0x437ade
mov eax, dword [esp + 0x10]
test eax, eax
je 0x437ade
mov ecx, dword [esp + 0x28]
push eax
call fcn.004362a0
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x20]
jl 0x437990
mov byte [esp + 0x2b8], 4
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x437b19
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x2b8], 3
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437b41
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x2b8], 1
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437b69
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x2b8], 0
mov eax, dword [esp + 0x78]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437b91
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ebx, [esp + 0x64]
call fcn.004285d0
lea ebx, [esp + 0x54]
call fcn.004285d0
lea ebx, [esp + 0x44]
call fcn.004285d0
lea ebx, [esp + 0x34]
call fcn.004285d0
cmp dword [esp + 0x94], 8
jb 0x437bcf
mov ecx, dword [esp + 0x80]
push ecx
call fcn.004742ea
add esp, 4
mov ecx, dword [esp + 0x2b0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x298]
xor ecx, esp
call fcn.004742f5
mov esp, ebp
pop ebp
ret 4