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

Disassembly:
mov ecx, dword [0x9aee30]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x48]
cmp eax, dword [ecx + 8]
jbe 0x6572a8
sub esp, 0xc8
mov eax, 0
mov dword [esp + 0xc4], eax
mov byte [esp + 0x23], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov eax, dword [esp + 0xcc]
movzx ecx, byte [eax + 0x6c]
test cl, cl
jne 0x65693b
mov ecx, dword [eax + 0x74]
test ecx, ecx
jge 0x65695c
mov eax, dword [0x964838]
mov ecx, dword [0x96483c]
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], ecx
add esp, 0xc8
ret
mov eax, dword [esp + 0xd0]
mov dword [esp], eax
call fcn.0065cab0
movzx eax, byte [esp + 4]
test al, al
jne 0x656ada
mov eax, dword [esp + 0xd0]
mov dword [esp], eax
call fcn.00660360
mov eax, dword [esp + 0xcc]
mov dword [esp], eax
call fcn.00489310
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
lea eax, [0x6572c0]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x88], eax
lea ecx, [esp + 0x84]
mov dword [esp + 0xc4], ecx
mov byte [esp + 0x23], 1
mov ecx, dword [esp + 0xd0]
mov edx, dword [ecx]
test edx, edx
jne 0x6569eb
xor edx, edx
jmp 0x656a1f
mov edx, dword [eax + 0x18]
lea ebp, [0x694dc0]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0040fbe0
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
test eax, eax
setne al
mov ecx, dword [esp + 0xd0]
mov edx, eax
mov eax, dword [esp + 0xcc]
test dl, dl
jne 0x656aad
lea esi, [ecx + 0xc]
lea edi, [esp + 0x54]
call fcn.0046cffa
lea edi, [esp + 0xa8]
xor eax, eax
call fcn.0046cb29
mov ecx, dword [esp + 0xcc]
mov edx, dword [ecx + 0x10]
lea ebx, [0x694d80]
mov dword [esp], ebx
mov dword [esp + 4], edx
lea edx, [esp + 0x54]
mov dword [esp + 8], edx
call fcn.0040e290
movzx ecx, byte [esp + 0x10]
mov byte [esp + 0x21], cl
mov esi, dword [esp + 0xc]
lea edi, [esp + 0xa8]
call fcn.0046cffa
lea edi, [esp + 0x38]
lea esi, [esp + 0xa8]
call fcn.0046cffa
movzx ecx, byte [esp + 0x21]
test cl, cl
je 0x656afb
mov edx, dword [esp + 0xd0]
mov ebx, dword [edx]
test ebx, ebx
jne 0x657202
jmp 0x657038
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0xc4]
mov eax, dword [edx]
call eax
add esp, 0xc8
ret
mov eax, dword [0x964840]
mov ecx, dword [0x964844]
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], ecx
add esp, 0xc8
ret
mov eax, dword [esp + 0xcc]
movzx ecx, byte [eax + 8]
test cl, cl
jne 0x656bd0
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x656b47
call fcn.0040dcd0
mov eax, dword [0x9aef70]
mov ecx, dword [esp]
test eax, eax
jne 0x656b30
mov eax, dword [esp + 0xcc]
jmp 0x656b44
call fcn.0046c8a0
mov dword [edi], ecx
mov eax, dword [esp + 0xcc]
mov edx, dword [eax + 0xc]
mov dword [edi + 4], edx
mov dword [eax + 0xc], ecx
mov ecx, dword [eax + 0xc]
lea edx, [0x694d40]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ecx, [esp + 0x54]
mov dword [esp + 8], ecx
call fcn.0040e0a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xcc]
mov edx, dword [ecx + 0x74]
mov ebx, dword [eax + 8]
nop
test edx, edx
jne 0x656b7f
mov edx, 2
mov ebp, dword [eax + 4]
cmp edx, ebp
jle 0x656b9f
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebx
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0xd0]
xor esi, esi
jmp 0x656c02
mov eax, dword [0x964858]
mov ecx, dword [0x96485c]
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], ecx
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0xc4]
mov eax, dword [edx]
call eax
add esp, 0xc8
ret
mov eax, dword [0x964848]
mov ecx, dword [0x96484c]
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], ecx
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0xc4]
mov eax, dword [edx]
call eax
add esp, 0xc8
ret
inc esi
cmp esi, ebp
jge 0x656c93
lea edi, [eax + esi*4]
cmp dword [edi], edx
jne 0x656c01
mov dword [esp + 0x34], esi
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
lea eax, [0x6c5340]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], edx
lea ecx, [0x6dac05]
mov dword [esp], ecx
mov dword [esp + 4], 0x1d
lea ebx, [esp + 0xa0]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.0060d410
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0xd0]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x34]
jmp 0x656c01
inc ebp
cmp ebx, ebp
jae 0x656cd4
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x6c5340]
mov dword [esp + 0x10], eax
call fcn.004508b0
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0xd0]
mov dword [esp + 0x34], ebx
mov esi, dword [0x9aef70]
test esi, esi
je 0x656cf0
call fcn.0046c8a0
mov dword [edi], edx
mov esi, dword [eax + ebp*4 - 4]
mov dword [edi + 4], esi
mov dword [esp + 0x80], eax
mov dword [esp + 0x30], ebp
mov dword [eax + ebp*4 - 4], edx
mov ebx, dword [ecx + 0xc]
lea esi, [0x694d40]
mov dword [esp], esi
mov dword [esp + 4], ebx
lea ebx, [esp + 0x54]
mov dword [esp + 8], ebx
call fcn.0040e630
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x30]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x34]
mov dword [eax + 8], ecx
mov ecx, dword [0x9aef70]
test ecx, ecx
jne 0x656d41
mov ecx, dword [esp + 0x80]
jmp 0x656d54
call fcn.0046c8a0
mov ecx, dword [esp + 0x80]
mov dword [edi], ecx
mov edx, dword [eax]
mov dword [edi + 4], edx
mov dword [eax], ecx
mov eax, dword [esp + 0xcc]
lea ecx, [eax + 0x14]
mov dword [esp], ecx
mov ecx, dword [esp + 0xd0]
mov dword [esp + 4], ecx
call fcn.00660e80
mov eax, dword [esp + 0xcc]
mov ecx, dword [eax + 0x70]
test ecx, ecx
je 0x656ea0
mov edx, dword [eax + 0x18]
test edx, edx
je 0x656d90
mov edx, dword [edx]
jmp 0x656d92
xor edx, edx
cmp edx, ecx
jle 0x656ea0
mov ecx, dword [eax + 0x14]
mov edx, dword [ecx + 0x14]
nop
test edx, edx
jne 0x656da9
xor edx, edx
jmp 0x656dac
mov edx, dword [ecx + 4]
mov ebx, dword [edx + 0xc]
mov ebp, dword [edx + 0x10]
lea esi, [0x6c5340]
cmp ebx, esi
jne 0x65701b
nop
cmp dword [edx + 8], ecx
jne 0x656e45
mov ebx, dword [edx + 4]
test byte [ebx], al
mov esi, dword [0x9aef70]
nop
mov edi, dword [edx]
test esi, esi
je 0x656def
mov esi, edi
call fcn.0046c8a0
mov dword [edi], esi
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov eax, dword [esp + 0xcc]
mov edi, esi
mov dword [ebx], edi
mov ebx, dword [edx]
test byte [ebx], al
mov esi, dword [0x9aef70]
mov edi, dword [edx + 4]
test esi, esi
je 0x656e2b
mov esi, edi
call fcn.0046c8d0
mov dword [edi], esi
mov eax, dword [ebx + 4]
mov dword [edi + 4], eax
mov eax, dword [edx]
mov dword [edi + 8], eax
mov eax, dword [edx + 4]
mov dword [edi + 0xc], eax
mov eax, dword [edx + 8]
mov dword [edi + 0x10], eax
mov eax, dword [esp + 0xcc]
mov edi, esi
mov dword [ebx + 4], edi
mov dword [edx], 0
mov dword [edx + 4], 0
mov dword [edx + 8], 0
dec dword [ecx + 0x14]
mov dword [esp + 0x7c], ebp
mov edx, dword [eax + 0x18]
lea ebx, [0x694dc0]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.00410460
mov eax, dword [0x964850]
mov ecx, dword [0x964854]
mov edx, dword [esp + 0x7c]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.006603b0
mov eax, dword [esp + 0xcc]
mov dword [esp], eax
mov ecx, dword [esp + 0x7c]
mov dword [esp + 4], ecx
call fcn.00657b70
mov eax, dword [esp + 0xcc]
mov ecx, dword [eax + 0x7c]
mov edx, dword [eax + 0x80]
test edx, edx
sete bl
xchg ebp, ebx
setg bl
xchg ebp, ebx
test ecx, ecx
xchg esi, ebx
seta bl
xchg esi, ebx
and ebx, esi
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x656f8e
mov ebx, dword [esp + 0xd0]
mov ebp, dword [ebx]
test ebp, ebp
jne 0x656f95
mov ebp, dword [ebx + 0x78]
test ebp, ebp
je 0x656f00
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004b0370
mov eax, dword [esp + 0xd0]
jmp 0x656f95
lea eax, [0x69c9a0]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
lea ecx, [0x6653c0]
mov dword [eax], ecx
mov ecx, dword [0x9aef70]
test ecx, ecx
jne 0x656f2d
mov ecx, dword [esp + 0xd0]
jmp 0x656f3b
call fcn.0046c890
mov ecx, dword [esp + 0xd0]
mov dword [edi], ecx
mov dword [eax + 4], ecx
mov edx, dword [esp + 0xcc]
mov ebx, dword [edx + 0x7c]
mov edx, dword [edx + 0x80]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004b0460
mov eax, dword [0x9aef70]
mov ecx, dword [esp + 0xc]
test eax, eax
jne 0x656f75
mov eax, dword [esp + 0xd0]
jmp 0x656f89
call fcn.0046c8a0
mov dword [edi], ecx
mov eax, dword [esp + 0xd0]
mov edx, dword [eax + 0x78]
mov dword [edi + 4], edx
mov dword [eax + 0x78], ecx
jmp 0x656f95
mov ebx, dword [esp + 0xd0]
call fcn.004b2490
lea edi, [esp + 0x8c]
lea esi, [esp]
call fcn.0046d00e
mov eax, dword [0x9aef70]
mov ecx, dword [esp + 0xd0]
lea edi, [ecx + 0x64]
test eax, eax
je 0x656fe2
mov dword [esp + 0x78], edi
lea eax, [0x6cce60]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x8c]
mov dword [esp + 8], eax
call fcn.00412800
mov edi, dword [esp + 0x78]
lea esi, [esp + 0x8c]
call fcn.0046d00e
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0xc4]
mov eax, dword [edx]
call eax
add esp, 0xc8
ret
mov dword [esp], ebx
mov dword [esp + 4], esi
lea eax, [0x693d60]
mov dword [esp + 8], eax
call fcn.0040a760
mov edx, dword [esp + 0xd0]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x44]
mov esi, ebx
sub ebx, ebp
mov edi, dword [esp + 0x4c]
add ebx, edi
test ebx, ebx
jle 0x657102
mov dword [esp + 0x24], ebx
cmp ebp, esi
jl 0x657096
test edi, edi
jne 0x657062
xor esi, esi
jmp 0x6570cc
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x44], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], esi
mov dword [esp + 0x48], ebp
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x44]
cmp eax, ecx
jae 0x6571d8
mov ecx, dword [esp + 0x38]
mov ebp, dword [0x9aef70]
mov esi, dword [ecx + eax*4]
test ebp, ebp
je 0x6570c1
mov ebp, dword [ecx + eax*4]
call fcn.0046c890
mov dword [edi], ebp
mov dword [ecx + eax*4], 0
inc dword [esp + 0x44]
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call fcn.00658420
movzx eax, byte [esp + 0x10]
test al, al
je 0x657031
mov eax, dword [esp + 0x24]
test eax, eax
mov edx, dword [esp + 0xd0]
setg al
mov byte [esp + 0x22], al
mov ecx, dword [esp + 0x3c]
sub ecx, dword [esp + 0x44]
add ecx, dword [esp + 0x4c]
test ecx, ecx
jne 0x65713f
mov eax, dword [esp + 0xcc]
mov ecx, dword [eax + 0x10]
lea edx, [0x694d80]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ecx, [esp + 0x54]
mov dword [esp + 8], ecx
call fcn.0040eb00
jmp 0x65719e
mov eax, dword [esp + 0xcc]
mov ecx, dword [eax + 0x10]
lea edx, [0x694d80]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ecx, [esp + 0x54]
mov dword [esp + 8], ecx
call fcn.0040e630
mov edi, dword [esp + 0xc]
test byte [edi], al
mov eax, dword [0x9aef70]
test eax, eax
je 0x657195
mov dword [esp + 0x74], edi
lea eax, [0x6a9d80]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x38]
mov dword [esp + 8], eax
call fcn.00412800
mov edi, dword [esp + 0x74]
lea esi, [esp + 0x38]
call fcn.0046cffa
movzx eax, byte [esp + 0x22]
test al, al
je 0x656afb
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0xc4]
mov eax, dword [edx]
call eax
add esp, 0xc8
ret
call fcn.0046c910
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call fcn.00658420
mov eax, dword [esp + 0xd0]
mov edx, eax
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x44]
mov esi, ebx
sub ebx, ebp
mov edi, dword [esp + 0x4c]
add ebx, edi
test ebx, ebx
jle 0x65728f
cmp esi, ebp
jg 0x657258
test edi, edi
jne 0x657224
xor ebp, ebp
jmp 0x6571dd
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x48]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], eax
mov dword [esp + 0x38], esi
mov dword [esp + 0x44], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], ebp
mov dword [esp + 0x48], ebx
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x44]
cmp ecx, eax
jbe 0x657296
mov ecx, dword [esp + 0x38]
mov ebx, dword [0x9aef70]
mov ebp, dword [ecx + eax*4]
test ebx, ebx
je 0x65727f
mov ebx, dword [ecx + eax*4]
call fcn.0046c890
mov dword [edi], ebx
mov dword [ecx + eax*4], 0
inc dword [esp + 0x44]
jmp 0x6571dd
xor eax, eax
jmp 0x657105
call fcn.0046c910
nop
call fcn.00439380
add esp, 0xc8
ret
call fcn.0046b490
jmp fcn.006568e0