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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x40]
cmp eax, dword [ecx + 8]
jbe 0x638118
sub esp, 0xc0
mov eax, 0
mov dword [esp + 0xbc], eax
mov byte [esp + 0x23], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov eax, dword [esp + 0xc4]
movzx ecx, byte [eax + 0x6c]
test cl, cl
jne 0x63778d
mov ecx, dword [eax + 0x74]
test ecx, ecx
jge 0x6377ae
mov eax, dword [0x8c1170]
mov ecx, dword [0x8c1174]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], ecx
add esp, 0xc0
ret
mov eax, dword [esp + 0xc8]
mov dword [esp], eax
call fcn.0063d7a0
movzx eax, byte [esp + 4]
test al, al
jne 0x637923
mov eax, dword [esp + 0xc8]
mov dword [esp], eax
call fcn.00641020
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
call fcn.0046b400
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
lea eax, [0x638130]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x48], eax
lea ecx, [esp + 0x44]
mov dword [esp + 0xbc], ecx
mov byte [esp + 0x23], 1
mov ecx, dword [esp + 0xc8]
mov edx, dword [ecx]
test edx, edx
jne 0x63782e
xor edx, edx
jmp 0x637862
mov edx, dword [eax + 0x18]
lea ebp, [0x68f280]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0040e7c0
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
test eax, eax
setne al
mov ecx, dword [esp + 0xc8]
mov edx, eax
mov eax, dword [esp + 0xc4]
test dl, dl
jne 0x6378f6
lea esi, [ecx + 0xc]
lea edi, [esp + 0x84]
call fcn.004648fa
lea edi, [esp + 0xa0]
xor eax, eax
call fcn.00464429
mov ecx, dword [esp + 0xc4]
mov edx, dword [ecx + 0x10]
lea ebx, [0x68f840]
mov dword [esp], ebx
mov dword [esp + 4], edx
lea edx, [esp + 0x84]
mov dword [esp + 8], edx
call fcn.0040cd80
movzx ecx, byte [esp + 0x10]
mov byte [esp + 0x21], cl
mov esi, dword [esp + 0xc]
lea edi, [esp + 0xa0]
call fcn.004648fa
lea edi, [esp + 0x68]
lea esi, [esp + 0xa0]
call fcn.004648fa
movzx ecx, byte [esp + 0x21]
test cl, cl
je 0x637944
mov edx, dword [esp + 0xc8]
mov ebx, dword [edx]
test ebx, ebx
jne 0x638050
jmp 0x637e64
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0xbc]
mov eax, dword [edx]
call eax
add esp, 0xc0
ret
mov eax, dword [0x8c1160]
mov ecx, dword [0x8c1164]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], ecx
add esp, 0xc0
ret
mov eax, dword [esp + 0xc4]
movzx ecx, byte [eax + 8]
test cl, cl
jne 0x637a1a
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x63798f
call fcn.0040c7e0
mov eax, dword [0x8e7a50]
mov ecx, dword [esp]
test eax, eax
jne 0x63797c
mov eax, dword [esp + 0xc4]
mov dword [eax + 0xc], ecx
jmp 0x63798f
mov edx, dword [esp + 0xc4]
lea edi, [edx + 0xc]
mov eax, ecx
call fcn.00464190
mov eax, edx
mov ecx, dword [eax + 0xc]
lea edx, [0x68f7c0]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ecx, [esp + 0x84]
mov dword [esp + 8], ecx
call fcn.0040cbb0
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov ebx, dword [esp + 0xc4]
mov ebp, dword [ebx + 0x74]
test ebp, ebp
jne 0x6379ce
mov ebp, 2
cmp ebp, edx
jle 0x6379e9
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x38], ecx
mov ebp, dword [esp + 0xc8]
xor esi, esi
jmp 0x637a4e
mov eax, dword [0x8c11d8]
mov ecx, dword [0x8c11dc]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], ecx
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0xbc]
mov eax, dword [edx]
call eax
add esp, 0xc0
ret
mov eax, dword [0x8c1150]
mov ecx, dword [0x8c1154]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], ecx
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0xbc]
mov eax, dword [edx]
call eax
add esp, 0xc0
ret
inc esi
mov ebx, edi
cmp esi, edx
jge 0x637acb
mov edi, ebx
lea ebx, [ecx + esi*4]
cmp dword [ebx], ebp
jne 0x637a4b
mov dword [esp + 0x34], esi
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
lea eax, [0x6bf7a0]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ebp
lea ecx, [0x6d205a]
mov dword [esp], ecx
mov dword [esp + 4], 0x1d
lea edx, [esp + 0x4c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.005edfe0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x28]
mov ebp, dword [esp + 0xc8]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0xc4]
jmp 0x637a4b
inc edx
cmp eax, edx
jae 0x637b0c
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x6bf7a0]
mov dword [esp + 0x10], eax
call fcn.0044af60
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0xc4]
mov ebp, dword [esp + 0xc8]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], eax
mov esi, dword [0x8e7a50]
lea edi, [ecx + edx*4 - 4]
test esi, esi
jne 0x637b2c
mov dword [ecx + edx*4 - 4], ebp
jmp 0x637b33
mov eax, ebp
call fcn.00464190
mov eax, dword [ebx + 0xc]
lea ecx, [0x68f7c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [esp + 0x84]
mov dword [esp + 8], eax
call fcn.0040d100
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x34]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x30]
mov dword [edi + 8], eax
mov eax, dword [0x8e7a50]
test eax, eax
jne 0x637b77
mov eax, dword [esp + 0x40]
mov dword [edi], eax
jmp 0x637b80
mov eax, dword [esp + 0x40]
call fcn.00464190
mov eax, dword [esp + 0xc4]
lea ecx, [eax + 0x14]
mov dword [esp], ecx
mov ecx, dword [esp + 0xc8]
mov dword [esp + 4], ecx
call fcn.00641ae0
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax + 0x70]
test ecx, ecx
je 0x637cd7
mov edx, dword [eax + 0x18]
test edx, edx
je 0x637bba
mov edx, dword [edx]
jmp 0x637bbc
xor edx, edx
cmp edx, ecx
jle 0x637cd7
mov ecx, dword [eax + 0x14]
nop
mov edx, dword [ecx + 0x14]
test edx, edx
jne 0x637bd3
xor edx, edx
jmp 0x637bd6
mov edx, dword [ecx + 4]
mov ebx, dword [edx + 0x10]
mov ebp, dword [edx + 0xc]
lea esi, [0x6bf7a0]
cmp ebp, esi
jne 0x637e47
nop
cmp dword [edx + 8], ecx
jne 0x637c7a
mov edi, dword [edx + 4]
test byte [edi], al
mov ebp, dword [0x8e7a50]
mov esi, dword [edx]
test ebp, ebp
jne 0x637c09
mov dword [edi], esi
jmp 0x637c14
mov ebp, eax
mov eax, esi
call fcn.00464190
mov eax, ebp
mov ebp, dword [edx]
test byte [ebp], al
mov esi, dword [0x8e7a50]
mov edi, ebx
mov ebx, dword [edx + 4]
test esi, esi
jne 0x637c41
mov dword [ebp + 4], ebx
mov dword [edx], 0
mov dword [edx + 4], 0
mov dword [edx + 8], 0
jmp 0x637c75
add ebp, 4
mov esi, edi
mov edi, ebp
mov eax, ebx
call fcn.00464190
mov edi, edx
xor eax, eax
call fcn.00464190
lea ebx, [edx + 4]
mov edi, ebx
call fcn.00464190
lea edi, [edx + 8]
xor eax, eax
call fcn.00464190
mov eax, dword [esp + 0xc4]
mov edi, esi
dec dword [ecx + 0x14]
jmp 0x637c7c
mov edi, ebx
mov dword [esp + 0x3c], edi
mov edx, dword [eax + 0x18]
lea ebx, [0x68f280]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], edi
call fcn.0040f060
mov eax, dword [0x8c11d0]
mov ecx, dword [0x8c11d4]
mov edx, dword [esp + 0x3c]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00641070
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
mov ecx, dword [esp + 0x3c]
mov dword [esp + 4], ecx
call fcn.006389c0
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax + 0x7c]
test ecx, ecx
seta dl
mov ebx, dword [eax + 0x80]
test ebx, ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg esi, ebx
setg bl
xchg esi, ebx
and ebp, edx
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
je 0x637dc9
mov edx, dword [esp + 0xc8]
mov ebp, dword [edx]
test ebp, ebp
jne 0x637dd0
mov ebp, dword [edx + 0x78]
test ebp, ebp
je 0x637d37
mov dword [esp], ebp
mov dword [esp + 8], ebx
mov dword [esp + 4], ecx
call fcn.004b70f0
mov eax, dword [esp + 0xc8]
jmp 0x637dd0
lea eax, [0x696760]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
lea ecx, [0x6494b0]
mov dword [eax], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x637d67
mov ecx, dword [esp + 0xc8]
mov dword [eax + 4], ecx
jmp 0x637d7a
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xc8]
call fcn.00464190
mov eax, ecx
mov ecx, dword [esp + 0xc4]
mov edx, dword [ecx + 0x7c]
mov ecx, dword [ecx + 0x80]
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 8], eax
call fcn.004b71e0
mov eax, dword [0x8e7a50]
mov ecx, dword [esp + 0xc]
test eax, eax
jne 0x637db4
mov eax, dword [esp + 0xc8]
mov dword [eax + 0x78], ecx
jmp 0x637dd0
mov edx, dword [esp + 0xc8]
lea edi, [edx + 0x78]
mov eax, ecx
call fcn.00464190
mov eax, edx
jmp 0x637dd0
mov edx, dword [esp + 0xc8]
call fcn.004b9310
lea edi, [esp + 0x54]
lea esi, [esp]
call fcn.0046490e
mov eax, dword [esp + 0xc8]
lea edi, [eax + 0x64]
mov eax, dword [0x8e7a50]
test eax, eax
jne 0x637e00
lea esi, [esp + 0x54]
call fcn.0046490e
jmp 0x637e1a
lea eax, [0x6c5c00]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x54]
mov dword [esp + 8], eax
call fcn.00411360
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0xbc]
mov eax, dword [edx]
call eax
add esp, 0xc0
ret
mov dword [esp], ebp
mov dword [esp + 4], esi
lea eax, [0x68d780]
mov dword [esp + 8], eax
call fcn.00409290
mov edx, dword [esp + 0xc8]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x68]
mov esi, dword [esp + 0x70]
mov dword [esp + 0x34], esi
mov eax, edx
mov edx, dword [esp + 0x74]
mov ecx, ebx
sub ebx, edx
mov edi, ebp
mov ebp, dword [esp + 0x7c]
add ebx, ebp
mov esi, dword [esp + 0x80]
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x78]
test ebx, ebx
jle 0x637f4e
mov dword [esp + 0x24], ebx
cmp ecx, edx
jg 0x637edc
test ebp, ebp
jne 0x637ead
xor ecx, ecx
jmp 0x637f18
mov dword [esp + 0x6c], ebp
mov edx, dword [esp + 0x30]
mov dword [esp + 0x70], edx
mov dword [esp + 0x68], esi
mov dword [esp + 0x74], 0
mov dword [esp + 0x7c], 0
mov edx, dword [esp + 0x34]
mov dword [esp + 0x80], edx
mov dword [esp + 0x78], edi
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x74]
cmp ecx, ebp
jbe 0x638024
mov ecx, dword [edx + ebp*4]
lea edi, [edx + ebp*4]
mov esi, dword [0x8e7a50]
test esi, esi
jne 0x637f09
mov dword [edx + ebp*4], 0
jmp 0x637f14
mov edx, eax
xor eax, eax
call fcn.00464190
mov eax, edx
inc dword [esp + 0x74]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call fcn.00639110
movzx eax, byte [esp + 0x10]
test al, al
je 0x637e5d
mov eax, dword [esp + 0x24]
test eax, eax
mov eax, dword [esp + 0xc8]
setg cl
mov byte [esp + 0x22], cl
mov edx, dword [esp + 0x6c]
sub edx, dword [esp + 0x74]
add edx, dword [esp + 0x7c]
test edx, edx
jne 0x637f8e
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax + 0x10]
lea edx, [0x68f840]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ecx, [esp + 0x84]
mov dword [esp + 8], ecx
call fcn.0040d5e0
jmp 0x637fea
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax + 0x10]
lea edx, [0x68f840]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ecx, [esp + 0x84]
mov dword [esp + 8], ecx
call fcn.0040d100
mov edi, dword [esp + 0xc]
test byte [edi], al
mov eax, dword [0x8e7a50]
test eax, eax
jne 0x637fd0
lea esi, [esp + 0x68]
call fcn.004648fa
jmp 0x637fea
lea eax, [0x6a6e20]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x68]
mov dword [esp + 8], eax
call fcn.00411360
movzx eax, byte [esp + 0x22]
test al, al
je 0x637944
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0xbc]
mov eax, dword [edx]
call eax
add esp, 0xc0
ret
mov eax, ebp
call fcn.00464210
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call fcn.00639110
mov eax, dword [esp + 0xc8]
mov edx, eax
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x68]
mov esi, dword [esp + 0x70]
mov dword [esp + 0x34], esi
mov eax, edx
mov edx, dword [esp + 0x74]
mov ecx, ebx
sub ebx, edx
mov edi, ebp
mov ebp, dword [esp + 0x7c]
add ebx, ebp
mov esi, dword [esp + 0x80]
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x78]
test ebx, ebx
jle 0x6380fd
cmp edx, ecx
jl 0x6380c0
test ebp, ebp
jne 0x638091
xor ecx, ecx
jmp 0x63802b
mov dword [esp + 0x6c], ebp
mov edx, dword [esp + 0x30]
mov dword [esp + 0x70], edx
mov dword [esp + 0x68], esi
mov dword [esp + 0x74], 0
mov dword [esp + 0x7c], 0
mov edx, dword [esp + 0x34]
mov dword [esp + 0x80], edx
mov dword [esp + 0x78], edi
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x74]
cmp ecx, ebx
jbe 0x638104
mov ecx, dword [edx + ebx*4]
lea edi, [edx + ebx*4]
mov ebp, dword [0x8e7a50]
test ebp, ebp
jne 0x6380e9
mov dword [edx + ebx*4], 0
jmp 0x6380f4
mov edx, eax
xor eax, eax
call fcn.00464190
mov eax, edx
inc dword [esp + 0x74]
jmp 0x63802b
xor ecx, ecx
jmp 0x637f51
mov eax, ebx
call fcn.00464210
nop
call fcn.00435720
add esp, 0xc0
ret
call fcn.00462d80
jmp fcn.00637730