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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x8c
mov eax, dword [ecx + 4]
sub eax, dword [ecx]
mov dword [esp + 0x44], ecx
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x28], 4
sar eax, 2
test eax, eax
je 0x637dca
lea edx, [eax + eax]
cmp eax, edx
mov dword [esp + 0x28], 0xfffffffc
ja 0x637dca
shl eax, 3
cmp edx, 0x3fffffff
cmova eax, dword [esp + 0x28]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.006540e0
mov edi, dword [esp + 0x44]
mov ecx, dword [edi]
mov esi, eax
mov dword [esp + 0x48], eax
mov eax, dword [edi + 4]
mov edx, esi
add edx, 4
mov dword [esp + 0x50], edx
mov edx, eax
sub edx, ecx
and edx, 0xfffffffc
add edx, esi
je 0x637e08
mov eax, dword [ebx]
mov dword [ebx], 0
mov ecx, dword [edi]
mov dword [edx], eax
mov eax, dword [edi + 4]
cmp eax, ecx
je 0x638107
mov ebx, dword [esp + 0x48]
mov edx, ecx
test ebx, ebx
je 0x637e24
mov esi, dword [edx]
mov dword [edx], 0
mov dword [ebx], esi
add edx, 4
add ebx, 4
cmp edx, eax
jne 0x637e16
mov edx, dword [esp + 0x48]
add ecx, 4
sub eax, ecx
shr eax, 2
lea eax, [edx + eax*4 + 8]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x44]
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x54], edx
cmp edx, eax
mov dword [esp + 0x2c], eax
je 0x638105
mov eax, dword [eax]
test eax, eax
mov dword [esp + 0x4c], eax
je 0x638567
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [esp + 0x58], edx
cmp edx, eax
mov dword [esp + 0x30], eax
je 0x638596
mov eax, dword [eax]
test eax, eax
mov dword [esp + 0x34], eax
je 0x6381e1
mov edx, dword [eax + 0x1c]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x5c], edx
cmp edx, eax
mov dword [esp + 0x38], eax
je 0x638446
lea edx, [eax + 0x1c]
add eax, 0x10
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x78]
mov edx, dword [eax]
mov eax, dword [eax - 4]
mov dword [esp + 0x60], edx
cmp edx, eax
mov dword [esp + 0x3c], eax
je 0x63843f
lea edx, [eax + 0x1c]
add eax, 0x10
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x70]
mov edx, dword [eax]
mov eax, dword [eax - 4]
mov dword [esp + 0x64], edx
cmp edx, eax
mov dword [esp + 0x40], eax
je 0x63814e
lea edx, [eax + 0x1c]
add eax, 0x10
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x68]
mov edx, dword [eax]
mov eax, dword [eax - 4]
mov dword [esp + 0x24], edx
cmp edx, eax
mov dword [esp + 0x18], eax
je 0x638147
lea edx, [eax + 0x1c]
add eax, 0x10
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
mov eax, dword [eax - 4]
mov dword [esp + 0x10], edx
cmp edx, eax
mov dword [esp + 0x14], eax
je 0x638140
mov esi, eax
lea edi, [eax + 0xc]
lea ecx, [esi + 0x18]
call fcn.00630b80
mov eax, esi
sub eax, dword [esp + 0x14]
mov ebx, dword [eax + edi + 4]
mov ebp, dword [eax + edi]
cmp ebx, ebp
je 0x637f79
lea esi, [esi]
mov eax, dword [ebp + 4]
test eax, eax
je 0x637f6f
mov dword [esp], eax
call fcn.00654030
add ebp, 0x10
cmp ebx, ebp
jne 0x637f60
mov ebx, dword [esi + 0xc]
test ebx, ebx
je 0x637f85
mov dword [esp], ebx
call fcn.00654030
add esi, 0x24
cmp dword [esp + 0x10], esi
jne 0x637f44
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x637fa1
mov dword [esp], eax
call fcn.00654030
mov eax, dword [esp + 0x20]
mov ebx, dword [eax]
mov esi, dword [eax - 4]
cmp ebx, esi
je 0x637fcd
nop
mov eax, dword [esi + 4]
test eax, eax
je 0x637fbf
mov dword [esp], eax
call fcn.00654030
add esi, 0x10
cmp ebx, esi
jne 0x637fb0
mov eax, dword [esp + 0x18]
mov ebx, dword [eax + 0xc]
test ebx, ebx
je 0x637fd9
mov dword [esp], ebx
call fcn.00654030
add dword [esp + 0x18], 0x24
mov eax, dword [esp + 0x18]
add dword [esp + 0x1c], 0x24
add dword [esp + 0x20], 0x24
cmp dword [esp + 0x24], eax
jne 0x637f26
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x638009
mov dword [esp], eax
call fcn.00654030
mov eax, dword [esp + 0x6c]
mov ebx, dword [eax]
mov esi, dword [eax - 4]
cmp ebx, esi
je 0x638033
mov eax, dword [esi + 4]
test eax, eax
je 0x638025
mov dword [esp], eax
call fcn.00654030
add esi, 0x10
cmp ebx, esi
jne 0x638016
mov eax, dword [esp + 0x40]
mov ebx, dword [eax + 0xc]
test ebx, ebx
je 0x63803f
mov dword [esp], ebx
call fcn.00654030
add dword [esp + 0x40], 0x24
mov eax, dword [esp + 0x40]
add dword [esp + 0x68], 0x24
add dword [esp + 0x6c], 0x24
cmp dword [esp + 0x64], eax
jne 0x637eff
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x63806f
mov dword [esp], eax
call fcn.00654030
mov eax, dword [esp + 0x74]
mov esi, dword [eax]
mov ebx, dword [eax - 4]
cmp esi, ebx
je 0x638155
mov eax, dword [ebx + 4]
test eax, eax
je 0x63808f
mov dword [esp], eax
call fcn.00654030
add ebx, 0x10
cmp esi, ebx
jne 0x638080
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x6380a9
mov dword [esp], eax
call fcn.00654030
add dword [esp + 0x3c], 0x24
mov eax, dword [esp + 0x3c]
add dword [esp + 0x70], 0x24
add dword [esp + 0x74], 0x24
cmp dword [esp + 0x60], eax
jne 0x637ed8
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x6380d9
mov dword [esp], eax
call fcn.00654030
mov eax, dword [esp + 0x7c]
mov esi, dword [eax]
mov ebx, dword [eax - 4]
cmp esi, ebx
je 0x63815c
mov eax, dword [ebx + 4]
test eax, eax
je 0x6380f5
mov dword [esp], eax
call fcn.00654030
add ebx, 0x10
cmp esi, ebx
jne 0x6380e6
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0xc]
jmp 0x63815e
mov eax, edx
test eax, eax
je 0x638113
mov dword [esp], eax
call fcn.00654030
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x50]
mov edx, eax
mov dword [eax], ecx
mov dword [eax + 4], edi
mov eax, dword [esp + 0x28]
add eax, ecx
mov dword [edx + 8], eax
add esp, 0x8c
pop ebx
pop esi
pop edi
pop ebp
ret 4
mov eax, edx
jmp 0x637f95
mov eax, edx
jmp 0x637ffd
mov eax, edx
jmp 0x638063
mov eax, esi
jmp 0x63809d
mov eax, esi
test eax, eax
je 0x63816a
mov dword [esp], eax
call fcn.00654030
add dword [esp + 0x38], 0x24
mov eax, dword [esp + 0x38]
add dword [esp + 0x78], 0x24
add dword [esp + 0x7c], 0x24
cmp dword [esp + 0x5c], eax
jne 0x637eb1
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x63819a
mov dword [esp], eax
call fcn.00654030
mov eax, dword [esp + 0x34]
mov esi, dword [eax + 0x10]
mov ebx, dword [eax + 0xc]
cmp esi, ebx
je 0x6381c7
mov eax, dword [ebx + 4]
test eax, eax
je 0x6381b7
mov dword [esp], eax
call fcn.00654030
add ebx, 0x10
cmp esi, ebx
jne 0x6381a8
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0xc]
jmp 0x6381c9
mov eax, esi
test eax, eax
je 0x6381d5
mov dword [esp], eax
call fcn.00654030
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.00654030
mov eax, dword [esp + 0x30]
add dword [esp + 0x30], 4
mov dword [eax], 0
mov eax, dword [esp + 0x30]
cmp dword [esp + 0x58], eax
jne 0x637e7f
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 8]
test eax, eax
je 0x638211
mov dword [esp], eax
call fcn.00654030
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 4]
test eax, eax
mov dword [esp + 0x18], eax
je 0x638554
mov edx, dword [eax + 0x1c]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x3c], edx
cmp edx, eax
mov dword [esp + 0x1c], eax
je 0x63859d
lea edx, [eax + 0x1c]
add eax, 0x10
mov dword [esp + 0x6c], edx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x6c]
mov edx, dword [eax]
mov eax, dword [eax - 4]
mov dword [esp + 0x40], edx
cmp edx, eax
mov dword [esp + 0x20], eax
je 0x6385a5
lea edx, [eax + 0x1c]
add eax, 0x10
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x74]
mov edx, dword [eax]
mov eax, dword [eax - 4]
mov dword [esp + 0x58], edx
cmp edx, eax
mov dword [esp + 0x24], eax
je 0x63858f
lea edx, [eax + 0x1c]
add eax, 0x10
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x60]
mov edx, dword [eax]
mov eax, dword [eax - 4]
mov dword [esp + 0x5c], edx
cmp edx, eax
mov dword [esp + 0x30], eax
je 0x63845e
lea edx, [eax + 0x1c]
add eax, 0x10
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x34]
mov edx, dword [eax]
mov eax, dword [eax - 4]
mov dword [esp + 0x10], edx
cmp edx, eax
mov dword [esp + 0x14], eax
je 0x638450
mov esi, eax
lea edi, [eax + 0xc]
nop
lea esi, [esi]
lea ecx, [esi + 0x18]
call fcn.00630b80
mov eax, esi
sub eax, dword [esp + 0x14]
mov ebx, dword [eax + edi + 4]
mov ebp, dword [eax + edi]
cmp ebx, ebp
je 0x638319
lea esi, [esi]
mov eax, dword [ebp + 4]
test eax, eax
je 0x63830f
mov dword [esp], eax
call fcn.00654030
add ebp, 0x10
cmp ebx, ebp
jne 0x638300
mov ebx, dword [esi + 0xc]
test ebx, ebx
je 0x638325
mov dword [esp], ebx
call fcn.00654030
add esi, 0x24
cmp dword [esp + 0x10], esi
jne 0x6382e0
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x638341
mov dword [esp], eax
call fcn.00654030
mov eax, dword [esp + 0x38]
mov ebx, dword [eax]
mov esi, dword [eax - 4]
cmp ebx, esi
je 0x63836d
nop
mov eax, dword [esi + 4]
test eax, eax
je 0x63835f
mov dword [esp], eax
call fcn.00654030
add esi, 0x10
cmp ebx, esi
jne 0x638350
mov eax, dword [esp + 0x30]
mov ebx, dword [eax + 0xc]
test ebx, ebx
je 0x638379
mov dword [esp], ebx
call fcn.00654030
add dword [esp + 0x30], 0x24
mov eax, dword [esp + 0x30]
add dword [esp + 0x34], 0x24
add dword [esp + 0x38], 0x24
cmp dword [esp + 0x5c], eax
jne 0x6382bd
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x6383a9
mov dword [esp], eax
call fcn.00654030
mov eax, dword [esp + 0x64]
mov esi, dword [eax]
mov ebx, dword [eax - 4]
cmp esi, ebx
je 0x638457
mov eax, dword [ebx + 4]
test eax, eax
je 0x6383c9
mov dword [esp], eax
call fcn.00654030
add ebx, 0x10
cmp esi, ebx
jne 0x6383ba
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x6383e3
mov dword [esp], eax
call fcn.00654030
add dword [esp + 0x24], 0x24
mov eax, dword [esp + 0x24]
add dword [esp + 0x60], 0x24
add dword [esp + 0x64], 0x24
cmp dword [esp + 0x58], eax
jne 0x638296
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x638413
mov dword [esp], eax
call fcn.00654030
mov eax, dword [esp + 0x70]
mov esi, dword [eax]
mov ebx, dword [eax - 4]
cmp esi, ebx
je 0x638465
mov eax, dword [ebx + 4]
test eax, eax
je 0x63842f
mov dword [esp], eax
call fcn.00654030
add ebx, 0x10
cmp esi, ebx
jne 0x638420
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0xc]
jmp 0x638467
mov eax, edx
jmp 0x6380cd
mov eax, edx
jmp 0x63818e
mov eax, edx
jmp 0x638335
mov eax, esi
jmp 0x6383d7
mov eax, edx
jmp 0x63839d
mov eax, esi
test eax, eax
je 0x638473
mov dword [esp], eax
call fcn.00654030
add dword [esp + 0x20], 0x24
mov eax, dword [esp + 0x20]
add dword [esp + 0x74], 0x24
add dword [esp + 0x70], 0x24
cmp dword [esp + 0x40], eax
jne 0x63826f
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x6384a3
mov dword [esp], eax
call fcn.00654030
mov eax, dword [esp + 0x68]
mov esi, dword [eax]
mov ebx, dword [eax - 4]
cmp esi, ebx
je 0x6384cf
mov eax, dword [ebx + 4]
test eax, eax
je 0x6384bf
mov dword [esp], eax
call fcn.00654030
add ebx, 0x10
cmp esi, ebx
jne 0x6384b0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0xc]
jmp 0x6384d1
mov eax, esi
test eax, eax
je 0x6384dd
mov dword [esp], eax
call fcn.00654030
add dword [esp + 0x1c], 0x24
mov eax, dword [esp + 0x1c]
add dword [esp + 0x6c], 0x24
add dword [esp + 0x68], 0x24
cmp dword [esp + 0x3c], eax
jne 0x638248
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x63850d
mov dword [esp], eax
call fcn.00654030
mov eax, dword [esp + 0x18]
mov esi, dword [eax + 0x10]
mov ebx, dword [eax + 0xc]
cmp esi, ebx
je 0x63853a
mov eax, dword [ebx + 4]
test eax, eax
je 0x63852a
mov dword [esp], eax
call fcn.00654030
add ebx, 0x10
cmp esi, ebx
jne 0x63851b
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0xc]
jmp 0x63853c
mov eax, esi
test eax, eax
je 0x638548
mov dword [esp], eax
call fcn.00654030
mov eax, dword [esp + 0x18]
mov dword [esp], eax
call fcn.00654030
mov eax, dword [esp + 0x4c]
mov dword [eax + 4], 0
mov dword [esp], eax
call fcn.00654030
mov eax, dword [esp + 0x2c]
add dword [esp + 0x2c], 4
mov dword [eax], 0
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x54], eax
jne 0x637e5b
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
jmp 0x638107
mov eax, edx
jmp 0x638407
mov eax, edx
jmp 0x638205
mov eax, edx
nop
jmp 0x638501
mov eax, edx
jmp 0x638497