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

Disassembly:
push 0xffffffffffffffff
push 0x84e3d3
mov eax, dword fs:[0]
push eax
sub esp, 0x308
mov eax, dword [0x8943b8]
xor eax, esp
mov dword [esp + 0x304], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x8943b8]
xor eax, esp
push eax
lea eax, [esp + 0x31c]
mov dword fs:[0], eax
mov eax, dword [esp + 0x32c]
mov ecx, dword [esp + 0x334]
mov edx, dword [esp + 0x338]
xor ebx, ebx
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x330]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
push eax
lea ecx, [esp + 0x4c]
mov dword [esp + 0x328], ebx
call fcn.0040f370
lea ecx, [esp + 0x20]
call fcn.004364d0
mov dword [esp + 0x24], eax
mov byte [eax + 0xf], 1
mov eax, dword [esp + 0x24]
mov dword [eax + 4], eax
mov eax, dword [esp + 0x24]
mov dword [eax], eax
mov eax, dword [esp + 0x24]
mov dword [eax + 8], eax
mov dword [esp + 0x28], ebx
mov esi, dword [esp + 0x33c]
mov eax, dword [esi + 0x10]
cmp eax, ebx
mov byte [esp + 0x324], 1
mov dword [esp + 0x18], ebx
jbe 0x4375be
mov edi, dword [esi + 0xc]
add eax, edi
cmp edi, eax
jbe 0x43754f
call fcn.0081ff70
mov eax, dword [esi + 0xc]
mov ecx, dword [esp + 0x18]
mov edx, dword [esi + 0x10]
add edi, ecx
add edx, eax
cmp edi, edx
ja 0x437565
cmp edi, eax
jae 0x43756a
call fcn.0081ff70
mov ecx, dword [esi + 0x10]
add ecx, dword [esi + 0xc]
mov ebp, edi
mov eax, edi
and eax, 7
shr ebp, 3
cmp edi, ecx
mov dword [esp + 0x2c], eax
jb 0x43758b
call fcn.0081ff70
mov eax, dword [esp + 0x2c]
mov ecx, dword [esi + 8]
cmp ecx, ebp
ja 0x437594
sub ebp, ecx
mov edx, dword [esi + 4]
mov ecx, dword [edx + ebp*4]
lea edx, [ecx + eax*2]
push edx
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x28]
call fcn.00436d80
mov ecx, dword [esp + 0x18]
mov eax, dword [esi + 0x10]
add ecx, 1
cmp ecx, eax
mov dword [esp + 0x18], ecx
jb 0x437541
mov edi, 0xf
mov dword [esp + 0x1b0], edi
mov dword [esp + 0x1ac], ebx
mov byte [esp + 0x19c], bl
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1cc], edi
mov dword [esp + 0x1c8], ebx
mov byte [esp + 0x1b8], bl
mov dword [esp + 0x1ec], edi
mov dword [esp + 0x1e8], ebx
mov byte [esp + 0x1d8], bl
mov dword [esp + 0x208], ebx
mov dword [esp + 0x20c], ebx
lea ecx, [esp + 0x48]
mov byte [esp + 0x324], 3
call fcn.0040f6a0
lea ecx, [esp + 0x1b4]
mov esi, eax
push ecx
lea ecx, [esp + 0x4c]
mov dword [esp + 0x80], esi
call fcn.0040f7a0
lea ecx, [esp + 0x48]
call fcn.0040f6a0
lea ecx, [esp + 0x48]
mov byte [esp + 0x1d0], al
call fcn.0040f6a0
lea edx, [esp + 0x1d4]
push edx
lea ecx, [esp + 0x4c]
mov word [esp + 0x1d6], ax
call fcn.0040f7a0
lea ecx, [esp + 0x48]
call fcn.0040f6a0
lea ecx, [esp + 0x48]
mov word [esp + 0x1f0], ax
call fcn.0040f6a0
lea ecx, [esp + 0x48]
mov byte [esp + 0x1f2], al
call fcn.0040f6a0
lea ecx, [esp + 0x48]
mov word [esp + 0x1f4], ax
call fcn.0040f6a0
lea ecx, [esp + 0x48]
mov byte [esp + 0x1fa], al
call fcn.0040f6a0
lea ecx, [esp + 0x48]
mov word [esp + 0x1f6], ax
call fcn.0040f6a0
lea ecx, [esp + 0x48]
mov byte [esp + 0x1fb], al
call fcn.0040f6a0
lea ecx, [esp + 0x48]
mov word [esp + 0x1f8], ax
call fcn.0040f6a0
lea ecx, [esp + 0x48]
mov byte [esp + 0x1fc], al
call fcn.0040f6a0
lea ecx, [esp + 0x48]
mov dword [esp + 0x200], eax
call fcn.0040f6a0
cmp dword [esp + 0x1c], ebx
mov word [esp + 0x204], ax
je 0x437b85
mov ebp, dword [esp + 0x24]
lea ecx, [esp + 0x80]
movzx eax, si
push ecx
lea edx, [esp + 0xec]
push edx
lea ecx, [esp + 0x28]
mov dword [esp + 0x88], eax
call fcn.004365b0
mov edi, eax
mov eax, dword [edi]
cmp eax, ebx
je 0x437757
lea ecx, [esp + 0x20]
cmp eax, ecx
je 0x43775c
call fcn.0081ff70
cmp dword [edi + 4], ebp
je 0x4379a2
mov edx, dword [esp + 0x78]
push esi
push edx
lea eax, [esp + 0x21c]
push 0x858834
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
push 0x897000
push 0x897004
lea ecx, [esp + 0x21c]
push ecx
lea edx, [esp + 0xfc]
push edx
mov ecx, 0x89ff08
call fcn.00405030
mov ebp, dword [esp + 0x1c]
push eax
mov ecx, ebp
call fcn.00417510
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 0x10]
add esi, eax
cmp eax, esi
jbe 0x4377c2
call fcn.0081ff70
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
lea edi, [esi - 1]
add ecx, eax
cmp edi, ecx
ja 0x4377d5
cmp edi, eax
jae 0x4377da
call fcn.0081ff70
mov eax, dword [esp + 0x1c]
mov edx, dword [eax + 0xc]
add edx, dword [eax + 0x10]
mov esi, edi
mov ebp, edi
shr esi, 2
and ebp, 3
cmp edi, edx
jb 0x4377fb
call fcn.0081ff70
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 8]
cmp ecx, esi
ja 0x437804
sub esi, ecx
mov eax, dword [eax + 4]
mov ecx, dword [eax + esi*4]
mov edx, dword [ecx + ebp*4]
push 0x858704
lea eax, [esp + 0x1b8]
push eax
lea ecx, [esp + 0x160]
push ecx
mov dword [esp + 0x218], edx
call fcn.004088b0
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x1a4]
mov byte [esp + 0x330], 4
call fcn.004087b0
mov ebp, 0x10
cmp dword [esp + 0x170], ebp
mov byte [esp + 0x324], 3
jb 0x43786f
mov edx, dword [esp + 0x15c]
push edx
call fcn.0081f6fa
add esp, 4
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x7c]
mov ecx, eax
add eax, 1
shl ecx, 4
mov dword [esp + 0x18], eax
lea eax, [esp + 0x1b4]
mov dword [esp + 0x210], ecx
push eax
lea ecx, [esp + 0xfc]
mov dword [esp + 0xf8], edx
call fcn.004367d0
mov ecx, dword [esp + 0xf4]
lea edx, [esp + 0xf8]
mov dword [esp + 0x84], ecx
push edx
lea ecx, [esp + 0x8c]
mov byte [esp + 0x328], 5
call fcn.004367d0
lea eax, [esp + 0x84]
push eax
lea ecx, [esp + 0x178]
push ecx
mov ecx, dword [esp + 0x38]
mov byte [esp + 0x32c], 6
call fcn.004371c0
cmp dword [esp + 0xc0], ebp
jb 0x437909
mov edx, dword [esp + 0xac]
push edx
call fcn.0081f6fa
add esp, 4
cmp dword [esp + 0xa0], ebp
mov esi, 0xf
mov dword [esp + 0xc0], esi
mov dword [esp + 0xbc], ebx
mov byte [esp + 0xac], bl
jb 0x43793c
mov eax, dword [esp + 0x8c]
push eax
call fcn.0081f6fa
add esp, 4
cmp dword [esp + 0x130], ebp
mov dword [esp + 0xa0], esi
mov dword [esp + 0x9c], ebx
mov byte [esp + 0x8c], bl
mov byte [esp + 0x324], 3
jb 0x437972
mov ecx, dword [esp + 0x11c]
push ecx
call fcn.0081f6fa
add esp, 4
cmp dword [esp + 0x110], ebp
mov dword [esp + 0x130], esi
mov dword [esp + 0x12c], ebx
mov byte [esp + 0x11c], bl
jb 0x4379a7
mov edx, dword [esp + 0xfc]
push edx
call fcn.0081f6fa
add esp, 4
jmp 0x4379a7
mov ebp, 0x10
lea ecx, [esp + 0x48]
call fcn.0040f8a0
mov esi, dword [esp + 0x18]
cmp esi, ebp
mov byte [esp + 0x17], al
je 0x4379c4
cmp al, bl
jne 0x437a92
cmp dword [esp + 0x1b0], ebp
mov eax, dword [esp + 0x19c]
jae 0x4379db
lea eax, [esp + 0x19c]
push ebx
push ebx
push 0x100
push 0x200
push 0x897020
push eax
lea eax, [esp + 0x44]
push eax
mov ecx, 0x89ff08
call fcn.004050a0
lea ecx, [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x20]
call fcn.00417510
cmp esi, ebx
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 4]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
jle 0x437a7c
mov ebp, esi
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
lea ecx, [esp + 0x38]
mov dword [esp + 0x180], edx
call fcn.00436370
lea ecx, [esp + 0x40]
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], edi
call fcn.00436370
mov esi, dword [esp + 0x40]
cmp esi, ebx
jne 0x437a5d
call fcn.0081ff70
mov edi, dword [esp + 0x44]
cmp edi, dword [esi + 4]
jne 0x437a6b
call fcn.0081ff70
sub ebp, 1
mov eax, dword [esp + 0x2c]
mov dword [edi + 0x64], eax
jne 0x437a23
mov ebp, 0x10
push ebx
push 0x871030
lea ecx, [esp + 0x1a0]
call fcn.00402200
mov dword [esp + 0x18], ebx
mov edi, 0xf
cmp dword [esp + 0x1ec], ebp
jb 0x437ab0
mov ecx, dword [esp + 0x1d8]
push ecx
call fcn.0081f6fa
add esp, 4
cmp dword [esp + 0x1cc], ebp
mov dword [esp + 0x1ec], edi
mov dword [esp + 0x1e8], ebx
mov byte [esp + 0x1d8], bl
jb 0x437ade
mov edx, dword [esp + 0x1b8]
push edx
call fcn.0081f6fa
add esp, 4
cmp byte [esp + 0x17], bl
jne 0x4375dc
cmp dword [esp + 0x1b0], 0x10
jb 0x437b02
mov eax, dword [esp + 0x19c]
push eax
call fcn.0081f6fa
add esp, 4
mov eax, dword [esp + 0x24]
push eax
lea ecx, [esp + 0x24]
push ecx
mov dword [esp + 0x1b8], edi
mov dword [esp + 0x1b4], ebx
mov byte [esp + 0x1a4], bl
mov edx, dword [eax]
mov esi, ecx
push edx
push esi
lea ecx, [esp + 0xf8]
push ecx
mov ecx, esi
mov byte [esp + 0x338], bl
call fcn.00436ef0
mov edx, dword [esp + 0x24]
push edx
call fcn.0081f6fa
add esp, 4
lea ecx, [esp + 0x48]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
call fcn.0040ffd0
mov ecx, dword [esp + 0x31c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x304]
xor ecx, esp
call fcn.0081fb35
add esp, 0x314
ret 0x14
lea ecx, [esp + 0x1b4]
push ecx
lea ecx, [esp + 0xfc]
mov dword [esp + 0xf8], esi
call fcn.004367d0
mov edx, dword [esp + 0xf4]
lea eax, [esp + 0xf8]
push eax
lea ecx, [esp + 0x8c]
mov byte [esp + 0x328], 7
mov dword [esp + 0x88], edx
call fcn.004367d0
lea ecx, [esp + 0x84]
push ecx
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x190]
push edx
mov byte [esp + 0x32c], 8
call fcn.004371c0
mov esi, 0x10
cmp dword [esp + 0xc0], esi
jb 0x437c09
mov eax, dword [esp + 0xac]
push eax
call fcn.0081f6fa
add esp, 4
cmp dword [esp + 0xa0], esi
mov dword [esp + 0xc0], edi
mov dword [esp + 0xbc], ebx
mov byte [esp + 0xac], bl
jb 0x437c37
mov ecx, dword [esp + 0x8c]
push ecx
call fcn.0081f6fa
add esp, 4
cmp dword [esp + 0x130], esi
mov dword [esp + 0xa0], edi
mov dword [esp + 0x9c], ebx
mov byte [esp + 0x8c], bl
mov byte [esp + 0x324], 3
jb 0x437c6d
mov edx, dword [esp + 0x11c]
push edx
call fcn.0081f6fa
add esp, 4
cmp dword [esp + 0x110], esi
mov dword [esp + 0x130], edi
mov dword [esp + 0x12c], ebx
mov byte [esp + 0x11c], bl
jb 0x437c9b
mov eax, dword [esp + 0xfc]
push eax
call fcn.0081f6fa
add esp, 4
lea ecx, [esp + 0x48]
call fcn.0040f8a0
mov byte [esp + 0x17], al
mov ebp, esi
jmp 0x437a97