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

Disassembly:
mov ecx, dword [0x78bd58]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xe0]
cmp eax, dword [ecx + 8]
jbe 0x565f4a
sub esp, 0x160
mov eax, dword [esp + 0x164]
mov dword [esp], eax
call fcn.00563260
lea edi, [esp + 0xd4]
lea esi, [esp + 4]
call fcn.004705fe
nop
mov eax, dword [esp + 0x164]
inc dword [eax + 0x6c]
lea edi, [esp + 0xfc]
lea esi, [esp + 0xd4]
call fcn.004705fe
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x3c], ecx
mov edx, dword [esp + 0x10c]
mov dword [esp + 0x40], edx
lea ebx, [0x5cd0c0]
mov dword [esp], ebx
call fcn.00410f90
mov eax, dword [0x78be40]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x565549
mov eax, dword [esp + 0x164]
jmp 0x565557
call fcn.0046fee0
mov eax, dword [esp + 0x164]
mov dword [edi], eax
mov dword [esp + 0x6c], ecx
mov dword [ecx + 8], eax
mov dword [ecx], 0xe
mov edx, dword [esp + 0x3c]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x40]
mov dword [ecx + 0xc], edx
mov dword [ecx + 0x18], 0
mov dword [ecx + 0x1c], 0
mov dword [ecx + 0x14], 0
mov dword [esp], eax
call fcn.00563260
lea edi, [esp + 0xc0]
lea esi, [esp + 4]
call fcn.004705fe
nop
mov eax, dword [esp + 0x164]
inc dword [eax + 0x6c]
lea edi, [esp + 0x70]
lea esi, [esp + 0xc0]
call fcn.004705fe
cmp dword [esp + 0x70], 0x15
jne 0x565d80
mov edx, dword [eax + 0x6c]
nop
test edx, edx
jle 0x5655d3
dec edx
mov dword [eax + 0x6c], edx
jmp 0x565647
mov ecx, dword [eax + 0x2c]
mov dword [esp], ecx
call fcn.0055a590
lea edi, [esp + 0x14c]
lea esi, [esp + 4]
call fcn.004705fe
mov eax, dword [0x78be40]
mov ecx, dword [esp + 0x164]
lea edi, [ecx + 0x30]
test eax, eax
je 0x565634
mov dword [esp + 0x140], edi
lea eax, [0x5c7020]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x14c]
mov dword [esp + 8], eax
call fcn.00416300
mov ecx, dword [esp + 0x164]
mov edi, dword [esp + 0x140]
lea esi, [esp + 0x14c]
call fcn.004705fe
mov eax, dword [esp + 0x164]
mov edx, dword [eax + 0x6c]
cmp edx, 3
jae 0x565f3d
mov dword [esp], eax
call fcn.00563190
lea edi, [esp + 0x84]
lea esi, [esp + 4]
call fcn.004705fe
mov eax, dword [esp + 0x164]
mov dword [esp], eax
call fcn.00563260
lea edi, [esp + 0xac]
lea esi, [esp + 4]
call fcn.004705fe
nop
mov eax, dword [esp + 0x164]
inc dword [eax + 0x6c]
lea edi, [esp + 0x124]
lea esi, [esp + 0xac]
call fcn.004705fe
mov ecx, dword [esp + 0x124]
cmp ecx, 6
je 0x565b65
cmp ecx, 7
je 0x565b62
cmp ecx, 2
jne 0x565a49
cmp dword [esp + 0x130], 1
jne 0x565a49
mov ecx, dword [esp + 0x12c]
cmp byte [ecx], 0x2c
jne 0x565a49
mov dword [esp], eax
call fcn.00563260
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x74]
mov dword [esp + 0x34], edx
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x6204c0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0xffffffff
call fcn.00484a20
mov eax, dword [esp + 0x18]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
lea ebx, [0x5c92c0]
mov dword [esp], ebx
call fcn.00410f90
mov eax, dword [0x78be40]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x56576b
mov eax, dword [esp + 0x164]
jmp 0x565779
call fcn.0046fee0
mov eax, dword [esp + 0x164]
mov dword [edi], eax
mov dword [ecx + 8], eax
mov dword [ecx], 0x12
mov edx, dword [esp + 0x34]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x24]
mov dword [ecx + 0x10], edx
mov edx, dword [esp + 0x2c]
mov dword [ecx + 0x14], edx
mov edx, dword [0x78be40]
test edx, edx
jne 0x5657a7
mov edx, dword [esp + 0x48]
jmp 0x5657b2
call fcn.0046fee0
mov edx, dword [esp + 0x48]
mov dword [edi], edx
mov dword [ecx + 0xc], edx
mov edx, dword [esp + 0x6c]
mov ebx, dword [edx + 0x1c]
mov ebp, dword [edx + 0x18]
inc ebp
mov esi, dword [edx + 0x14]
cmp ebx, ebp
jae 0x56582b
mov dword [esp + 0x64], ecx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5ca260]
mov dword [esp + 0x10], eax
call fcn.004544e0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 0x1c], eax
mov eax, dword [0x78be40]
test eax, eax
je 0x565817
call fcn.0046fef0
mov dword [edi], ecx
mov eax, dword [ebx + 0x14]
mov dword [edi + 4], eax
mov dword [ebx + 0x14], ecx
mov eax, dword [esp + 0x164]
mov ebp, edx
mov esi, ecx
mov ecx, dword [esp + 0x64]
mov edx, ebx
mov dword [edx + 0x18], ebp
mov ebx, dword [0x78be40]
test ebx, ebx
je 0x565846
call fcn.0046fef0
mov dword [edi], ecx
mov ebx, dword [esi + ebp*4 - 4]
mov dword [edi + 4], ebx
mov dword [esi + ebp*4 - 4], ecx
mov ecx, dword [eax + 0x78]
mov ebx, dword [eax + 0x74]
inc ebx
mov ebp, dword [eax + 0x70]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
cmp ecx, ebx
jae 0x5658d2
mov dword [esp + 0x44], edi
mov dword [esp + 0x13c], esi
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5b1e40]
mov dword [esp + 0x10], eax
call fcn.004544e0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x164]
mov dword [ebx + 0x78], eax
mov eax, dword [0x78be40]
test eax, eax
je 0x5658ba
call fcn.0046fef0
mov dword [edi], ecx
mov eax, dword [ebx + 0x70]
mov dword [edi + 4], eax
mov dword [ebx + 0x70], ecx
mov eax, ebx
mov esi, dword [esp + 0x13c]
mov edi, dword [esp + 0x44]
mov ebx, edx
mov ebp, ecx
mov edx, dword [esp + 0x6c]
mov dword [eax + 0x74], ebx
lea ecx, [ebp + ebx*8 - 4]
mov dword [ecx], edi
mov ecx, dword [0x78be40]
lea ebx, [ebp + ebx*8 - 8]
test ecx, ecx
je 0x5658f5
call fcn.0046fef0
mov dword [edi], esi
mov ecx, dword [ebx]
mov dword [edi + 4], ecx
mov dword [ebx], esi
mov ecx, dword [esp + 0x16c]
cmp ecx, 5
jne 0x5659bc
mov ebx, dword [esp + 0x168]
cmp dword [ebx], 0x676e6172
jne 0x5659c3
cmp byte [ebx + 4], 0x65
jne 0x5659c3
cmp dword [edx + 0x18], 2
jge 0x5659c3
mov dword [esp], eax
call fcn.00563260
lea edi, [esp + 0x98]
lea esi, [esp + 4]
call fcn.004705fe
nop
mov eax, dword [esp + 0x164]
inc dword [eax + 0x6c]
lea edi, [esp + 0x50]
lea esi, [esp + 0x98]
call fcn.004705fe
mov ecx, dword [esp + 0x50]
lea edx, [ecx - 0x10]
cmp edx, 1
jbe 0x565587
cmp ecx, 0x15
je 0x565587
mov dword [esp], eax
lea ecx, [0x5e60ce]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x23
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call fcn.00563500
mov ecx, dword [esp + 0x16c]
mov ebx, dword [esp + 0x168]
jmp 0x5659c3
mov ebx, dword [esp + 0x168]
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], 0
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.0040e820
mov eax, dword [esp + 8]
lea ecx, [0x5b1e40]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], eax
mov eax, dword [esp + 0x164]
mov dword [esp], eax
lea ecx, [0x5e3333]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x1b
lea ecx, [esp + 0x144]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 1
call fcn.00563500
mov eax, dword [esp + 0x164]
mov edx, dword [esp + 0x6c]
jmp 0x565d8d
cmp dword [esp + 0x84], 0x12
jne 0x565b0d
lea edi, [esp + 0x110]
lea esi, [esp + 0x70]
call fcn.004705fe
mov ecx, dword [0x78be40]
lea edi, [eax + 0x44]
test ecx, ecx
je 0x565aa6
mov dword [esp + 0x140], edi
lea eax, [0x5c7020]
mov dword [esp], eax
mov dword [esp + 4], edi
lea ecx, [esp + 0x84]
mov dword [esp + 8], ecx
call fcn.00416300
mov eax, dword [esp + 0x164]
mov edi, dword [esp + 0x140]
lea esi, [esp + 0x84]
call fcn.004705fe
mov ecx, dword [0x78be40]
lea edi, [eax + 0x58]
test ecx, ecx
je 0x565af1
mov dword [esp + 0x140], edi
lea eax, [0x5c7020]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x110]
mov dword [esp + 8], eax
call fcn.00416300
mov eax, dword [esp + 0x164]
mov edi, dword [esp + 0x140]
lea esi, [esp + 0x110]
call fcn.004705fe
mov dword [eax + 0x6c], 3
mov edx, dword [esp + 0x6c]
jmp 0x565d8d
mov ecx, dword [0x78be40]
lea edi, [eax + 0x44]
test ecx, ecx
je 0x565b49
mov dword [esp + 0x140], edi
lea eax, [0x5c7020]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x70]
mov dword [esp + 8], eax
call fcn.00416300
mov eax, dword [esp + 0x164]
mov edi, dword [esp + 0x140]
lea esi, [esp + 0x70]
call fcn.004705fe
mov dword [eax + 0x6c], 2
mov edx, dword [esp + 0x6c]
jmp 0x565d8d
cmp ecx, 6
sete cl
mov edx, dword [esp + 0x6c]
mov byte [edx + 0x10], cl
mov dword [esp], eax
call fcn.00563260
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x74]
mov dword [esp + 0x38], edx
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x6204c0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0xffffffff
call fcn.00484a20
mov eax, dword [esp + 0x18]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x30], edx
lea ebx, [0x5c92c0]
mov dword [esp], ebx
call fcn.00410f90
mov eax, dword [0x78be40]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x565bf2
mov eax, dword [esp + 0x164]
jmp 0x565c00
call fcn.0046fee0
mov eax, dword [esp + 0x164]
mov dword [edi], eax
mov dword [ecx + 8], eax
mov dword [ecx], 0x12
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x28]
mov dword [ecx + 0x10], edx
mov edx, dword [esp + 0x30]
mov dword [ecx + 0x14], edx
mov edx, dword [0x78be40]
test edx, edx
jne 0x565c2e
mov edx, dword [esp + 0x4c]
jmp 0x565c39
call fcn.0046fee0
mov edx, dword [esp + 0x4c]
mov dword [edi], edx
mov dword [ecx + 0xc], edx
mov edx, dword [esp + 0x6c]
mov ebx, dword [edx + 0x1c]
mov ebp, dword [edx + 0x18]
inc ebp
mov esi, dword [edx + 0x14]
cmp ebx, ebp
jae 0x565cb2
mov dword [esp + 0x68], ecx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5ca260]
mov dword [esp + 0x10], eax
call fcn.004544e0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 0x1c], eax
mov eax, dword [0x78be40]
test eax, eax
je 0x565c9e
call fcn.0046fef0
mov dword [edi], ecx
mov eax, dword [ebx + 0x14]
mov dword [edi + 4], eax
mov dword [ebx + 0x14], ecx
mov eax, dword [esp + 0x164]
mov ebp, edx
mov esi, ecx
mov ecx, dword [esp + 0x68]
mov edx, ebx
mov dword [edx + 0x18], ebp
mov ebx, dword [0x78be40]
test ebx, ebx
je 0x565ccd
call fcn.0046fef0
mov dword [edi], ecx
mov ebx, dword [esi + ebp*4 - 4]
mov dword [edi + 4], ebx
mov dword [esi + ebp*4 - 4], ecx
mov ecx, dword [eax + 0x78]
mov ebx, dword [eax + 0x74]
inc ebx
mov ebp, dword [eax + 0x70]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
cmp ecx, ebx
jae 0x565d59
mov dword [esp + 0x44], edi
mov dword [esp + 0x13c], esi
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5b1e40]
mov dword [esp + 0x10], eax
call fcn.004544e0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x164]
mov dword [ebx + 0x78], eax
mov eax, dword [0x78be40]
test eax, eax
je 0x565d41
call fcn.0046fef0
mov dword [edi], ecx
mov eax, dword [ebx + 0x70]
mov dword [edi + 4], eax
mov dword [ebx + 0x70], ecx
mov eax, ebx
mov esi, dword [esp + 0x13c]
mov edi, dword [esp + 0x44]
mov ebx, edx
mov ebp, ecx
mov edx, dword [esp + 0x6c]
mov dword [eax + 0x74], ebx
lea ecx, [ebp + ebx*8 - 4]
mov dword [ecx], edi
mov ecx, dword [0x78be40]
lea ebx, [ebp + ebx*8 - 8]
test ecx, ecx
je 0x565d7c
call fcn.0046fef0
mov dword [edi], esi
mov ecx, dword [ebx]
mov dword [edi + 4], ecx
mov dword [ebx], esi
jmp 0x565d8d
mov edx, dword [esp + 0x6c]
jmp 0x565d8d
mov eax, dword [esp + 0x164]
mov dword [esp], eax
call fcn.00563260
lea edi, [esp + 0xe8]
lea esi, [esp + 4]
call fcn.004705fe
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0x170]
cmp ecx, eax
je 0x565efe
cmp eax, 0xd
jg 0x565deb
cmp eax, 3
jg 0x565dd4
cmp eax, 1
je 0x565e12
cmp eax, 3
je 0x565e12
jmp 0x565ec0
cmp eax, 5
je 0x565e12
lea edx, [eax - 9]
cmp edx, 1
jbe 0x565e12
cmp eax, 0xc
jge 0x565e12
jmp 0x565ec0
cmp eax, 0x13
jg 0x565dff
cmp eax, 0xf
je 0x565e12
cmp eax, 0x13
je 0x565e12
jmp 0x565ec0
cmp eax, 0x15
je 0x565e12
cmp eax, 0x1a
je 0x565e12
cmp eax, 0x1f
jne 0x565ec0
nop
mov eax, dword [esp + 0x164]
inc dword [eax + 0x6c]
mov dword [esp], eax
call fcn.00566f70
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0x28]
mov edx, dword [eax + 0x24]
inc edx
mov ebx, dword [esp + 4]
mov ebp, dword [eax + 0x20]
cmp ecx, edx
jae 0x565e9c
mov dword [esp + 0x138], ebx
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5cc100]
mov dword [esp + 0x10], eax
call fcn.004544e0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 0x28], eax
mov eax, dword [0x78be40]
test eax, eax
je 0x565e8e
call fcn.0046fef0
mov dword [edi], ecx
mov eax, dword [ebx + 0x20]
mov dword [edi + 4], eax
mov dword [ebx + 0x20], ecx
mov eax, ebx
mov ebx, dword [esp + 0x138]
mov ebp, ecx
mov dword [eax + 0x24], edx
mov ecx, dword [0x78be40]
test ecx, ecx
je 0x565eb7
call fcn.0046fef0
mov dword [edi], ebx
mov ecx, dword [ebp + edx*4 - 4]
mov dword [edi + 4], ecx
mov dword [ebp + edx*4 - 4], ebx
jmp 0x565d86
mov eax, dword [esp + 0x164]
mov dword [esp], eax
lea edi, [esp + 4]
lea esi, [esp + 0xe8]
call fcn.004705fe
mov ecx, dword [esp + 0x168]
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x16c]
mov dword [esp + 0x1c], edx
call fcn.00563760
mov eax, dword [esp + 0x6c]
jmp 0x565d86
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x168]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x16c]
mov dword [esp + 0xc], ecx
call fcn.00565f60
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x174], eax
add esp, 0x160
ret
mov eax, edx
mov ecx, 3
call fcn.0046ff60
nop
call fcn.0046eae0
jmp fcn.005654b0