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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x7c]
cmp eax, dword [ecx + 8]
jbe 0x56493c
sub esp, 0xfc
mov eax, dword [esp + 0x100]
mov ecx, dword [eax + 0x1a0]
test ecx, ecx
jg 0x56491b
mov ecx, dword [esp + 0x10c]
test ecx, ecx
jle 0x56406f
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + ecx*4 - 4]
mov ebp, dword [ebx + 0x34]
mov ebx, dword [ebx + 0x30]
mov esi, dword [eax + 0x24]
cmp dword [eax + 0x28], ebp
je 0x564052
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], 5
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
lea eax, [0x6c8830]
mov dword [esp], eax
lea eax, [esp + 0x74]
mov dword [esp + 4], eax
call fcn.00408d80
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], ecx
add esp, 0xfc
ret
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
call fcn.00402950
movzx eax, byte [esp + 0xc]
test al, al
je 0x56490f
mov eax, dword [esp + 0x114]
test byte [eax], al
lea esi, [eax + 0x10]
lea edi, [esp + 0x98]
call fcn.0045b46e
lea edi, [esp + 0x84]
lea esi, [esp + 0x98]
call fcn.0045b46e
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
test edx, 0x80000000
je 0x5648f8
shl edx, 1
mov ebx, ecx
shr ecx, 0x1f
or ecx, edx
mov edx, ebx
shl ebx, 1
mov ebp, ecx
shl ecx, 1
shr ebx, 0x1f
or ecx, ebx
mov ebx, ecx
add ecx, 0xd7b17f80
shr ebp, 0x1f
add ebx, 0xd7b17f80
adc ebp, 0xd
test ebp, ebp
sete bl
test ecx, ecx
sete cl
and ebx, ecx
test bl, bl
je 0x5640fa
test edx, 0x3fffffff
je 0x5648e0
mov eax, dword [esp + 0x100]
lea esi, [eax + 0x158]
mov dword [esp + 0x50], esi
lea edi, [esp + 0xe8]
call fcn.0045b46e
mov edi, esp
lea esi, [esp + 0x98]
call fcn.0045b46e
lea edi, [esp + 0x14]
mov dword [esp + 0x4c], edi
lea esi, [esp + 0xe8]
call fcn.0045b46e
call fcn.0049bb50
movzx eax, byte [esp + 0x28]
test al, al
jne 0x564750
mov eax, dword [esp + 0x100]
lea esi, [eax + 0x16c]
mov dword [esp + 0x50], esi
lea edi, [esp + 0xc0]
call fcn.0045b46e
mov edi, esp
lea esi, [esp + 0x98]
call fcn.0045b46e
mov edi, dword [esp + 0x4c]
lea esi, [esp + 0xc0]
call fcn.0045b46e
call fcn.0049ba10
movzx eax, byte [esp + 0x28]
test al, al
jne 0x5645c0
mov eax, dword [esp + 0x114]
mov eax, dword [eax + 0x30]
test eax, eax
jne 0x5641ab
mov eax, 0x3d090
mov dword [esp + 0x34], 0
mov ecx, dword [esp + 0x104]
cmp ecx, 1
jne 0x564599
mov edx, dword [esp + 0x10c]
test edx, edx
je 0x56455d
mov ebx, dword [esp + 0x108]
mov ebx, dword [ebx]
cmp ecx, 1
mov dword [esp + 0x30], eax
mov dword [esp + 0x40], ebx
jne 0x56454d
mov eax, dword [0x815f70]
mov ecx, dword [0x815f74]
mov edx, dword [0x815f78]
mov ebx, dword [esp + 0x100]
mov ebp, dword [ebx + 0x184]
mov esi, dword [ebx + 0x188]
mov edi, dword [ebx + 0x18c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
call fcn.0056a840
movzx eax, byte [esp + 0x18]
test al, al
jne 0x5644ac
jne 0x56445e
xor eax, eax
test al, al
jne 0x5643b9
mov eax, dword [esp + 0x104]
cmp eax, 1
jne 0x5643ad
mov eax, dword [esp + 0x100]
movzx ecx, byte [eax + 0x1c0]
test cl, cl
je 0x564338
movzx ecx, byte [eax + 0x1c1]
test cl, cl
je 0x564338
movzx ecx, byte [eax + 0x1c0]
test cl, cl
je 0x5642a6
mov ecx, dword [eax + 0x1c4]
test ecx, ecx
jl 0x5642a6
mov edx, dword [esp + 0x10c]
dec edx
cmp ecx, edx
jl 0x5642c3
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0
add esp, 0xfc
ret
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], 3
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
lea eax, [0x6c8830]
mov dword [esp], eax
lea eax, [esp + 0x74]
mov dword [esp + 4], eax
call fcn.00408d80
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], ecx
add esp, 0xfc
ret
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
lea eax, [0x6c8830]
mov dword [esp], eax
lea eax, [esp + 0x74]
mov dword [esp + 4], eax
call fcn.00408d80
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], ecx
add esp, 0xfc
ret
mov eax, dword [esp + 0x100]
jmp 0x564285
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call fcn.00566c30
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
lea ebx, [0x56acd0]
mov dword [esp + 0x54], ebx
mov ebx, dword [esp + 0x100]
mov dword [esp + 0x58], ebx
lea ebp, [esp + 0x34]
mov dword [esp + 0x5c], ebp
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x60], ebp
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
lea eax, [esp + 0x54]
mov dword [esp + 0xc], eax
call fcn.00568200
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
jne 0x564449
mov eax, dword [esp + 0x104]
cmp eax, 1
jmp 0x56425a
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], ecx
add esp, 0xfc
ret
mov eax, dword [0x815f80]
mov ecx, dword [0x815f84]
mov edx, dword [0x815f88]
mov ebx, dword [esp + 0x40]
mov ebp, dword [ebx + 0x184]
mov esi, dword [ebx + 0x188]
mov edi, dword [ebx + 0x18c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
call fcn.0056a840
movzx eax, byte [esp + 0x18]
jmp 0x564248
mov byte [esp + 0x2f], al
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call fcn.00565540
movzx eax, byte [esp + 4]
test al, al
jne 0x5644d1
movzx eax, byte [esp + 0x2f]
test al, al
jmp 0x564240
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov eax, dword [esp + 0x100]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], 6
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
lea eax, [0x6c8830]
mov dword [esp], eax
lea eax, [esp + 0x74]
mov dword [esp + 4], eax
call fcn.00408d80
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], ecx
add esp, 0xfc
ret
cmp ecx, 2
je 0x5641ec
xor eax, eax
jmp 0x564238
lea eax, [0x63eca0]
mov dword [esp], eax
call fcn.0040b4f0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x38
lea ecx, [0x681a5a]
mov dword [eax], ecx
lea ecx, [0x6c8150]
mov dword [esp + 0x118], ecx
mov dword [esp + 0x11c], eax
add esp, 0xfc
ret
cmp ecx, 2
jne 0x5645ac
mov edx, dword [esp + 0x10c]
test edx, edx
jmp 0x5641cc
cmp ecx, 1
mov edx, dword [esp + 0x10c]
mov ebx, 0
jmp 0x5641de
mov edi, esp
lea esi, [esp + 0x98]
call fcn.0045b46e
lea eax, [0x67750a]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0x19
call fcn.00496500
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x3c], ecx
lea edi, [esp + 0xac]
mov esi, dword [esp + 0x50]
call fcn.0045b46e
mov edi, esp
lea esi, [esp + 0xac]
call fcn.0045b46e
lea ecx, [0x67750a]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], 0x19
call fcn.00496500
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov edx, dword [esp + 0x48]
mov dword [esp], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 4], edx
call fcn.00408c10
mov eax, dword [esp + 8]
lea ecx, [0x633ac0]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x44]
mov dword [esp], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
call fcn.00408c10
mov eax, dword [esp + 8]
lea ecx, [0x633ac0]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
lea eax, [0x678853]
mov dword [esp], eax
mov dword [esp + 4], 0x1b
lea eax, [esp + 0x64]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004ac250
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov edx, dword [esp + 0x100]
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], 1
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ecx
lea eax, [0x6c8830]
mov dword [esp], eax
lea eax, [esp + 0x74]
mov dword [esp + 4], eax
call fcn.00408d80
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], ecx
add esp, 0xfc
ret
mov edi, esp
lea esi, [esp + 0x98]
call fcn.0045b46e
lea eax, [0x67750a]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0x19
call fcn.00496500
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x3c], ecx
lea edi, [esp + 0xd4]
mov esi, dword [esp + 0x50]
call fcn.0045b46e
mov edi, esp
lea esi, [esp + 0xd4]
call fcn.0045b46e
lea ecx, [0x67750a]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], 0x19
call fcn.00496500
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov edx, dword [esp + 0x48]
mov dword [esp], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 4], edx
call fcn.00408c10
mov eax, dword [esp + 8]
lea ecx, [0x633ac0]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x44]
mov dword [esp], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
call fcn.00408c10
mov eax, dword [esp + 8]
lea ecx, [0x633ac0]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
lea eax, [0x678f48]
mov dword [esp], eax
mov dword [esp + 4], 0x1c
lea eax, [esp + 0x64]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004ac250
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov edx, dword [esp + 0x100]
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], 1
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ecx
lea eax, [0x6c8830]
mov dword [esp], eax
lea eax, [esp + 0x74]
mov dword [esp + 4], eax
call fcn.00408d80
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], ecx
add esp, 0xfc
ret
call fcn.0049d5f0
lea edi, [esp + 0x98]
mov esi, esp
call fcn.0045b46e
jmp 0x5640fa
mov ebx, dword [esp + 0x8c]
mov ebp, dword [esp + 0x90]
mov edx, ecx
mov ecx, ebx
jmp 0x5640de
mov eax, dword [esp + 0x100]
jmp 0x563fdd
lea eax, [0x6c88b0]
mov dword [esp + 0x118], eax
lea eax, [0x8324a4]
mov dword [esp + 0x11c], eax
add esp, 0xfc
ret
call fcn.00459790
jmp fcn.00563f80