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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x44]
cmp eax, dword [ecx + 8]
jbe 0x56e9f3
sub esp, 0xc4
mov dword [esp + 0xe0], 0
mov ecx, dword [esp + 0xc8]
mov edx, dword [ecx + 0x140]
mov ebx, dword [esp + 0xd0]
cmp ebx, edx
xchg ebp, ebx
sete bl
xchg ebp, ebx
jne 0x56d370
mov edx, dword [ecx + 0x150]
mov dword [esp + 0x2c], edx
mov esi, dword [esp + 0xd4]
cmp esi, 0x128
ja 0x56e6e6
cmp esi, 0x4e
ja 0x56e5e3
cmp esi, 0x14
jne 0x56d406
movzx eax, byte [ecx + 0x24a]
test al, al
je 0x56d3ab
movzx eax, byte [ecx + 0x270]
test al, al
je 0x56d3c3
mov dword [esp + 0xe0], 1
nop
call fcn.00427400
add esp, 0xc4
ret
mov byte [ecx + 0x270], 1
mov dword [esp + 8], ecx
mov dword [esp], 4
lea eax, [0x7d0034]
mov dword [esp + 4], eax
call fcn.00426be0
test eax, eax
jne 0x56d3f9
mov eax, dword [esp + 0xc8]
mov dword [esp], eax
call fcn.0056b850
jmp 0x56d3ab
nop
call fcn.00427400
add esp, 0xc4
ret
cmp esi, 0x4e
jne 0x56e5d0
mov eax, dword [esp + 0xdc]
mov edi, eax
mov edx, dword [eax]
mov esi, dword [ecx + 0x144]
cmp esi, edx
jne 0x56e5bd
mov esi, dword [eax + 8]
cmp esi, 0xfffffff4
je 0x56e583
mov dword [esp + 0x90], eax
mov edx, dword [eax + 8]
cmp edx, 0xffffff8d
ja 0x56dcb1
cmp edx, 0xffffff4c
ja 0x56d599
cmp edx, 0xfffffebf
je 0x56d57e
cmp edx, 0xffffff4c
jne 0x56d472
movzx eax, byte [ecx + 0x26c]
test al, al
je 0x56d4b7
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xcc]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0xd4]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edi
call fcn.004cc5b0
mov eax, dword [esp + 0x14]
mov dword [esp + 0xe0], eax
nop
call fcn.00427400
add esp, 0xc4
ret
mov byte [ecx + 0x26c], 1
mov dword [esp + 8], ecx
mov dword [esp], 4
lea eax, [0x7d0040]
mov dword [esp + 4], eax
call fcn.00426be0
test eax, eax
jne 0x56d571
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov eax, dword [esp + 0xd0]
mov dword [esp], eax
mov dword [esp + 4], 0x100e
mov dword [esp + 8], 0
lea ecx, [esp + 0x44]
mov dword [esp + 0xc], ecx
call fcn.004cdf60
mov eax, dword [esp + 0xdc]
mov eax, dword [eax + 0x10]
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0x48]
sub edx, ebx
imul eax, edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
mov dword [esp + 4], 0x1014
mov dword [esp + 8], 0
call fcn.004cdf60
mov ebx, dword [esp + 0xd0]
mov edi, dword [esp + 0xdc]
jmp 0x56d472
nop
call fcn.00427400
add esp, 0xc4
ret
mov dword [esp], ecx
call fcn.0056f0a0
mov ebx, dword [esp + 0xd0]
mov edi, dword [esp + 0xdc]
jmp 0x56d472
cmp edx, 0xffffff4f
je 0x56d5c5
cmp edx, 0xffffff8d
jne 0x56d472
mov dword [esp], ecx
call fcn.0056b4e0
mov ebx, dword [esp + 0xd0]
mov edi, dword [esp + 0xdc]
jmp 0x56d472
mov edx, dword [eax + 0x10]
mov dword [esp + 0x40], edx
mov ebx, dword [eax + 0x14]
mov dword [esp + 8], ebx
mov dword [esp], ecx
xchg ebp, eax
mov byte [esp + 4], al
xchg ebp, eax
call fcn.0056a640
mov eax, dword [esp + 0xc]
cmp eax, 0xffffffff
jne 0x56d5fd
mov ebx, dword [esp + 0xd0]
mov edi, dword [esp + 0xdc]
jmp 0x56d472
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x90]
mov edx, dword [ecx + 0xc]
test edx, 1
ja 0x56d872
mov edx, dword [esp + 0xc8]
mov ebx, dword [edx + 0x180]
mov ebp, dword [edx + 0x17c]
test ebp, ebp
je 0x56d85f
mov esi, dword [ecx + 0xc]
test esi, 2
jbe 0x56d6c5
mov esi, dword [ecx + 0x14]
test esi, esi
jne 0x56d856
test ebp, ebp
jne 0x56d827
xor ebx, ebx
xor ebp, ebp
mov esi, dword [edx + 0x188]
mov edi, dword [edx + 0x184]
test edi, edi
je 0x56d670
test ebp, ebp
je 0x56d771
test ebp, ebp
je 0x56d6c5
mov eax, dword [edx + 0x1c8]
test eax, eax
je 0x56d739
mov eax, dword [edx + 0x1c8]
movzx ecx, byte [edx + 0x1cc]
mov esi, dword [edx + 0x1d0]
mov edi, dword [edx + 0x1d4]
mov dword [esp + 0x14], edi
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov byte [esp + 0xc], cl
mov dword [esp + 0x10], esi
call fcn.00555c60
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x90]
mov dword [ecx + 0x28], eax
mov eax, dword [ecx + 0x14]
test eax, eax
jne 0x56d6ed
mov eax, dword [ecx + 0x1c]
test eax, 0xf000
jbe 0x56d6ed
mov eax, dword [esp + 0xc8]
mov edx, dword [eax + 0x174]
mov eax, dword [eax + 0x178]
test edx, edx
jne 0x56d700
mov ebx, dword [esp + 0xd0]
mov edi, dword [esp + 0xdc]
jmp 0x56d472
mov ecx, dword [edx + 0x10]
mov edx, dword [esp + 0x40]
mov dword [esp + 4], edx
mov dword [esp], eax
call ecx
movzx eax, byte [esp + 8]
test al, al
je 0x56d729
mov eax, dword [esp + 0x90]
mov dword [eax + 0x18], 0x2000
jmp 0x56d6ed
mov eax, dword [esp + 0x90]
mov dword [eax + 0x18], 0x1000
jmp 0x56d6ed
mov dword [esp + 0x84], ebx
mov dword [esp + 0x80], ebp
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.0056cdb0
mov edx, dword [esp + 0xc8]
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x80]
jmp 0x56d682
mov ebx, dword [esp + 0x40]
mov dword [edx + 0x18c], ebx
mov dword [edx + 0x190], eax
mov dword [edx + 0x194], 0
mov dword [edx + 0x198], 0
mov dword [edx + 0x19c], 0
mov dword [edx + 0x1a0], 0
mov dword [edx + 0x1b8], 0
mov eax, dword [0xa08230]
lea ebp, [edx + 0x1bc]
test eax, eax
jne 0x56d7fe
mov dword [edx + 0x1bc], 0
mov eax, dword [edi + 0x10]
lea ecx, [edx + 0x18c]
mov dword [esp + 4], ecx
mov dword [esp], esi
call eax
mov edx, dword [esp + 0xc8]
mov ebx, dword [edx + 0x1bc]
mov ebp, dword [edx + 0x1b8]
mov ecx, dword [esp + 0x90]
jmp 0x56d670
mov dword [esp + 0x74], esi
mov dword [esp + 0x70], edi
mov dword [esp], ebp
mov dword [esp + 4], 0
call fcn.0040f250
mov edx, dword [esp + 0xc8]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
jmp 0x56d7cd
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x40]
mov dword [esp + 4], ecx
mov dword [esp], ebx
call eax
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 8]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0xc8]
jmp 0x56d658
xor ebx, ebx
xor ebp, ebp
jmp 0x56d658
mov esi, dword [edx + 0x184]
test esi, esi
jne 0x56d632
jmp 0x56d6c5
mov ecx, dword [esp + 0xc8]
mov edx, dword [ecx + 0x164]
mov ebx, dword [ecx + 0x168]
mov edx, dword [edx + 0x24]
mov ebp, dword [esp + 0x40]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp], ebx
call edx
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
test eax, eax
je 0x56da5f
mov ecx, dword [eax + 8]
cmp ecx, 0xb0c23ed3
ja 0x56db04
cmp ecx, 0x13ff06c5
jne 0x56d98d
lea edx, [0x73fdc0]
cmp edx, eax
jne 0x56dafa
movzx edx, byte [esi]
jne 0x56d98d
test dl, dl
je 0x56d984
mov eax, dword [0x9f3e6c]
mov ecx, dword [0x9f3e68]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0045a600
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x90]
mov ebp, dword [ebx + 0x20]
mov esi, dword [ebx + 0x24]
cmp ecx, esi
jge 0x56d980
test byte [ebp], al
cmp ecx, eax
ja 0x56e9c9
mov dword [esp + 0x28], ecx
cmp ecx, 0x108
jge 0x56d979
mov dword [esp + 0x8c], ebp
mov dword [esp], ebp
mov dword [esp + 4], edx
shl ecx, 1
mov dword [esp + 8], ecx
call fcn.0044e0c0
mov eax, dword [esp + 0x28]
lea ecx, [eax - 1]
cmp ecx, 0x108
jae 0x56e9c2
mov edx, dword [esp + 0x8c]
mov word [edx + eax*2 - 2], 0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x90]
jmp 0x56d617
mov ecx, 0x108
jmp 0x56d92f
mov ecx, esi
jmp 0x56d918
xor eax, eax
xor ecx, ecx
jmp 0x56d8ef
cmp ecx, 0x2ea27ffb
jne 0x56daef
lea edx, [0x7401c0]
cmp edx, eax
jne 0x56dae7
movsd xmm0, qword [esi]
jne 0x56d9f6
mov eax, dword [esp + 0xc8]
mov ecx, dword [eax + 0x160]
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 4]
mov ebx, dword [esp + 0x30]
cmp ebx, edx
jae 0x56e9e5
mov ecx, dword [ecx + ebx*4]
mov ecx, dword [ecx + 0x20]
test ecx, ecx
jne 0x56d9db
mov ecx, 2
movsd qword [esp], xmm0
mov dword [esp + 8], ecx
call fcn.005766a0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
jmp 0x56d8ef
cmp ecx, 0xb0c23ed3
jne 0x56da5f
lea ecx, [0x740180]
cmp ecx, eax
jne 0x56dadf
movss xmm0, dword [esi]
jne 0x56da5f
mov eax, dword [esp + 0xc8]
mov ecx, dword [eax + 0x160]
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 4]
mov ebx, dword [esp + 0x30]
cmp ebx, edx
jae 0x56e9ec
mov ecx, dword [ecx + ebx*4]
mov ecx, dword [ecx + 0x20]
test ecx, ecx
jne 0x56da40
mov ecx, 2
cvtss2sd xmm0, xmm0
movsd qword [esp], xmm0
mov dword [esp + 8], ecx
call fcn.005766a0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
jmp 0x56d8ef
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], esi
mov eax, dword [esp + 0xc8]
mov ecx, dword [eax + 0x160]
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 4]
mov ebx, dword [esp + 0x30]
cmp ebx, edx
jae 0x56e9d0
mov eax, dword [ecx + ebx*4]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [esp + 0x94]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004b9be0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
jmp 0x56d8ef
xorps xmm0, xmm0
jmp 0x56da10
xorps xmm0, xmm0
jmp 0x56d9ab
cmp ecx, 0xb0c23ed3
jmp 0x56d9fc
mov edx, 0
jmp 0x56d8d5
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x6c], esi
cmp ecx, 0xc0441d00
jne 0x56dcaa
lea edi, [esp + 0x9c]
mov edx, eax
xor eax, eax
call fcn.0044d9bb
lea ecx, [0x7a3180]
cmp ecx, edx
jne 0x56dc99
lea edi, [esp + 0xb0]
call fcn.0044de9e
lea edi, [esp + 0x9c]
lea esi, [esp + 0xb0]
call fcn.0044de9e
lea eax, [0x7a3180]
cmp eax, edx
je 0x56dc22
mov eax, dword [esp + 0x3c]
cmp eax, 0xe0ff5cb4
jne 0x56dc19
lea ecx, [0x744900]
cmp ecx, edx
jne 0x56dc06
mov ecx, dword [esp + 0x6c]
mov ebx, dword [ecx]
mov ebp, dword [ecx + 4]
jne 0x56db94
mov ecx, ebx
mov eax, ebp
jmp 0x56d8ef
cmp eax, 0xed54517d
jne 0x56dc02
lea eax, [0x79f180]
cmp eax, edx
jne 0x56dbf9
mov eax, ecx
jne 0x56dbf0
mov eax, dword [esp + 0xc8]
mov edx, dword [eax + 0x160]
mov ebx, dword [edx + 8]
mov edx, dword [edx + 4]
mov ebp, dword [esp + 0x30]
cmp ebp, ebx
jae 0x56e9d7
mov edx, dword [edx + ebp*4]
mov edx, dword [edx + 0x20]
test edx, edx
jne 0x56dbd7
mov edx, 2
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.00576720
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
jmp 0x56d8ef
mov esi, eax
mov eax, edx
jmp 0x56da5f
mov eax, ecx
mov ecx, 0
jmp 0x56dba7
mov eax, ecx
jmp 0x56dbf0
mov ecx, dword [esp + 0x6c]
mov ebp, 0
mov ebx, 0
jmp 0x56db89
mov ecx, dword [esp + 0x6c]
jmp 0x56db94
mov edi, esp
lea esi, [esp + 0x9c]
call fcn.0044de9e
call fcn.00473190
mov eax, dword [esp + 0x14]
cmp eax, 0x641
jle 0x56dc90
mov eax, dword [esp + 0xc8]
mov ecx, dword [eax + 0x160]
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 4]
mov ebx, dword [esp + 0x30]
cmp ebx, edx
jae 0x56e9de
mov eax, dword [ecx + ebx*4]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
mov edi, esp
lea esi, [esp + 0x9c]
call fcn.0044de9e
call fcn.0046c280
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
jmp 0x56d8ef
xor eax, eax
xor ecx, ecx
jmp 0x56d8ef
lea edi, [esp + 0xb0]
call fcn.0044d9bb
jmp 0x56db42
mov edx, eax
jmp 0x56db63
cmp edx, 0xffffff94
ja 0x56de50
cmp edx, 0xffffff8e
jne 0x56dd28
mov edx, dword [ecx + 0x24c]
test edx, edx
jle 0x56dcd0
mov byte [ecx + 0x255], 1
mov eax, dword [eax + 0xc]
mov edx, dword [ecx + 0x1fc]
cmp eax, edx
jne 0x56dcfe
lea eax, [ecx + 0x218]
mov dword [esp], eax
call fcn.0054e8c0
mov ebx, dword [esp + 0xd0]
mov edi, dword [esp + 0xdc]
jmp 0x56d472
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0056aba0
mov eax, dword [esp + 0xc8]
lea ecx, [eax + 0x200]
mov dword [esp], ecx
call fcn.0054e8c0
mov ecx, dword [esp + 0xc8]
jmp 0x56dcdd
cmp edx, 0xffffff94
jne 0x56d472
mov eax, dword [eax + 0x10]
mov dword [esp + 8], eax
mov dword [esp], ecx
xchg ebp, eax
mov byte [esp + 4], al
xchg ebp, eax
call fcn.0056a640
mov eax, dword [esp + 0xc]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0xc8]
mov edx, dword [ecx + 0x168]
mov ebx, dword [ecx + 0x164]
lea ebp, [0x7709a0]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call fcn.0040c840
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
movzx edx, byte [esp + 0x14]
test dl, dl
jne 0x56ddb7
mov eax, dword [esp + 0xc8]
add eax, 0x224
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
call fcn.005561c0
mov ebx, dword [esp + 0xd0]
mov edi, dword [esp + 0xdc]
jmp 0x56d472
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], ecx
mov edx, dword [ecx + 0x10]
mov ebx, dword [esp + 0x34]
mov dword [esp + 4], ebx
mov dword [esp], eax
call edx
movzx eax, byte [esp + 8]
test al, al
je 0x56dd88
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x7c]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x34]
cmp eax, ecx
je 0x56de26
xor eax, eax
mov edx, dword [esp + 0xc8]
mov dword [edx + 0x258], ecx
mov dword [edx + 0x25c], eax
mov ebx, dword [esp + 0x78]
mov ebx, dword [ebx + 0x14]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
call ebx
jmp 0x56dd88
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x7c]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
cmp eax, 1
jne 0x56de45
mov ecx, dword [esp + 0x34]
jmp 0x56ddf4
mov ecx, dword [esp + 0x34]
mov eax, 1
jmp 0x56ddf6
cmp edx, 0xffffff9b
jne 0x56dfc7
mov edx, dword [eax + 0xc]
cmp edx, 0xffffffff
jne 0x56de70
movzx edx, byte [ecx + 0x248]
test dl, dl
je 0x56d472
mov byte [ecx + 0x248], 0
mov edx, dword [eax + 0x14]
mov ebp, dword [eax + 0x18]
test ebp, 2
xchg esi, ebx
seta bl
xchg esi, ebx
test edx, 2
seta dl
jbe 0x56de9d
test ebp, 2
jbe 0x56defc
xchg esi, eax
cmp dl, al
xchg esi, eax
je 0x56d472
movzx eax, byte [ecx + 0x249]
test al, al
jne 0x56d472
mov dword [esp], ecx
call fcn.0056b050
movzx eax, byte [esp + 4]
test al, al
jne 0x56deda
mov ebx, dword [esp + 0xd0]
mov edi, dword [esp + 0xdc]
jmp 0x56d472
mov eax, dword [esp + 0xc8]
mov dword [esp], eax
call fcn.0056b4e0
mov ebx, dword [esp + 0xd0]
mov edi, dword [esp + 0xdc]
jmp 0x56d472
mov byte [esp + 0x26], dl
xchg esi, eax
mov byte [esp + 0x27], al
xchg esi, eax
mov ebp, dword [ecx + 0x1fc]
mov dword [ecx + 0x1f8], ebp
mov ebp, dword [eax + 0xc]
mov dword [ecx + 0x1fc], ebp
mov ebp, dword [ecx + 0x24c]
test ebp, ebp
jle 0x56dfb6
mov byte [ecx + 0x255], 0
mov eax, dword [ecx + 8]
mov edx, dword [ecx + 0x24c]
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 0xc], 0
call fcn.004ce440
mov eax, dword [esp + 0x10]
test eax, eax
je 0x56df9e
mov eax, dword [esp + 0x90]
mov eax, dword [eax + 0xc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc8]
mov dword [esp], eax
call fcn.0056aba0
mov ecx, dword [esp + 0xc8]
movzx edx, byte [esp + 0x26]
mov ebx, dword [esp + 0xd0]
movzx esi, byte [esp + 0x27]
mov edi, dword [esp + 0xdc]
jmp 0x56de9d
lea eax, [0x7b6794]
mov dword [esp], eax
mov dword [esp + 4], 8
call fcn.0054e0c0
jmp 0x56df5d
mov eax, dword [eax + 0xc]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0056aba0
jmp 0x56df7a
cmp edx, 0xfffffff4
jne 0x56d472
mov edx, dword [eax + 0x48]
test edx, edx
jne 0x56e56b
mov edx, dword [eax + 0x24]
mov dword [esp + 0x38], edx
mov ebx, dword [eax + 0x38]
mov dword [esp + 8], ebx
mov dword [esp], ecx
xchg ebp, eax
mov byte [esp + 4], al
xchg ebp, eax
call fcn.0056a640
mov eax, dword [esp + 0xc]
cmp eax, 0xffffffff
jne 0x56e013
mov ebx, dword [esp + 0xd0]
mov edi, dword [esp + 0xdc]
jmp 0x56d472
mov ecx, dword [esp + 0x90]
mov edx, dword [ecx + 0xc]
cmp edx, 0x10001
ja 0x56e300
cmp edx, 1
je 0x56e2e8
cmp edx, 0x10001
jne 0x56e2d0
mov eax, dword [ecx + 0x28]
test eax, 0x40
setne al
mov edx, dword [esp + 0xc8]
mov byte [edx + 0x1c4], al
mov eax, dword [edx + 0x250]
test eax, eax
je 0x56e2c7
mov ebx, dword [esp + 0x38]
mov ebp, ebx
sar ebx, 0x1f
shr ebx, 0x1f
add ebx, ebp
sar ebx, 1
shl ebx, 1
mov esi, ebp
sub ebp, ebx
cmp ebp, 1
jne 0x56e2b6
mov dword [edx + 0x1ac], eax
mov eax, dword [edx + 0x184]
test eax, eax
je 0x56e2af
mov dword [edx + 0x18c], esi
mov dword [edx + 0x190], 0xffffffff
mov eax, dword [ecx + 0x1c]
mov ebx, dword [ecx + 0x18]
mov ebp, dword [ecx + 0x14]
mov esi, dword [ecx + 0x20]
mov dword [edx + 0x194], ebp
mov dword [edx + 0x198], ebx
sub eax, ebp
mov dword [edx + 0x19c], eax
sub esi, ebx
mov dword [edx + 0x1a0], esi
mov dword [edx + 0x1a4], 0
mov eax, dword [ecx + 0x30]
mov dword [edx + 0x1b0], eax
mov eax, dword [0xa08230]
lea ebx, [edx + 0x1b4]
test eax, eax
jne 0x56e28c
mov dword [edx + 0x1b4], 0
mov dword [edx + 0x1b8], 0
mov eax, dword [0xa08230]
lea ebx, [edx + 0x1bc]
test eax, eax
jne 0x56e270
mov dword [edx + 0x1bc], 0
mov eax, dword [edx + 0x184]
mov ecx, dword [edx + 0x188]
mov eax, dword [eax + 0x10]
lea ebx, [edx + 0x18c]
mov dword [esp + 4], ebx
mov dword [esp], ecx
call eax
mov eax, dword [0xa08230]
mov ecx, dword [esp + 0xc8]
lea edx, [ecx + 0x1c0]
mov ebx, dword [ecx + 0x1b4]
test eax, eax
jne 0x56e258
mov dword [ecx + 0x1c0], ebx
mov eax, dword [ecx + 0x1ac]
mov edx, dword [0xa07b28]
cmp eax, edx
jne 0x56e1ae
mov eax, dword [ecx + 0x1b0]
mov edx, dword [esp + 0x90]
mov dword [edx + 0x30], eax
mov eax, dword [ecx + 0x1ac]
mov dword [edx + 0x34], eax
mov dword [esp + 0xe0], 0x20
nop
call fcn.00427400
add esp, 0xc4
ret
mov dword [esp], eax
call fcn.005451a0
mov eax, dword [esp + 4]
test eax, eax
jne 0x56e1c7
mov ecx, dword [esp + 0xc8]
jmp 0x56e17d
mov dword [esp + 0x88], eax
mov dword [esp + 8], eax
mov dword [esp], 4
lea ecx, [0x7d0078]
mov dword [esp + 4], ecx
call fcn.00426be0
test eax, eax
jne 0x56e24b
mov eax, dword [esp + 0x90]
mov ecx, dword [eax + 0x10]
mov dword [esp], ecx
call fcn.005462a0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x90]
mov edx, dword [ecx + 0x1c]
mov ebx, dword [ecx + 0x18]
mov ebp, dword [ecx + 0x14]
mov esi, dword [ecx + 0x20]
mov dword [esp], eax
lea eax, [0x802ea0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
sub edx, ebp
mov dword [esp + 0x14], edx
sub esi, ebx
mov dword [esp + 0x18], esi
call fcn.00547190
jmp 0x56e1be
nop
call fcn.00427400
add esp, 0xc4
ret
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.0040f250
mov ecx, dword [esp + 0xc8]
jmp 0x56e16d
mov dword [esp], ebx
mov dword [esp + 4], 0
call fcn.0040f250
mov edx, dword [esp + 0xc8]
jmp 0x56e128
mov dword [esp], ebx
mov dword [esp + 4], 0
call fcn.0040f250
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0xc8]
jmp 0x56e100
mov ecx, edx
jmp 0x56e16d
mov eax, dword [0xa07b28]
mov dword [edx + 0x1ac], eax
jmp 0x56e089
mov esi, dword [esp + 0x38]
jmp 0x56e089
mov dword [esp + 0xe0], 0x100
nop
call fcn.00427400
add esp, 0xc4
ret
mov dword [esp + 0xe0], 0x20
nop
call fcn.00427400
add esp, 0xc4
ret
cmp edx, 0x30001
jne 0x56e35d
mov eax, dword [esp + 0xc8]
mov eax, dword [eax + 0x1c0]
test eax, eax
jne 0x56e331
mov dword [esp + 0xe0], 0x112
nop
call fcn.00427400
add esp, 0xc4
ret
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.0054f190
mov eax, dword [esp + 0x90]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004c7730
jmp 0x56e319
cmp edx, 0x30002
jne 0x56e2d0
mov edx, dword [esp + 0xc8]
mov ebx, dword [edx + 0x184]
test ebx, ebx
je 0x56e4b2
mov ebx, dword [esp + 0x38]
mov dword [edx + 0x18c], ebx
mov dword [edx + 0x190], eax
mov eax, dword [edx + 0x250]
test eax, eax
je 0x56e3b7
mov ebp, ebx
sar ebx, 0x1f
shr ebx, 0x1f
add ebx, ebp
sar ebx, 1
shl ebx, 1
sub ebp, ebx
cmp ebp, 1
jne 0x56e55a
mov dword [edx + 0x1ac], eax
mov eax, dword [ecx + 0x18]
mov ebx, dword [ecx + 0x14]
mov ebp, dword [ecx + 0x20]
mov esi, dword [ecx + 0x1c]
mov dword [edx + 0x194], ebx
mov dword [edx + 0x198], eax
sub esi, ebx
mov dword [edx + 0x19c], esi
sub ebp, eax
mov dword [edx + 0x1a0], ebp
mov eax, dword [ecx + 0x10]
mov dword [edx + 0x1a4], eax
mov eax, dword [ecx + 0x30]
mov dword [edx + 0x1b0], eax
mov eax, dword [0xa08230]
lea ebx, [edx + 0x1b4]
test eax, eax
jne 0x56e537
mov dword [edx + 0x1b4], 0
mov dword [edx + 0x1b8], 0
mov eax, dword [0xa08230]
lea ebx, [edx + 0x1bc]
test eax, eax
jne 0x56e51b
mov dword [edx + 0x1bc], 0
mov eax, dword [edx + 0x184]
mov ecx, dword [edx + 0x188]
mov eax, dword [eax + 0x10]
lea ebx, [edx + 0x18c]
mov dword [esp + 4], ebx
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 8], eax
mov dword [esp], 4
lea ecx, [0x7d003c]
mov dword [esp + 4], ecx
call fcn.00426be0
test eax, eax
jne 0x56e50e
mov eax, dword [esp + 0xc8]
mov ecx, dword [eax + 0x1a8]
test ecx, ecx
jne 0x56e4f6
mov ecx, dword [eax + 0x1ac]
mov edx, dword [esp + 0x90]
mov dword [edx + 0x34], ecx
mov ecx, dword [eax + 0x1b0]
mov dword [edx + 0x30], ecx
mov eax, dword [eax + 0x1b4]
test eax, eax
jne 0x56e4ca
mov dword [esp + 0xe0], 0x102
nop
call fcn.00427400
add esp, 0xc4
ret
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.0054f190
mov eax, dword [esp + 0x90]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004c7730
jmp 0x56e4b2
mov dword [esp + 0xe0], 4
nop
call fcn.00427400
add esp, 0xc4
ret
nop
call fcn.00427400
add esp, 0xc4
ret
mov dword [esp], ebx
mov dword [esp + 4], 0
call fcn.0040f250
mov edx, dword [esp + 0xc8]
jmp 0x56e437
mov dword [esp], ebx
mov dword [esp + 4], 0
call fcn.0040f250
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0xc8]
jmp 0x56e40f
mov eax, dword [0xa07b28]
mov dword [edx + 0x1ac], eax
jmp 0x56e3b7
mov dword [esp + 0xe0], 0x100
nop
call fcn.00427400
add esp, 0xc4
ret
mov dword [esp], edx
mov eax, dword [esp + 0xd4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edi
call fcn.0056ea00
mov eax, dword [esp + 0x10]
mov dword [esp + 0xe0], eax
nop
call fcn.00427400
add esp, 0xc4
ret
mov esi, dword [ecx + 0x154]
cmp esi, edx
je 0x56d428
jmp 0x56d434
mov eax, dword [esp + 0xd8]
mov edi, dword [esp + 0xdc]
jmp 0x56d479
cmp esi, 0x87
jne 0x56e61b
mov eax, dword [esp + 0xd8]
cmp eax, 0xd
je 0x56e603
mov edi, dword [esp + 0xdc]
jmp 0x56d479
mov dword [esp + 0xe0], 4
nop
call fcn.00427400
add esp, 0xc4
ret
cmp esi, 0x100
jne 0x56e6ac
mov eax, dword [esp + 0xd8]
cmp eax, 0x20
jne 0x56e648
mov edx, dword [ecx + 0x1fc]
cmp edx, 0xffffffff
jle 0x56e648
mov edx, dword [ecx + 0x174]
test edx, edx
jne 0x56e654
mov edi, dword [esp + 0xdc]
jmp 0x56d479
mov dword [esp], ecx
call fcn.0056a450
movzx eax, byte [esp + 4]
test al, al
jne 0x56e67c
mov eax, dword [esp + 0xd8]
mov ebx, dword [esp + 0xd0]
mov esi, dword [esp + 0xd4]
jmp 0x56e648
mov eax, dword [esp + 0xc8]
mov ecx, dword [eax + 0x1fc]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0056cc40
mov eax, dword [esp + 0xd8]
mov ebx, dword [esp + 0xd0]
mov esi, dword [esp + 0xd4]
jmp 0x56e648
cmp esi, 0x128
jne 0x56e5d0
mov eax, dword [esp + 0xd8]
cmp ax, 1
jne 0x56e6d6
or eax, 0x10000
mov edi, dword [esp + 0xdc]
jmp 0x56d479
lea ecx, [eax - 2]
cmp cx, 1
ja 0x56e6ca
and eax, 0x10000
jmp 0x56e6ca
cmp esi, 0x201
ja 0x56e996
cmp esi, 0x200
jne 0x56e7b2
movzx eax, byte [ecx + 0x26e]
test al, al
je 0x56e71c
mov eax, dword [esp + 0xd8]
mov edi, dword [esp + 0xdc]
jmp 0x56d479
mov byte [ecx + 0x26e], 1
mov dword [esp + 8], ecx
mov dword [esp], 4
lea eax, [0x7d0038]
mov dword [esp + 4], eax
call fcn.00426be0
test eax, eax
jne 0x56e7a5
mov eax, dword [esp + 0xd4]
cmp eax, 0x200
jne 0x56e79c
mov ecx, dword [esp + 0xdc]
shr ecx, 0x10
shl ecx, 0x10
mov dword [esp + 0xdc], ecx
mov edx, dword [esp + 0x2c]
mov dword [esp], edx
mov dword [esp + 4], eax
mov edx, dword [esp + 0xd8]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
call fcn.004cdf60
mov ebx, dword [esp + 0xd0]
mov eax, dword [esp + 0xd8]
mov edi, dword [esp + 0xdc]
jmp 0x56d479
mov ecx, dword [esp + 0xdc]
jmp 0x56e75c
nop
call fcn.00427400
add esp, 0xc4
ret
cmp esi, 0x201
jne 0x56e5d0
lea edi, [esp + 0x54]
xor eax, eax
call fcn.0044d9ba
mov ecx, dword [esp + 0xdc]
movsx edx, cx
mov dword [esp + 0x54], edx
shr ecx, 0x10
movsx ecx, cx
mov dword [esp + 0x58], ecx
mov dword [esp], ebx
mov dword [esp + 4], 0x1012
mov dword [esp + 8], 0
lea ecx, [esp + 0x54]
mov dword [esp + 0xc], ecx
call fcn.004cdf60
mov ecx, dword [esp + 0x5c]
cmp ecx, 1
je 0x56e8f4
mov eax, dword [esp + 0xd4]
cmp eax, 0x203
ja 0x56e8dd
cmp eax, 0x201
jne 0x56e895
mov ecx, dword [esp + 0x5c]
cmp ecx, 8
jne 0x56e841
mov ecx, dword [esp + 0xc8]
mov edx, dword [ecx + 0x174]
test edx, edx
jne 0x56e85b
mov ebx, dword [esp + 0xd0]
mov eax, dword [esp + 0xd8]
mov edi, dword [esp + 0xdc]
jmp 0x56d479
mov dword [esp], ecx
call fcn.0056a450
movzx eax, byte [esp + 4]
test al, al
jne 0x56e875
mov eax, dword [esp + 0xd4]
jmp 0x56e841
mov eax, dword [esp + 0xc8]
mov dword [esp], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 4], eax
call fcn.0056cc40
mov eax, dword [esp + 0xd4]
jmp 0x56e841
cmp eax, 0x203
jne 0x56e841
mov ecx, dword [esp + 0xc8]
mov edx, dword [ecx + 0x1fc]
mov ebx, dword [ecx + 0x1f8]
cmp ebx, edx
je 0x56e841
mov ebx, dword [ecx + 0x24c]
test ebx, ebx
jle 0x56e841
mov dword [ecx + 0x1f8], edx
lea eax, [ecx + 0x200]
mov dword [esp], eax
call fcn.0054e8c0
mov eax, dword [esp + 0xd4]
jmp 0x56e841
cmp eax, 0x204
je 0x56e827
cmp eax, 0x206
je 0x56e89c
jmp 0x56e841
mov eax, dword [esp + 0xc8]
mov dword [esp], eax
call fcn.0056b050
movzx eax, byte [esp + 4]
test al, al
je 0x56e91f
mov eax, dword [esp + 0xc8]
mov byte [eax + 0x248], 1
jmp 0x56e80e
mov eax, dword [esp + 0xc8]
mov dword [esp], eax
call fcn.0056a450
movzx eax, byte [esp + 4]
test al, al
je 0x56e969
mov eax, dword [esp + 0xc8]
mov ecx, dword [eax + 0x1fc]
cmp ecx, 0xffffffff
jle 0x56e80e
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call fcn.0056aba0
mov eax, dword [esp + 0xc8]
jmp 0x56e80e
mov eax, dword [esp + 0xc8]
mov eax, dword [eax + 0x140]
mov dword [esp], eax
call fcn.004ce150
mov dword [esp + 0xe0], 0
nop
call fcn.00427400
add esp, 0xc4
ret
lea ebp, [esi - 0x203]
cmp ebp, 1
jbe 0x56e7be
cmp esi, 0x206
je 0x56e7be
cmp esi, 0x2a3
je 0x56e6fe
jmp 0x56e5d0
call fcn.00426960
ud2
call fcn.004269c0
ud2
call fcn.00426960
ud2
call fcn.00426960
ud2
call fcn.00426960
ud2
call fcn.00426960
ud2
call fcn.00426960
ud2
call fcn.0044be50
jmp fcn.0056d320