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

Disassembly:
mov ecx, dword [0x8cbf38]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 4]
cmp eax, dword [ecx + 8]
jbe 0x56e1c0
sub esp, 0x84
mov edx, dword [esp + 0x88]
test edx, edx
je 0x56d991
movzx ebx, byte [edx]
cmp bl, 0x10
ja 0x56d6e6
cmp bl, 0xd
je 0x56d96c
cmp bl, 0xe
jb 0x56d983
mov ebx, dword [edx + 8]
test ebx, ebx
jbe 0x56e1b6
mov eax, dword [edx + 4]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.0056d5b0
mov eax, dword [esp + 4]
movzx ecx, byte [eax]
cmp cl, 2
jne 0x56d626
mov edx, eax
jmp 0x56d6d8
mov edx, dword [esp + 0x88]
movzx ebx, byte [edx]
movzx ebp, word [edx + 2]
cmp cl, bl
jne 0x56d650
mov esi, ebp
and ebp, 0x20
movzx edi, word [eax + 2]
and edi, 0x20
cmp di, bp
jne 0x56d652
mov edx, eax
jmp 0x56d6d8
mov esi, ebp
mov ebp, dword [edx + 8]
test ebp, ebp
jbe 0x56e1ad
mov ecx, dword [edx + 4]
cmp dword [ecx], eax
je 0x56d6d8
mov dword [esp + 0x58], eax
mov byte [esp + 0x23], bl
mov word [esp + 0x2e], si
lea eax, [0x6577a0]
mov dword [esp], eax
call fcn.0040fcf0
mov eax, dword [esp + 4]
movzx ecx, byte [esp + 0x23]
mov byte [eax], cl
movzx ecx, word [esp + 0x2e]
mov word [eax + 2], cx
mov ecx, dword [0x8cc0e0]
test ecx, ecx
jne 0x56d6a3
mov ecx, dword [esp + 0x58]
jmp 0x56d6ae
call fcn.0046beb0
mov ecx, dword [esp + 0x58]
mov dword [edi], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 8], 1
mov dword [eax + 0xc], 1
mov ecx, dword [0x8cc0e0]
lea edx, [eax + 0x10]
test ecx, ecx
je 0x56d6d3
call fcn.0046beb0
mov dword [edi], edx
mov dword [eax + 4], edx
mov edx, eax
mov dword [esp + 0x8c], edx
add esp, 0x84
ret
cmp bl, 0x11
jne 0x56d967
mov ebx, dword [edx + 0x28]
test ebx, ebx
jne 0x56d720
mov ebx, dword [edx + 0x2c]
test ebx, ebx
jne 0x56d720
lea eax, [0x6577a0]
mov dword [esp], eax
call fcn.0040fcf0
mov eax, dword [esp + 4]
mov byte [eax], 2
mov dword [esp + 0x8c], eax
add esp, 0x84
ret
mov ebx, dword [edx + 8]
test ebx, ebx
jbe 0x56e1a4
mov eax, dword [edx + 4]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.0056d5b0
mov eax, dword [esp + 0x88]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 4]
mov dword [esp + 0x54], edx
cmp ecx, 0xffffffff
jne 0x56d8f1
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x56d852
cmp ecx, 1
je 0x56d7b3
lea eax, [0x6577a0]
mov dword [esp], eax
call fcn.0040fcf0
mov eax, dword [esp + 4]
mov byte [eax], 0x12
mov dword [eax + 8], 0
mov dword [eax + 0xc], 1
mov ecx, dword [0x8cc0e0]
lea edx, [eax + 0x10]
test ecx, ecx
je 0x56d79a
call fcn.0046beb0
mov dword [edi], edx
mov dword [esp + 0x6c], eax
mov dword [eax + 4], edx
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x88]
xor ebx, ebx
jmp 0x56dfce
movzx ecx, byte [edx]
cmp cl, 2
jne 0x56d7c2
mov eax, edx
jmp 0x56d844
movzx eax, word [eax + 2]
mov word [esp + 0x2a], ax
cmp cl, 0xf
jne 0x56d7e3
and eax, 0x20
movzx ebx, word [edx + 2]
and ebx, 0x20
cmp bx, ax
jne 0x56d7e3
mov eax, edx
jmp 0x56d844
lea eax, [0x6577a0]
mov dword [esp], eax
call fcn.0040fcf0
mov eax, dword [esp + 4]
mov byte [eax], 0xf
movzx ecx, word [esp + 0x2a]
mov word [eax + 2], cx
mov ecx, dword [0x8cc0e0]
test ecx, ecx
jne 0x56d811
mov ecx, dword [esp + 0x54]
jmp 0x56d81c
call fcn.0046beb0
mov ecx, dword [esp + 0x54]
mov dword [edi], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 8], 1
mov dword [eax + 0xc], 1
mov ecx, dword [0x8cc0e0]
lea edx, [eax + 0x10]
test ecx, ecx
je 0x56d841
call fcn.0046beb0
mov dword [edi], edx
mov dword [eax + 4], edx
mov dword [esp + 0x8c], eax
add esp, 0x84
ret
movzx ecx, byte [edx]
cmp cl, 2
jne 0x56d861
mov eax, edx
jmp 0x56d8e3
movzx eax, word [eax + 2]
mov word [esp + 0x2c], ax
cmp cl, 0xe
jne 0x56d882
and eax, 0x20
movzx ebx, word [edx + 2]
and ebx, 0x20
cmp bx, ax
jne 0x56d882
mov eax, edx
jmp 0x56d8e3
lea eax, [0x6577a0]
mov dword [esp], eax
call fcn.0040fcf0
mov eax, dword [esp + 4]
mov byte [eax], 0xe
movzx ecx, word [esp + 0x2c]
mov word [eax + 2], cx
mov ecx, dword [0x8cc0e0]
test ecx, ecx
jne 0x56d8b0
mov ecx, dword [esp + 0x54]
jmp 0x56d8bb
call fcn.0046beb0
mov ecx, dword [esp + 0x54]
mov dword [edi], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 8], 1
mov dword [eax + 0xc], 1
mov ecx, dword [0x8cc0e0]
lea edx, [eax + 0x10]
test ecx, ecx
je 0x56d8e0
call fcn.0046beb0
mov dword [edi], edx
mov dword [eax + 4], edx
mov dword [esp + 0x8c], eax
add esp, 0x84
ret
mov ebx, dword [eax + 0x28]
cmp ebx, 1
jne 0x56d90c
cmp ecx, 1
jne 0x56d90c
mov dword [esp + 0x8c], edx
add esp, 0x84
ret
test ebx, ebx
jg 0x56d917
xor ecx, ecx
jmp 0x56dcbc
lea eax, [0x6577a0]
mov dword [esp], eax
call fcn.0040fcf0
mov eax, dword [esp + 4]
mov byte [eax], 0x12
mov dword [eax + 8], 0
mov dword [eax + 0xc], 1
mov ecx, dword [0x8cc0e0]
lea edx, [eax + 0x10]
test ecx, ecx
je 0x56d94e
call fcn.0046beb0
mov dword [edi], edx
mov dword [esp + 0x60], eax
mov dword [eax + 4], edx
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x88]
xor ebx, ebx
jmp 0x56dc09
cmp bl, 0x13
ja 0x56d983
mov eax, dword [edx + 4]
mov dword [esp + 0x80], eax
mov ecx, dword [edx + 8]
mov dword [esp + 0x48], ecx
mov ebx, edx
xor ebp, ebp
jmp 0x56d9bc
mov dword [esp + 0x8c], edx
add esp, 0x84
ret
mov dword [esp + 0x8c], 0
add esp, 0x84
ret
mov esi, dword [esp + 0x3c]
lea ebp, [esi + 1]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x88]
cmp ebp, ecx
jge 0x56dbf1
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x70], edx
mov ecx, dword [eax + ebp*4]
mov dword [esp + 0x5c], ecx
mov dword [esp], ecx
call fcn.0056d5b0
mov eax, dword [esp + 4]
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x70]
cmp ecx, edx
jne 0x56db53
mov ebx, dword [esp + 0x5c]
cmp eax, ebx
je 0x56db53
lea eax, [0x6577a0]
mov dword [esp], eax
call fcn.0040fcf0
mov eax, dword [0x8cc0e0]
mov edi, dword [esp + 4]
mov dword [esp + 0x70], edi
test eax, eax
je 0x56da43
lea eax, [0x6577a0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov eax, dword [esp + 0x88]
mov dword [esp + 8], eax
call fcn.004152e0
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0x88]
call fcn.0046c53a
mov eax, dword [esp + 0x70]
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov ecx, dword [0x8cc0e0]
test ecx, ecx
je 0x56da75
mov ebx, dword [eax + 0x14]
call fcn.0046beb0
mov dword [edi], ebx
mov dword [eax + 0x14], 0
mov ebx, dword [esp + 0x88]
mov edx, dword [ebx + 0xc]
mov ebp, dword [ebx + 4]
mov ecx, dword [esp + 0x3c]
cmp ecx, edx
ja 0x56dbff
lea edx, [eax + 0x10]
cmp ecx, 1
ja 0x56daa6
mov esi, ecx
mov edi, 1
jmp 0x56dae4
mov dword [esp + 0x7c], ebp
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov dword [esp + 0xc], ecx
lea eax, [0x654120]
mov dword [esp + 0x10], eax
call fcn.00451aa0
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x3c]
mov ecx, ebp
mov edi, eax
mov ebp, dword [esp + 0x7c]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x78], edx
mov dword [esp + 0x40], edi
lea eax, [0x654120]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.00415380
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x70]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x40]
mov dword [ecx + 0xc], eax
mov eax, dword [0x8cc0e0]
test eax, eax
jne 0x56db30
mov eax, dword [esp + 0x78]
jmp 0x56db41
call fcn.0046bec0
mov eax, dword [esp + 0x78]
mov dword [edi], eax
mov edx, dword [ecx + 4]
mov dword [edi + 4], edx
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x70]
cmp ecx, edx
je 0x56d9a3
mov ebx, dword [edx + 0xc]
mov ebp, dword [edx + 8]
inc ebp
mov esi, dword [edx + 4]
cmp ebx, ebp
jae 0x56dbcd
mov dword [esp + 0x74], edx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x654120]
mov dword [esp + 0x10], eax
call fcn.00451aa0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x74]
mov dword [ebx + 0xc], eax
mov eax, dword [0x8cc0e0]
test eax, eax
je 0x56dbb9
call fcn.0046bec0
mov dword [edi], ecx
mov eax, dword [ebx + 4]
mov dword [edi + 4], eax
mov dword [ebx + 4], ecx
mov eax, dword [esp + 0x64]
mov ebp, edx
mov esi, ecx
mov ecx, dword [esp + 0x88]
mov edx, ebx
mov dword [edx + 8], ebp
mov ebx, dword [0x8cc0e0]
test ebx, ebx
je 0x56dbe8
call fcn.0046bec0
mov dword [edi], eax
mov ebx, dword [esi + ebp*4 - 4]
mov dword [edi + 4], ebx
mov dword [esi + ebp*4 - 4], eax
jmp 0x56d9a3
mov dword [esp + 0x8c], edx
add esp, 0x84
ret
call fcn.0046bf70
mov dword [edi + esi*4 - 4], ecx
inc ebx
cmp dword [edx + 0x28], ebx
jle 0x56dcb4
mov ebp, dword [eax + 0xc]
mov esi, dword [eax + 8]
inc esi
mov edi, dword [eax + 4]
cmp ebp, esi
jae 0x56dc88
mov dword [esp + 0x34], ebx
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x654120]
mov dword [esp + 0x10], eax
call fcn.00451aa0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x60]
mov dword [ebx + 0xc], eax
mov eax, dword [0x8cc0e0]
test eax, eax
je 0x56dc70
call fcn.0046bec0
mov dword [edi], ecx
mov eax, dword [ebx + 4]
mov dword [edi + 4], eax
mov dword [ebx + 4], ecx
mov eax, ebx
mov ebx, dword [esp + 0x34]
mov esi, edx
mov edi, ecx
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x88]
mov dword [eax + 8], esi
mov ebp, dword [0x8cc0e0]
test ebp, ebp
je 0x56dc04
mov ebp, edi
call fcn.0046bec0
mov dword [edi], ecx
mov eax, dword [ebp + esi*4 - 4]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x60]
mov edi, ebp
jmp 0x56dc04
mov eax, edx
mov edx, ecx
mov ecx, dword [esp + 0x60]
mov ebx, dword [eax + 0x2c]
cmp dword [eax + 0x28], ebx
jge 0x56dd74
mov dword [esp + 0x60], ecx
movzx ebx, byte [edx]
cmp bl, 2
jne 0x56dcdb
mov ebx, edx
jmp 0x56dd6e
movzx ebp, word [eax + 2]
mov word [esp + 0x26], bp
cmp bl, 0x10
jne 0x56dcfc
and ebp, 0x20
movzx esi, word [edx + 2]
and esi, 0x20
cmp si, bp
jne 0x56dcfc
mov ebx, edx
jmp 0x56dd6e
lea eax, [0x6577a0]
mov dword [esp], eax
call fcn.0040fcf0
mov eax, dword [esp + 4]
mov byte [eax], 0x10
movzx ecx, word [esp + 0x26]
mov word [eax + 2], cx
mov ecx, dword [0x8cc0e0]
test ecx, ecx
jne 0x56dd2a
mov ecx, dword [esp + 0x54]
jmp 0x56dd35
call fcn.0046beb0
mov ecx, dword [esp + 0x54]
mov dword [edi], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 8], 1
mov dword [eax + 0xc], 1
mov edx, dword [0x8cc0e0]
lea ebx, [eax + 0x10]
test edx, edx
je 0x56dd5a
call fcn.0046beb0
mov dword [edi], ebx
mov dword [eax + 4], ebx
mov ecx, dword [esp + 0x60]
mov ebx, dword [esp + 0x54]
mov edx, eax
mov eax, dword [esp + 0x88]
mov ebp, dword [eax + 0x28]
inc ebp
jmp 0x56ddbc
test ecx, ecx
je 0x56dd86
mov dword [esp + 0x8c], ecx
add esp, 0x84
ret
lea eax, [0x6577a0]
mov dword [esp], eax
call fcn.0040fcf0
mov eax, dword [esp + 4]
mov byte [eax], 1
mov dword [esp + 0x8c], eax
add esp, 0x84
ret
mov esi, dword [esp + 0x30]
lea ebp, [esi + 1]
mov eax, edx
mov ecx, dword [esp + 0x60]
mov edx, ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x50], edx
cmp dword [eax + 0x2c], ebp
jle 0x56df28
mov dword [esp + 0x30], ebp
lea eax, [0x6577a0]
mov dword [esp], eax
call fcn.0040fcf0
mov eax, dword [esp + 4]
mov dword [esp + 0x68], eax
mov byte [eax], 0x12
lea ecx, [eax + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], 2
mov dword [esp + 8], 1
mov dword [esp + 0xc], 2
lea ecx, [0x654120]
mov dword [esp + 0x10], ecx
call fcn.00451aa0
mov eax, dword [0x8cc0e0]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
test eax, eax
jne 0x56de2f
mov eax, dword [esp + 0x54]
mov ebx, dword [esp + 0x50]
jmp 0x56de4c
call fcn.0046bee0
mov eax, dword [esp + 0x54]
mov dword [edi], eax
mov ebx, dword [ecx]
mov dword [edi + 4], ebx
mov ebx, dword [esp + 0x50]
mov dword [edi + 8], ebx
mov ebp, dword [ecx + 4]
mov dword [edi + 0xc], ebp
mov dword [ecx], eax
mov dword [ecx + 4], ebx
mov ebx, dword [esp + 0x68]
mov dword [ebx + 8], 2
mov dword [ebx + 0xc], edx
mov edx, dword [0x8cc0e0]
test edx, edx
je 0x56de76
call fcn.0046bec0
mov dword [edi], ecx
mov edx, dword [ebx + 4]
mov dword [edi + 4], edx
mov dword [ebx + 4], ecx
movzx ecx, byte [ebx]
cmp cl, 2
jne 0x56de8d
mov edx, dword [esp + 0x88]
jmp 0x56dda9
mov edx, dword [esp + 0x88]
movzx ebp, word [edx + 2]
mov word [esp + 0x24], bp
cmp cl, 0x10
jne 0x56deb5
and ebp, 0x20
movzx esi, word [ebx + 2]
and esi, 0x20
cmp si, bp
je 0x56dda9
lea eax, [0x6577a0]
mov dword [esp], eax
call fcn.0040fcf0
mov eax, dword [esp + 4]
mov byte [eax], 0x10
movzx ecx, word [esp + 0x24]
mov word [eax + 2], cx
mov ecx, dword [0x8cc0e0]
test ecx, ecx
jne 0x56dee3
mov ecx, dword [esp + 0x68]
jmp 0x56deee
call fcn.0046beb0
mov ecx, dword [esp + 0x68]
mov dword [edi], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 8], 1
mov dword [eax + 0xc], 1
mov ecx, dword [0x8cc0e0]
lea edx, [eax + 0x10]
test ecx, ecx
je 0x56df13
call fcn.0046beb0
mov dword [edi], edx
mov dword [eax + 4], edx
mov edx, dword [esp + 0x88]
mov ebx, eax
mov eax, dword [esp + 0x54]
jmp 0x56dda9
test ecx, ecx
je 0x56dfbb
mov eax, dword [ecx + 0xc]
mov ebx, dword [ecx + 8]
inc ebx
mov ebp, dword [ecx + 4]
cmp eax, ebx
jae 0x56df97
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x654120]
mov dword [esp + 0x10], eax
call fcn.00451aa0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x60]
mov dword [ebx + 0xc], eax
mov eax, dword [0x8cc0e0]
test eax, eax
je 0x56df8a
call fcn.0046bec0
mov dword [edi], ecx
mov eax, dword [ebx + 4]
mov dword [edi + 4], eax
mov dword [ebx + 4], ecx
mov ebp, ecx
mov ecx, ebx
mov ebx, edx
mov edx, dword [esp + 0x50]
mov dword [ecx + 8], ebx
mov eax, dword [0x8cc0e0]
test eax, eax
je 0x56dfb2
call fcn.0046bec0
mov dword [edi], edx
mov eax, dword [ebp + ebx*4 - 4]
mov dword [edi + 4], eax
mov dword [ebp + ebx*4 - 4], edx
jmp 0x56dd74
mov dword [esp + 0x8c], edx
add esp, 0x84
ret
mov dword [edi + esi*4 - 4], ecx
inc ebx
mov ebp, dword [edx + 0x28]
dec ebp
cmp ebx, ebp
jge 0x56e07c
mov ebp, dword [eax + 0xc]
mov esi, dword [eax + 8]
inc esi
mov edi, dword [eax + 4]
cmp ebp, esi
jae 0x56e050
mov dword [esp + 0x38], ebx
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x654120]
mov dword [esp + 0x10], eax
call fcn.00451aa0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 0xc], eax
mov eax, dword [0x8cc0e0]
test eax, eax
je 0x56e038
call fcn.0046bec0
mov dword [edi], ecx
mov eax, dword [ebx + 4]
mov dword [edi + 4], eax
mov dword [ebx + 4], ecx
mov eax, ebx
mov ebx, dword [esp + 0x38]
mov esi, edx
mov edi, ecx
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x88]
mov dword [eax + 8], esi
mov ebp, dword [0x8cc0e0]
test ebp, ebp
je 0x56dfc9
mov ebp, edi
call fcn.0046bec0
mov dword [edi], ecx
mov eax, dword [ebp + esi*4 - 4]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x6c]
mov edi, ebp
jmp 0x56dfc9
movzx ebx, byte [ecx]
cmp bl, 2
je 0x56e10c
movzx edx, word [edx + 2]
mov word [esp + 0x28], dx
cmp bl, 0xf
jne 0x56e0a5
and edx, 0x20
movzx ebp, word [ecx + 2]
and ebp, 0x20
cmp bp, dx
je 0x56e10c
lea eax, [0x6577a0]
mov dword [esp], eax
call fcn.0040fcf0
mov eax, dword [esp + 4]
mov byte [eax], 0xf
movzx ecx, word [esp + 0x28]
mov word [eax + 2], cx
mov ecx, dword [0x8cc0e0]
test ecx, ecx
jne 0x56e0d3
mov ecx, dword [esp + 0x54]
jmp 0x56e0de
call fcn.0046beb0
mov ecx, dword [esp + 0x54]
mov dword [edi], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 8], 1
mov dword [eax + 0xc], 1
mov ecx, dword [0x8cc0e0]
lea edx, [eax + 0x10]
test ecx, ecx
je 0x56e103
call fcn.0046beb0
mov dword [edi], edx
mov dword [eax + 4], edx
mov ecx, eax
mov eax, dword [esp + 0x6c]
mov edx, dword [eax + 0xc]
mov ebx, dword [eax + 8]
inc ebx
mov ebp, dword [eax + 4]
cmp edx, ebx
jae 0x56e177
mov dword [esp + 0x4c], ecx
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x654120]
mov dword [esp + 0x10], eax
call fcn.00451aa0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 0xc], eax
mov eax, dword [0x8cc0e0]
test eax, eax
je 0x56e16a
call fcn.0046bec0
mov dword [edi], ecx
mov eax, dword [ebx + 4]
mov dword [edi + 4], eax
mov dword [ebx + 4], ecx
mov eax, ebx
mov ebx, edx
mov ebp, ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 8], ebx
mov edx, dword [0x8cc0e0]
test edx, edx
je 0x56e192
call fcn.0046bec0
mov dword [edi], ecx
mov edx, dword [ebp + ebx*4 - 4]
mov dword [edi + 4], edx
mov dword [ebp + ebx*4 - 4], ecx
mov dword [esp + 0x8c], eax
add esp, 0x84
ret
xor eax, eax
mov ecx, eax
call fcn.0046bf30
xor eax, eax
mov ecx, eax
call fcn.0046bf30
xor eax, eax
mov ecx, eax
call fcn.0046bf30
nop
call fcn.0046aab0
jmp fcn.0056d5b0