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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x140]
cmp eax, dword [ecx + 8]
jbe 0x56c33c
sub esp, 0x1c0
mov ebx, dword [esp + 0x1c8]
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 9
xchg ebp, eax
ja 0x56b3b1
xchg ebp, eax
cmp al, 4
xchg ebp, eax
ja 0x56af14
xchg ebp, eax
cmp al, 2
xchg ebp, eax
jbe 0x56adc1
xchg ebp, eax
cmp al, 3
xchg ebp, eax
jne 0x56ad60
mov ebp, dword [ebx + 0x18]
test ebp, ebp
je 0x56ac53
mov dword [esp + 0x88], ebp
mov esi, dword [esp + 0x1c4]
xor eax, eax
xor ecx, ecx
xor edx, edx
xor edi, edi
xor eax, eax
mov dword [esp + 0x5c], eax
xor eax, eax
jmp 0x56c1b1
mov ecx, dword [esp + 0x1c4]
mov edx, dword [ecx]
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x88], edx
lea edi, [esp + 0x190]
xor eax, eax
call fcn.0046395a
mov byte [esp + 0x190], 6
mov ecx, dword [esp + 0x1c4]
mov ecx, dword [ecx]
mov ebx, dword [ecx]
mov ebp, dword [ecx + 8]
mov eax, edx
mov edx, dword [ecx + 4]
inc edx
cmp ebp, edx
jae 0x56acf4
mov dword [esp + 0xb4], ecx
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5f5200]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xb4]
mov dword [edi + 8], edx
mov edx, dword [0x7c78f0]
test edx, edx
jne 0x56ace2
mov dword [edi], eax
jmp 0x56ace7
call fcn.00463730
mov edx, ecx
mov ebx, eax
mov eax, dword [esp + 0x88]
mov ecx, edi
mov dword [ecx + 4], edx
lea ecx, [edx + edx*2]
lea edi, [ebx + ecx*8 - 0x18]
mov ecx, dword [0x7c78f0]
test ecx, ecx
jne 0x56ad16
lea esi, [esp + 0x190]
call fcn.00463e34
jmp 0x56ad3a
lea eax, [0x5f5200]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x190]
mov dword [esp + 8], eax
call fcn.00410860
mov eax, dword [esp + 0x88]
mov dword [esp + 0x1cc], eax
shl eax, 1
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x1d4], eax
mov byte [esp + 0x1d8], 1
add esp, 0x1c0
ret
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x18]
mov edx, dword [ebx + 0x1c]
movzx ebx, word [ebx + 2]
mov ebp, dword [esp + 0x1c4]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov word [esp + 0x10], bx
call fcn.0056c9a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
movzx ebx, byte [esp + 0x20]
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1d0], ecx
mov dword [esp + 0x1d4], edx
mov byte [esp + 0x1d8], bl
add esp, 0x1c0
ret
xchg ebp, eax
cmp al, 1
xchg ebp, eax
je 0x56aee4
xchg ebp, eax
cmp al, 2
xchg ebp, eax
jne 0x56bec1
mov ecx, dword [esp + 0x1c4]
mov edx, dword [ecx]
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x88], edx
lea edi, [esp + 0x1a8]
xor eax, eax
call fcn.0046395a
mov byte [esp + 0x1a8], 6
mov ecx, dword [esp + 0x1c4]
mov ecx, dword [ecx]
mov ebx, dword [ecx]
mov ebp, dword [ecx + 8]
mov eax, edx
mov edx, dword [ecx + 4]
inc edx
cmp ebp, edx
jae 0x56ae78
mov dword [esp + 0xb4], ecx
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5f5200]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xb4]
mov dword [edi + 8], edx
mov edx, dword [0x7c78f0]
test edx, edx
jne 0x56ae66
mov dword [edi], eax
jmp 0x56ae6b
call fcn.00463730
mov edx, ecx
mov ebx, eax
mov eax, dword [esp + 0x88]
mov ecx, edi
mov dword [ecx + 4], edx
lea ecx, [edx + edx*2]
lea edi, [ebx + ecx*8 - 0x18]
mov ecx, dword [0x7c78f0]
test ecx, ecx
jne 0x56ae9a
lea esi, [esp + 0x1a8]
call fcn.00463e34
jmp 0x56aebe
lea eax, [0x5f5200]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x1a8]
mov dword [esp + 8], eax
call fcn.00410860
mov eax, dword [esp + 0x88]
mov dword [esp + 0x1cc], eax
shl eax, 1
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x1d4], eax
mov byte [esp + 0x1d8], 1
add esp, 0x1c0
ret
mov dword [esp + 0x1cc], 0
mov dword [esp + 0x1d0], 0
mov dword [esp + 0x1d4], 0
mov byte [esp + 0x1d8], 0
add esp, 0x1c0
ret
xchg ebp, eax
cmp al, 6
xchg ebp, eax
ja 0x56aff6
xchg ebp, eax
cmp al, 5
xchg ebp, eax
jne 0x56af8e
mov eax, dword [0x79c4d8]
mov ecx, dword [0x79c4dc]
mov edx, dword [0x79c4e0]
mov ebx, dword [esp + 0x1c4]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov word [esp + 0x10], 0
call fcn.0056c9a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
movzx ebx, byte [esp + 0x20]
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1d0], ecx
mov dword [esp + 0x1d4], edx
mov byte [esp + 0x1d8], bl
add esp, 0x1c0
ret
mov eax, dword [0x79c4c8]
mov ecx, dword [0x79c4cc]
mov edx, dword [0x79c4d0]
mov ebx, dword [esp + 0x1c4]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov word [esp + 0x10], 0
call fcn.0056c9a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
movzx ebx, byte [esp + 0x20]
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1d0], ecx
mov dword [esp + 0x1d4], edx
mov byte [esp + 0x1d8], bl
add esp, 0x1c0
ret
xchg ebp, eax
cmp al, 7
xchg ebp, eax
jne 0x56b138
mov ecx, dword [esp + 0x1c4]
mov edx, dword [ecx]
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x88], edx
lea edi, [esp + 0x178]
xor eax, eax
call fcn.0046395a
mov byte [esp + 0x178], 3
mov ecx, dword [esp + 0x1c4]
mov ebx, dword [ecx]
mov ebp, dword [ebx]
mov eax, edx
mov edx, dword [ebx + 8]
mov esi, ecx
mov ecx, dword [ebx + 4]
inc ecx
cmp edx, ecx
jae 0x56b0a9
mov dword [esp + 0xb4], ebx
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5f5200]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xb4]
mov dword [edi + 8], edx
mov edx, dword [0x7c78f0]
test edx, edx
jne 0x56b092
mov dword [edi], eax
jmp 0x56b097
call fcn.00463730
mov ebx, edi
mov esi, dword [esp + 0x1c4]
mov ebp, eax
mov eax, dword [esp + 0x88]
mov dword [ebx + 4], ecx
lea ecx, [ecx + ecx*2]
lea edi, [ebp + ecx*8 - 0x18]
mov ecx, dword [0x7c78f0]
test ecx, ecx
jne 0x56b0cb
lea esi, [esp + 0x178]
call fcn.00463e34
jmp 0x56b0ef
lea eax, [0x5f5200]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x178]
mov dword [esp + 8], eax
call fcn.00410860
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x1c4]
mov edx, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
cmp eax, ecx
jae 0x56c178
lea ecx, [eax + eax*2]
lea ecx, [edx + ecx*8 + 8]
mov dword [ecx], 1
mov dword [esp + 0x1cc], eax
shl eax, 1
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x1d4], eax
mov byte [esp + 0x1d8], 1
add esp, 0x1c0
ret
xchg ebp, eax
cmp al, 8
xchg ebp, eax
jne 0x56b27a
mov ecx, dword [esp + 0x1c4]
mov edx, dword [ecx]
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x88], edx
lea edi, [esp + 0x160]
xor eax, eax
call fcn.0046395a
mov byte [esp + 0x160], 3
mov ecx, dword [esp + 0x1c4]
mov ebx, dword [ecx]
mov ebp, dword [ebx]
mov eax, edx
mov edx, dword [ebx + 8]
mov esi, ecx
mov ecx, dword [ebx + 4]
inc ecx
cmp edx, ecx
jae 0x56b1eb
mov dword [esp + 0xb4], ebx
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5f5200]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xb4]
mov dword [edi + 8], edx
mov edx, dword [0x7c78f0]
test edx, edx
jne 0x56b1d4
mov dword [edi], eax
jmp 0x56b1d9
call fcn.00463730
mov ebx, edi
mov esi, dword [esp + 0x1c4]
mov ebp, eax
mov eax, dword [esp + 0x88]
mov dword [ebx + 4], ecx
lea ecx, [ecx + ecx*2]
lea edi, [ebp + ecx*8 - 0x18]
mov ecx, dword [0x7c78f0]
test ecx, ecx
jne 0x56b20d
lea esi, [esp + 0x160]
call fcn.00463e34
jmp 0x56b231
lea eax, [0x5f5200]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x160]
mov dword [esp + 8], eax
call fcn.00410860
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x1c4]
mov edx, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
cmp eax, ecx
jae 0x56c173
lea ecx, [eax + eax*2]
lea ecx, [edx + ecx*8 + 8]
mov dword [ecx], 2
mov dword [esp + 0x1cc], eax
shl eax, 1
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x1d4], eax
mov byte [esp + 0x1d8], 1
add esp, 0x1c0
ret
mov ecx, dword [esp + 0x1c4]
mov edx, dword [ecx]
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x88], edx
lea edi, [esp + 0x148]
xor eax, eax
call fcn.0046395a
mov byte [esp + 0x148], 3
mov ecx, dword [esp + 0x1c4]
mov ebx, dword [ecx]
mov ebp, dword [ebx]
mov eax, edx
mov edx, dword [ebx + 8]
mov esi, ecx
mov ecx, dword [ebx + 4]
inc ecx
cmp edx, ecx
jae 0x56b322
mov dword [esp + 0xb4], ebx
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5f5200]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xb4]
mov dword [edi + 8], edx
mov edx, dword [0x7c78f0]
test edx, edx
jne 0x56b30b
mov dword [edi], eax
jmp 0x56b310
call fcn.00463730
mov ebx, edi
mov esi, dword [esp + 0x1c4]
mov ebp, eax
mov eax, dword [esp + 0x88]
mov dword [ebx + 4], ecx
lea ecx, [ecx + ecx*2]
lea edi, [ebp + ecx*8 - 0x18]
mov ecx, dword [0x7c78f0]
test ecx, ecx
jne 0x56b344
lea esi, [esp + 0x148]
call fcn.00463e34
jmp 0x56b368
lea eax, [0x5f5200]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x148]
mov dword [esp + 8], eax
call fcn.00410860
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x1c4]
mov edx, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
cmp eax, ecx
jae 0x56c16e
lea ecx, [eax + eax*2]
lea ecx, [edx + ecx*8 + 8]
mov dword [ecx], 4
mov dword [esp + 0x1cc], eax
shl eax, 1
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x1d4], eax
mov byte [esp + 0x1d8], 1
add esp, 0x1c0
ret
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
ja 0x56ba56
xchg ebp, eax
cmp al, 0xb
xchg ebp, eax
jbe 0x56b7dd
xchg ebp, eax
cmp al, 0xc
xchg ebp, eax
je 0x56b6a6
mov ecx, dword [esp + 0x1c4]
mov edx, dword [ecx]
mov ebp, dword [ebx + 0x30]
mov dword [esp + 0x88], ebp
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x84], edx
lea edi, [esp + 0xe8]
xor eax, eax
call fcn.0046395a
mov byte [esp + 0xe8], 2
mov ecx, dword [esp + 0x1c4]
mov esi, ebx
mov ebx, dword [ecx]
mov edi, ebp
mov ebp, dword [ebx]
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 4]
inc ecx
cmp edx, ecx
jae 0x56b486
mov dword [esp + 0xb4], ebx
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5f5200]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xb4]
mov dword [edi + 8], edx
mov edx, dword [0x7c78f0]
test edx, edx
jne 0x56b46d
mov dword [edi], eax
jmp 0x56b472
call fcn.00463730
mov ebx, edi
mov esi, dword [esp + 0x1c8]
mov edi, dword [esp + 0x88]
mov ebp, eax
xor eax, eax
mov dword [ebx + 4], ecx
lea ecx, [ecx + ecx*2]
lea ecx, [ebp + ecx*8 - 0x18]
mov edx, dword [0x7c78f0]
test edx, edx
jne 0x56b4ae
mov edx, edi
mov edi, ecx
mov ebx, esi
lea esi, [esp + 0xe8]
call fcn.00463e34
jmp 0x56b4db
lea eax, [0x5f5200]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [esp + 0xe8]
mov dword [esp + 8], eax
call fcn.00410860
xor eax, eax
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0x1c8]
mov ebp, dword [esp + 0x1c4]
mov esi, dword [ebp]
mov ecx, dword [esi + 4]
mov esi, dword [esi]
mov edi, dword [esp + 0x84]
cmp edi, ecx
jae 0x56c167
shl edx, 1
mov ecx, edi
lea edi, [edi + edi*2]
lea esi, [esi + edi*8 + 8]
mov dword [esi], edx
mov esi, dword [ebp]
inc edx
cmp dword [esi + 0x10], edx
jge 0x56b512
mov dword [esi + 0x10], edx
mov edx, dword [ebx + 8]
mov esi, dword [ebx + 4]
test edx, edx
jbe 0x56c15e
mov eax, dword [esi]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.0056abd0
mov eax, dword [esp + 0x1c4]
mov ecx, dword [eax]
mov edx, dword [esp + 0x1c8]
mov edx, dword [edx + 0x30]
mov dword [esp + 0x88], edx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x80], ebx
nop
mov ebp, dword [esp + 8]
mov dword [esp + 0x7c], ebp
movzx esi, byte [esp + 0x14]
xchg esi, eax
mov byte [esp + 0x37], al
xchg esi, eax
mov ecx, dword [ecx + 4]
mov dword [esp + 0x78], ecx
lea edi, [esp + 0xd0]
xor eax, eax
call fcn.0046395a
mov byte [esp + 0xd0], 2
mov eax, dword [esp + 0x1c4]
mov ecx, dword [eax]
mov edi, dword [ecx]
mov ebx, dword [ecx + 8]
mov esi, dword [ecx + 4]
inc esi
cmp ebx, esi
jae 0x56b604
mov dword [esp + 0xb4], ecx
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5f5200]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xb4]
mov dword [edi + 8], edx
mov edx, dword [0x7c78f0]
test edx, edx
jne 0x56b5e7
mov dword [edi], eax
jmp 0x56b5ec
call fcn.00463730
mov edx, dword [esp + 0x88]
mov ebp, dword [esp + 0x7c]
mov esi, ecx
mov ecx, edi
mov edi, eax
mov eax, dword [esp + 0x1c4]
mov dword [ecx + 4], esi
lea ecx, [esi + esi*2]
lea edi, [edi + ecx*8 - 0x18]
mov ecx, dword [0x7c78f0]
test ecx, ecx
jne 0x56b626
lea esi, [esp + 0xd0]
call fcn.00463e34
jmp 0x56b655
lea eax, [0x5f5200]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xd0]
mov dword [esp + 8], eax
call fcn.00410860
mov eax, dword [esp + 0x1c4]
mov edx, dword [esp + 0x88]
mov ebp, dword [esp + 0x7c]
mov ebx, dword [eax]
mov ecx, dword [ebx + 4]
mov ebx, dword [ebx]
mov esi, dword [esp + 0x78]
cmp esi, ecx
jae 0x56c157
shl edx, 1
or edx, 1
lea edi, [esi + esi*2]
lea ebx, [ebx + edi*8 + 8]
mov dword [ebx], edx
mov ebx, dword [eax]
inc edx
cmp dword [ebx + 0x10], edx
jge 0x56b681
mov dword [ebx + 0x10], edx
mov edx, dword [esp + 0x84]
test edx, edx
je 0x56b690
test ebp, ebp
jne 0x56b69b
xor ebx, ebx
xor ecx, ecx
xor edx, edx
jmp 0x56c0b3
mov ebx, edx
shl edx, 1
mov edi, dword [eax]
jmp 0x56c06b
mov ecx, dword [esp + 0x1c4]
mov edx, dword [ecx]
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x88], edx
lea edi, [esp + 0x100]
xor eax, eax
call fcn.0046395a
mov byte [esp + 0x100], 3
mov ecx, dword [esp + 0x1c4]
mov ebx, dword [ecx]
mov ebp, dword [ebx]
mov eax, edx
mov edx, dword [ebx + 8]
mov esi, ecx
mov ecx, dword [ebx + 4]
inc ecx
cmp edx, ecx
jae 0x56b74e
mov dword [esp + 0xb4], ebx
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5f5200]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xb4]
mov dword [edi + 8], edx
mov edx, dword [0x7c78f0]
test edx, edx
jne 0x56b737
mov dword [edi], eax
jmp 0x56b73c
call fcn.00463730
mov ebx, edi
mov esi, dword [esp + 0x1c4]
mov ebp, eax
mov eax, dword [esp + 0x88]
mov dword [ebx + 4], ecx
lea ecx, [ecx + ecx*2]
lea edi, [ebp + ecx*8 - 0x18]
mov ecx, dword [0x7c78f0]
test ecx, ecx
jne 0x56b770
lea esi, [esp + 0x100]
call fcn.00463e34
jmp 0x56b794
lea eax, [0x5f5200]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x100]
mov dword [esp + 8], eax
call fcn.00410860
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x1c4]
mov edx, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
cmp eax, ecx
jae 0x56c05b
lea ecx, [eax + eax*2]
lea ecx, [edx + ecx*8 + 8]
mov dword [ecx], 0x20
mov dword [esp + 0x1cc], eax
shl eax, 1
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x1d4], eax
mov byte [esp + 0x1d8], 1
add esp, 0x1c0
ret
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
jne 0x56b91f
mov ecx, dword [esp + 0x1c4]
mov edx, dword [ecx]
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x88], edx
lea edi, [esp + 0x130]
xor eax, eax
call fcn.0046395a
mov byte [esp + 0x130], 3
mov ecx, dword [esp + 0x1c4]
mov ebx, dword [ecx]
mov ebp, dword [ebx]
mov eax, edx
mov edx, dword [ebx + 8]
mov esi, ecx
mov ecx, dword [ebx + 4]
inc ecx
cmp edx, ecx
jae 0x56b890
mov dword [esp + 0xb4], ebx
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5f5200]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xb4]
mov dword [edi + 8], edx
mov edx, dword [0x7c78f0]
test edx, edx
jne 0x56b879
mov dword [edi], eax
jmp 0x56b87e
call fcn.00463730
mov ebx, edi
mov esi, dword [esp + 0x1c4]
mov ebp, eax
mov eax, dword [esp + 0x88]
mov dword [ebx + 4], ecx
lea ecx, [ecx + ecx*2]
lea edi, [ebp + ecx*8 - 0x18]
mov ecx, dword [0x7c78f0]
test ecx, ecx
jne 0x56b8b2
lea esi, [esp + 0x130]
call fcn.00463e34
jmp 0x56b8d6
lea eax, [0x5f5200]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x130]
mov dword [esp + 8], eax
call fcn.00410860
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x1c4]
mov edx, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
cmp eax, ecx
jae 0x56c056
lea ecx, [eax + eax*2]
lea ecx, [edx + ecx*8 + 8]
mov dword [ecx], 8
mov dword [esp + 0x1cc], eax
shl eax, 1
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x1d4], eax
mov byte [esp + 0x1d8], 1
add esp, 0x1c0
ret
mov ecx, dword [esp + 0x1c4]
mov edx, dword [ecx]
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x88], edx
lea edi, [esp + 0x118]
xor eax, eax
call fcn.0046395a
mov byte [esp + 0x118], 3
mov ecx, dword [esp + 0x1c4]
mov ebx, dword [ecx]
mov ebp, dword [ebx]
mov eax, edx
mov edx, dword [ebx + 8]
mov esi, ecx
mov ecx, dword [ebx + 4]
inc ecx
cmp edx, ecx
jae 0x56b9c7
mov dword [esp + 0xb4], ebx
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5f5200]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xb4]
mov dword [edi + 8], edx
mov edx, dword [0x7c78f0]
test edx, edx
jne 0x56b9b0
mov dword [edi], eax
jmp 0x56b9b5
call fcn.00463730
mov ebx, edi
mov esi, dword [esp + 0x1c4]
mov ebp, eax
mov eax, dword [esp + 0x88]
mov dword [ebx + 4], ecx
lea ecx, [ecx + ecx*2]
lea edi, [ebp + ecx*8 - 0x18]
mov ecx, dword [0x7c78f0]
test ecx, ecx
jne 0x56b9e9
lea esi, [esp + 0x118]
call fcn.00463e34
jmp 0x56ba0d
lea eax, [0x5f5200]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x118]
mov dword [esp + 8], eax
call fcn.00410860
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x1c4]
mov edx, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
cmp eax, ecx
jae 0x56c051
lea ecx, [eax + eax*2]
lea ecx, [edx + ecx*8 + 8]
mov dword [ecx], 0x10
mov dword [esp + 0x1cc], eax
shl eax, 1
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x1d4], eax
mov byte [esp + 0x1d8], 1
add esp, 0x1c0
ret
xchg ebp, eax
cmp al, 0xf
xchg ebp, eax
jbe 0x56bc79
xchg ebp, eax
cmp al, 0x10
xchg ebp, eax
je 0x56bbd9
xchg ebp, eax
cmp al, 0x12
xchg ebp, eax
jne 0x56bbab
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 4]
test ecx, ecx
je 0x56ba9e
mov dword [esp + 0x88], ecx
mov dword [esp + 0xb0], edx
xor eax, eax
xor ebx, ebx
xor ebp, ebp
xor esi, esi
xor edi, edi
jmp 0x56beff
mov ecx, dword [esp + 0x1c4]
mov edx, dword [ecx]
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x88], edx
lea edi, [esp + 0xb8]
xor eax, eax
call fcn.0046395a
mov byte [esp + 0xb8], 6
mov ecx, dword [esp + 0x1c4]
mov ecx, dword [ecx]
mov ebx, dword [ecx]
mov ebp, dword [ecx + 8]
mov eax, edx
mov edx, dword [ecx + 4]
inc edx
cmp ebp, edx
jae 0x56bb3f
mov dword [esp + 0xb4], ecx
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5f5200]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xb4]
mov dword [edi + 8], edx
mov edx, dword [0x7c78f0]
test edx, edx
jne 0x56bb2d
mov dword [edi], eax
jmp 0x56bb32
call fcn.00463730
mov edx, ecx
mov ebx, eax
mov eax, dword [esp + 0x88]
mov ecx, edi
mov dword [ecx + 4], edx
lea ecx, [edx + edx*2]
lea edi, [ebx + ecx*8 - 0x18]
mov ecx, dword [0x7c78f0]
test ecx, ecx
jne 0x56bb61
lea esi, [esp + 0xb8]
call fcn.00463e34
jmp 0x56bb85
lea eax, [0x5f5200]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xb8]
mov dword [esp + 8], eax
call fcn.00410860
mov eax, dword [esp + 0x88]
mov dword [esp + 0x1cc], eax
shl eax, 1
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x1d4], eax
mov byte [esp + 0x1d8], 1
add esp, 0x1c0
ret
xchg ebp, eax
cmp al, 0x13
xchg ebp, eax
jne 0x56bec1
mov eax, dword [ebx + 4]
mov dword [esp + 0xac], eax
mov ecx, dword [ebx + 8]
mov dword [esp + 0x88], ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
xor edi, edi
jmp 0x56be94
mov edx, dword [ebx + 8]
mov ebp, dword [ebx + 4]
test edx, edx
jbe 0x56bde0
mov eax, dword [ebp]
mov ecx, dword [esp + 0x1c4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0056abd0
mov eax, dword [esp + 0x1c8]
movzx eax, word [eax + 2]
test ax, 0x20
setne al
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
movzx ebp, byte [esp + 0x14]
mov esi, dword [esp + 0x1c4]
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
xchg ebp, eax
mov byte [esp + 0x10], al
xchg ebp, eax
mov byte [esp + 0x14], al
call fcn.0056c560
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
movzx ebx, byte [esp + 0x24]
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1d0], ecx
mov dword [esp + 0x1d4], edx
mov byte [esp + 0x1d8], bl
add esp, 0x1c0
ret
xchg ebp, eax
cmp al, 0xe
xchg ebp, eax
jne 0x56bd24
mov edx, dword [ebx + 8]
mov ebp, dword [ebx + 4]
test edx, edx
jbe 0x56bdd7
mov eax, dword [ebp]
mov ecx, dword [esp + 0x1c4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0056abd0
mov eax, dword [esp + 0x1c8]
movzx eax, word [eax + 2]
test ax, 0x20
setne al
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
movzx ebp, byte [esp + 0x14]
mov esi, dword [esp + 0x1c4]
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
xchg ebp, eax
mov byte [esp + 0x10], al
xchg ebp, eax
mov byte [esp + 0x14], al
call fcn.0056c880
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
movzx ebx, byte [esp + 0x24]
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1d0], ecx
mov dword [esp + 0x1d4], edx
mov byte [esp + 0x1d8], bl
add esp, 0x1c0
ret
mov edx, dword [ebx + 8]
mov ebp, dword [ebx + 4]
test edx, edx
jbe 0x56bdce
mov eax, dword [ebp]
mov ecx, dword [esp + 0x1c4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0056abd0
mov eax, dword [esp + 0x1c8]
movzx eax, word [eax + 2]
test ax, 0x20
setne al
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 8]
mov dword [esp + 0x3c], ebx
movzx ebp, byte [esp + 0x14]
xchg ebp, eax
mov byte [esp + 0x36], al
xchg ebp, eax
mov esi, dword [esp + 0x1c4]
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
xchg ebp, eax
mov byte [esp + 0x10], al
xchg ebp, eax
mov byte [esp + 0x14], al
call fcn.0056c6f0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x1cc], edx
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x1d4], ecx
movzx eax, byte [esp + 0x36]
mov byte [esp + 0x1d8], al
add esp, 0x1c0
ret
xor eax, eax
mov ecx, eax
call fcn.004637b0
xor eax, eax
mov ecx, eax
call fcn.004637b0
xor eax, eax
mov ecx, eax
call fcn.004637b0
mov dword [esp + 0x58], ebx
mov dword [esp + 0x60], ebp
xchg edi, eax
mov byte [esp + 0x38], al
xchg edi, eax
mov dword [esp + 0x6c], esi
mov dword [esp + 0x84], edx
mov ecx, dword [eax + edx*4]
mov ebx, dword [esp + 0x1c4]
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.0056abd0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
movzx ebx, byte [esp + 0x14]
mov ebp, dword [esp + 0x1c4]
mov dword [esp], ebp
mov esi, dword [esp + 0x6c]
mov dword [esp + 4], esi
mov esi, dword [esp + 0x60]
mov dword [esp + 8], esi
mov esi, dword [esp + 0x58]
mov dword [esp + 0xc], esi
movzx esi, byte [esp + 0x38]
xchg esi, eax
mov byte [esp + 0x10], al
xchg esi, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
mov byte [esp + 0x20], bl
call fcn.0056c350
mov eax, dword [esp + 0x84]
lea edx, [eax + 1]
mov esi, dword [esp + 0x24]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
movzx edi, byte [esp + 0x30]
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x88]
cmp edx, ecx
jl 0x56bde9
mov dword [esp + 0x1cc], esi
mov dword [esp + 0x1d0], ebp
mov dword [esp + 0x1d4], ebx
xchg edi, eax
mov byte [esp + 0x1d8], al
xchg edi, eax
add esp, 0x1c0
ret
lea eax, [0x5e1fa0]
mov dword [esp], eax
lea eax, [0x6617b4]
mov dword [esp + 4], eax
call fcn.00435720
mov edx, dword [esp + 0x44]
inc edx
mov esi, eax
mov edi, ecx
mov ecx, dword [esp + 0x88]
mov eax, edx
mov edx, dword [esp + 0xb0]
mov ecx, ebx
mov ebx, ebp
mov ebp, ecx
mov ecx, dword [esp + 0x88]
cmp eax, ecx
jge 0x56bfcb
mov dword [esp + 0x44], eax
mov edi, dword [edx + eax*4]
test eax, eax
jne 0x56bf3e
mov eax, dword [esp + 0x1c4]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.0056abd0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
movzx ebx, byte [esp + 0x14]
mov ebp, eax
mov eax, ecx
mov ecx, edx
jmp 0x56bed9
xchg ebp, eax
mov byte [esp + 0x39], al
xchg ebp, eax
mov dword [esp + 0x64], esi
mov dword [esp + 0x70], ebx
mov eax, dword [esp + 0x1c4]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.0056abd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 8]
movzx ebx, byte [esp + 0x14]
mov ebp, dword [esp + 0x70]
test ebp, ebp
je 0x56bf7c
test edx, edx
jne 0x56bf89
xor ecx, ecx
xor ebp, ebp
xor eax, eax
xor ebx, ebx
jmp 0x56bed9
mov byte [esp + 0x3b], bl
mov edi, dword [esp + 0x1c4]
mov esi, edi
mov edi, dword [edi]
mov dword [esp + 0x9c], edi
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x94]
jmp 0x56c00b
movzx edx, byte [esp + 0x39]
test dl, dl
jne 0x56bed9
xor ebx, ebx
jmp 0x56bed9
mov dword [esp + 0x1cc], ebx
mov dword [esp + 0x1d0], esi
mov dword [esp + 0x1d4], edi
xchg ebp, eax
mov byte [esp + 0x1d8], al
xchg ebp, eax
add esp, 0x1c0
ret
mov edi, dword [esp + 0x9c]
movzx ebx, byte [esp + 0x3b]
mov esi, dword [esp + 0x1c4]
mov dword [esp + 0x48], ebp
mov ebp, dword [esp + 0x70]
mov esi, dword [esp + 0x48]
test esi, esi
je 0x56bfb7
mov ebp, dword [edi]
mov ebx, dword [edi + 4]
shr esi, 1
cmp ebx, esi
jbe 0x56c048
lea ebx, [esi + esi*2]
lea esi, [ebp + ebx*8]
mov edi, dword [esp + 0x48]
test edi, 1
jne 0x56c03b
lea ebx, [ebp + ebx*8 + 4]
mov ebp, dword [ebx]
mov dword [ebx], edx
jmp 0x56bff0
mov esi, dword [esi + 8]
lea ebx, [ebp + ebx*8 + 8]
mov dword [ebx], edx
mov ebp, esi
jmp 0x56bff0
mov eax, esi
mov ecx, ebx
call fcn.004637c0
call fcn.004637c0
call fcn.004637c0
call fcn.004637c0
mov esi, ecx
mov edx, ebx
mov ebx, dword [esp + 0x84]
test edx, edx
je 0x56c0a7
mov dword [esp + 0x50], edx
mov ecx, esi
mov esi, dword [edi]
mov ebx, dword [edi + 4]
shr edx, 1
cmp ebx, edx
jbe 0x56c14e
lea edx, [edx + edx*2]
mov ebx, dword [esp + 0x50]
test ebx, 1
jne 0x56c09d
lea edx, [esi + edx*8 + 4]
mov ebx, dword [edx]
mov dword [edx], ebp
jmp 0x56c060
lea edx, [esi + edx*8 + 8]
mov ebx, dword [edx]
mov dword [edx], ebp
jmp 0x56c060
mov ecx, dword [esp + 0x80]
movzx edx, byte [esp + 0x37]
test ebx, ebx
je 0x56c0c6
test esi, esi
je 0x56c0c6
mov ebp, dword [eax]
mov dword [esp + 0xa0], ebp
jmp 0x56c0fe
xor eax, eax
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x1cc], ecx
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x1d4], eax
mov byte [esp + 0x1d8], dl
add esp, 0x1c0
ret
mov ebp, dword [esp + 0xa0]
mov edx, eax
mov edi, ebx
mov ebx, ecx
mov ecx, edi
test ecx, ecx
je 0x56c13d
mov dword [esp + 0x4c], ecx
mov edi, dword [ebp]
mov eax, edx
mov edx, dword [ebp + 4]
shr ecx, 1
cmp edx, ecx
jbe 0x56c145
lea edx, [ecx + ecx*2]
mov ecx, ebx
lea ebx, [edi + edx*8]
mov ebp, dword [esp + 0x4c]
test ebp, 1
jne 0x56c132
lea edx, [edi + edx*8 + 4]
mov ebx, dword [edx]
mov dword [edx], esi
jmp 0x56c0ef
mov ebx, dword [ebx + 8]
lea edx, [edi + edx*8 + 8]
mov dword [edx], esi
jmp 0x56c0ef
shl esi, 1
mov eax, esi
mov ecx, ebx
jmp 0x56c0cc
mov eax, ecx
mov ecx, edx
call fcn.004637c0
mov eax, edx
mov ecx, ebx
call fcn.004637c0
mov eax, esi
call fcn.004637c0
xor eax, eax
mov ecx, eax
call fcn.004637b0
mov eax, edi
call fcn.004637c0
call fcn.004637c0
call fcn.004637c0
call fcn.004637c0
mov ebx, dword [esp + 0x1c8]
mov eax, dword [esp + 0x88]
mov edi, dword [esp + 0x1c4]
mov eax, dword [esp + 0x84]
mov edi, esi
mov dword [esp + 0x5c], edx
mov esi, dword [esp + 0x1c4]
mov edx, ecx
mov ecx, ebp
mov ebp, dword [esp + 0x88]
cmp eax, ebp
jge 0x56c2a1
xchg edi, eax
mov byte [esp + 0x3a], al
xchg edi, eax
mov edi, dword [ebx + 0x1c]
mov ebp, dword [ebx + 0x14]
mov dword [esp + 0xa8], ebp
lea ebp, [eax + 1]
cmp edi, ebp
jb 0x56c332
cmp eax, ebp
ja 0x56c32b
mov dword [esp + 0x40], eax
mov dword [esp + 0x84], ebp
mov dword [esp + 0x74], ecx
mov dword [esp + 0x68], edx
movzx ecx, word [ebx + 2]
mov dword [esp], esi
sub edi, eax
mov edx, edi
xchg edi, ebx
neg ebx
xchg edi, ebx
shl eax, 2
sar edi, 0x1f
and eax, edi
mov edi, dword [esp + 0xa8]
add eax, edi
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov dword [esp + 0xc], edx
mov word [esp + 0x10], cx
call fcn.0056c9a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
movzx ebx, byte [esp + 0x20]
mov ebp, dword [esp + 0x40]
test ebp, ebp
jne 0x56c250
mov ebp, eax
mov esi, ebx
jmp 0x56c17d
mov ebp, dword [esp + 0x74]
test ebp, ebp
je 0x56c25c
test eax, eax
jne 0x56c269
xor ecx, ecx
xor ebp, ebp
xor edx, edx
xor esi, esi
jmp 0x56c17d
mov byte [esp + 0x3b], bl
mov esi, dword [esp + 0x1c4]
mov edi, dword [esi]
mov dword [esp + 0xa4], edi
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x8c]
jmp 0x56c2e5
movzx esi, byte [esp + 0x3a]
and esi, ebx
jmp 0x56c17d
mov dword [esp + 0x1cc], ecx
mov dword [esp + 0x1d0], edx
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x1d4], eax
xchg edi, eax
mov byte [esp + 0x1d8], al
xchg edi, eax
add esp, 0x1c0
ret
mov edi, dword [esp + 0xa4]
movzx ebx, byte [esp + 0x3b]
mov esi, dword [esp + 0x1c4]
mov dword [esp + 0x54], ebp
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0x54]
test esi, esi
je 0x56c295
mov ebp, dword [edi]
mov ebx, dword [edi + 4]
shr esi, 1
cmp ebx, esi
jbe 0x56c322
lea ebx, [esi + esi*2]
lea esi, [ebp + ebx*8]
mov edi, dword [esp + 0x54]
test edi, 1
jne 0x56c315
lea ebx, [ebp + ebx*8 + 4]
mov ebp, dword [ebx]
mov dword [ebx], eax
jmp 0x56c2ca
mov esi, dword [esi + 8]
lea ebx, [ebp + ebx*8 + 8]
mov dword [ebx], eax
mov ebp, esi
jmp 0x56c2ca
mov eax, esi
mov ecx, ebx
call fcn.004637c0
mov ecx, ebp
call fcn.00463810
mov ecx, ebp
mov edx, edi
call fcn.004637f0
nop
call fcn.00462320
jmp fcn.0056abd0