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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x110]
cmp eax, dword [ecx + 8]
jbe 0x4cd0b0
sub esp, 0x190
mov ebx, dword [esp + 0x198]
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 9
xchg ebp, eax
ja 0x4cc3fe
xchg ebp, eax
cmp al, 4
xchg ebp, eax
ja 0x4cbf88
xchg ebp, eax
cmp al, 2
xchg ebp, eax
jbe 0x4cbe46
xchg ebp, eax
cmp al, 3
xchg ebp, eax
jne 0x4cbdf1
mov ebp, dword [ebx + 0x18]
test ebp, ebp
je 0x4cbced
mov dword [esp + 0x68], ebp
mov esi, dword [esp + 0x194]
xor eax, eax
xor ecx, ecx
xor edx, edx
xor edi, edi
jmp 0x4cbbb9
mov ebx, dword [esp + 0x198]
mov esi, dword [esp + 0x194]
mov ebp, dword [esp + 0x68]
mov edi, dword [esp + 0x64]
mov edi, edx
mov edx, ecx
mov ecx, eax
mov eax, dword [esp + 0x64]
cmp eax, ebp
jge 0x4cbcd1
mov edi, dword [ebx + 0x1c]
mov ebp, dword [ebx + 0x14]
mov dword [esp + 0x84], ebp
lea ebp, [eax + 1]
cmp ebp, edi
ja 0x4cd08e
cmp eax, ebp
ja 0x4cd087
mov dword [esp + 0x28], eax
mov dword [esp + 0x64], ebp
mov dword [esp + 0x3c], edx
mov dword [esp + 0x48], ecx
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 + 0x84]
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.004cd610
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x4cbb99
mov ebx, dword [esp + 0x48]
test ebx, ebx
jne 0x4cbc5e
xor eax, eax
xor ecx, ecx
xor edx, edx
mov ebx, eax
mov eax, edx
mov edx, ebx
jmp 0x4cbb99
test eax, eax
je 0x4cbc4d
mov ebp, dword [esp + 0x194]
mov esi, dword [ebp]
mov dword [esp + 0x6c], esi
mov edi, dword [esp + 0x3c]
jmp 0x4cbc8b
mov ebx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x194]
mov edi, esi
mov esi, dword [esp + 0x6c]
test edi, edi
je 0x4cbccb
mov dword [esp + 0x38], edi
mov ebp, dword [esi]
mov ebx, dword [esi + 4]
shr edi, 1
cmp edi, ebx
jae 0x4cd07e
lea ebx, [edi + edi*2]
lea edi, [ebp + ebx*8]
mov esi, dword [esp + 0x38]
test esi, 1
jne 0x4cbcc0
mov esi, dword [edi + 4]
lea ebx, [ebp + ebx*8 + 4]
mov dword [ebx], eax
jmp 0x4cbc76
mov esi, dword [edi + 8]
lea ebx, [ebp + ebx*8 + 8]
mov dword [ebx], eax
jmp 0x4cbc76
mov eax, edx
mov edx, ebx
jmp 0x4cbc53
mov dword [esp + 0x19c], ecx
mov dword [esp + 0x1a0], edx
mov dword [esp + 0x1a4], edi
add esp, 0x190
ret
mov ecx, dword [esp + 0x194]
mov edx, dword [ecx]
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x68], edx
lea edi, [esp + 0x160]
xor eax, eax
call fcn.0045a8ea
mov byte [esp + 0x160], 6
mov ecx, dword [esp + 0x194]
mov ecx, dword [ecx]
mov ebx, dword [ecx + 4]
mov ebp, dword [ecx]
mov eax, edx
mov edx, dword [ecx + 8]
mov esi, ecx
lea ecx, [ebx + 1]
cmp ecx, edx
ja 0x4cbd94
lea ecx, [ebx + 1]
mov dword [esi + 4], ecx
mov ecx, dword [0x63be10]
lea edx, [ebx + ebx*2]
lea edi, [ebp + edx*8]
test ecx, ecx
jne 0x4cbd71
lea esi, [esp + 0x160]
call fcn.0045adc4
mov dword [esp + 0x19c], eax
shl eax, 1
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], eax
add esp, 0x190
ret
lea eax, [0x526480]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x160]
mov dword [esp + 8], eax
call fcn.0040fb60
mov eax, dword [esp + 0x68]
jmp 0x4cbd53
mov dword [esp + 0x80], esi
lea eax, [0x526480]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.004427c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x80]
mov dword [edi + 8], edx
mov edx, dword [0x63be10]
test edx, edx
jne 0x4cbdea
mov dword [edi], eax
mov esi, edi
mov ebx, ecx
mov ebp, eax
mov eax, dword [esp + 0x68]
jmp 0x4cbd30
call fcn.0045a680
jmp 0x4cbddb
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x18]
mov edx, dword [ebx + 0x1c]
movzx ebx, word [ebx + 2]
mov ebp, dword [esp + 0x194]
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.004cd610
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], edx
add esp, 0x190
ret
xchg ebp, eax
cmp al, 1
xchg ebp, eax
je 0x4cbf60
xchg ebp, eax
cmp al, 2
xchg ebp, eax
jne 0x4cd097
mov ecx, dword [esp + 0x194]
mov edx, dword [ecx]
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x68], edx
lea edi, [esp + 0x178]
xor eax, eax
call fcn.0045a8ea
mov byte [esp + 0x178], 6
mov ecx, dword [esp + 0x194]
mov ecx, dword [ecx]
mov ebx, dword [ecx + 4]
mov ebp, dword [ecx]
mov eax, edx
mov edx, dword [ecx + 8]
mov esi, ecx
lea ecx, [ebx + 1]
cmp ecx, edx
ja 0x4cbf03
lea ecx, [ebx + 1]
mov dword [esi + 4], ecx
mov ecx, dword [0x63be10]
lea edx, [ebx + ebx*2]
lea edi, [ebp + edx*8]
test ecx, ecx
jne 0x4cbee0
lea esi, [esp + 0x178]
call fcn.0045adc4
mov dword [esp + 0x19c], eax
shl eax, 1
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], eax
add esp, 0x190
ret
lea eax, [0x526480]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x178]
mov dword [esp + 8], eax
call fcn.0040fb60
mov eax, dword [esp + 0x68]
jmp 0x4cbec2
mov dword [esp + 0x80], esi
lea eax, [0x526480]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.004427c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x80]
mov dword [edi + 8], edx
mov edx, dword [0x63be10]
test edx, edx
jne 0x4cbf59
mov dword [edi], eax
mov esi, edi
mov ebx, ecx
mov ebp, eax
mov eax, dword [esp + 0x68]
jmp 0x4cbe9f
call fcn.0045a680
jmp 0x4cbf4a
mov dword [esp + 0x19c], 0
mov dword [esp + 0x1a0], 0
mov dword [esp + 0x1a4], 0
add esp, 0x190
ret
xchg ebp, eax
cmp al, 6
xchg ebp, eax
ja 0x4cc052
xchg ebp, eax
cmp al, 5
xchg ebp, eax
jne 0x4cbff6
mov eax, dword [0x619fe0]
mov ecx, dword [0x619fe4]
mov edx, dword [0x619fe8]
mov ebx, dword [esp + 0x194]
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.004cd610
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], edx
add esp, 0x190
ret
mov eax, dword [0x619fd0]
mov ecx, dword [0x619fd4]
mov edx, dword [0x619fd8]
mov ebx, dword [esp + 0x194]
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.004cd610
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], edx
add esp, 0x190
ret
xchg ebp, eax
cmp al, 7
xchg ebp, eax
jne 0x4cc18f
mov ecx, dword [esp + 0x194]
mov edx, dword [ecx]
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x68], edx
lea edi, [esp + 0x148]
xor eax, eax
call fcn.0045a8ea
mov byte [esp + 0x148], 3
mov ecx, dword [esp + 0x194]
mov ebx, dword [ecx]
mov ebp, dword [ebx + 4]
mov eax, edx
mov edx, dword [ebx]
mov esi, ecx
mov ecx, dword [ebx + 8]
mov edi, ebx
lea ebx, [ebp + 1]
cmp ebx, ecx
ja 0x4cc12d
lea ecx, [ebp + 1]
mov dword [edi + 4], ecx
mov ecx, dword [0x63be10]
lea ebx, [ebp + ebp*2]
lea edi, [edx + ebx*8]
test ecx, ecx
jne 0x4cc10a
lea esi, [esp + 0x148]
call fcn.0045adc4
mov edx, dword [esp + 0x194]
mov edx, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
cmp eax, ecx
jae 0x4cd079
lea ecx, [eax + eax*2]
lea ecx, [edx + ecx*8 + 8]
mov dword [ecx], 1
mov dword [esp + 0x19c], eax
shl eax, 1
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], eax
add esp, 0x190
ret
lea eax, [0x526480]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x148]
mov dword [esp + 8], eax
call fcn.0040fb60
mov eax, dword [esp + 0x68]
jmp 0x4cc0c9
mov dword [esp + 0x80], edi
lea eax, [0x526480]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.004427c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x80]
mov dword [edi + 8], edx
mov edx, dword [0x63be10]
test edx, edx
jne 0x4cc188
mov dword [edi], eax
mov esi, dword [esp + 0x194]
mov ebp, ecx
mov edx, eax
mov eax, dword [esp + 0x68]
jmp 0x4cc0a6
call fcn.0045a680
jmp 0x4cc174
xchg ebp, eax
cmp al, 8
xchg ebp, eax
jne 0x4cc2cc
mov ecx, dword [esp + 0x194]
mov edx, dword [ecx]
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x68], edx
lea edi, [esp + 0x130]
xor eax, eax
call fcn.0045a8ea
mov byte [esp + 0x130], 3
mov ecx, dword [esp + 0x194]
mov ebx, dword [ecx]
mov ebp, dword [ebx + 4]
mov eax, edx
mov edx, dword [ebx]
mov esi, ecx
mov ecx, dword [ebx + 8]
mov edi, ebx
lea ebx, [ebp + 1]
cmp ecx, ebx
jb 0x4cc26a
lea ecx, [ebp + 1]
mov dword [edi + 4], ecx
mov ecx, dword [0x63be10]
lea ebx, [ebp + ebp*2]
lea edi, [edx + ebx*8]
test ecx, ecx
jne 0x4cc247
lea esi, [esp + 0x130]
call fcn.0045adc4
mov edx, dword [esp + 0x194]
mov edx, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
cmp eax, ecx
jae 0x4cd074
lea ecx, [eax + eax*2]
lea ecx, [edx + ecx*8 + 8]
mov dword [ecx], 2
mov dword [esp + 0x19c], eax
shl eax, 1
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], eax
add esp, 0x190
ret
lea eax, [0x526480]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x130]
mov dword [esp + 8], eax
call fcn.0040fb60
mov eax, dword [esp + 0x68]
jmp 0x4cc206
mov dword [esp + 0x80], edi
lea eax, [0x526480]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.004427c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x80]
mov dword [edi + 8], edx
mov edx, dword [0x63be10]
test edx, edx
jne 0x4cc2c5
mov dword [edi], eax
mov esi, dword [esp + 0x194]
mov ebp, ecx
mov edx, eax
mov eax, dword [esp + 0x68]
jmp 0x4cc1e3
call fcn.0045a680
jmp 0x4cc2b1
mov ecx, dword [esp + 0x194]
mov edx, dword [ecx]
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x68], edx
lea edi, [esp + 0x118]
xor eax, eax
call fcn.0045a8ea
mov byte [esp + 0x118], 3
mov ecx, dword [esp + 0x194]
mov ebx, dword [ecx]
mov ebp, dword [ebx + 4]
mov eax, edx
mov edx, dword [ebx]
mov esi, ecx
mov ecx, dword [ebx + 8]
mov edi, ebx
lea ebx, [ebp + 1]
cmp ecx, ebx
jb 0x4cc39c
lea ecx, [ebp + 1]
mov dword [edi + 4], ecx
mov ecx, dword [0x63be10]
lea ebx, [ebp + ebp*2]
lea edi, [edx + ebx*8]
test ecx, ecx
jne 0x4cc379
lea esi, [esp + 0x118]
call fcn.0045adc4
mov edx, dword [esp + 0x194]
mov edx, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
cmp eax, ecx
jae 0x4cd06f
lea ecx, [eax + eax*2]
lea ecx, [edx + ecx*8 + 8]
mov dword [ecx], 4
mov dword [esp + 0x19c], eax
shl eax, 1
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], eax
add esp, 0x190
ret
lea eax, [0x526480]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x118]
mov dword [esp + 8], eax
call fcn.0040fb60
mov eax, dword [esp + 0x68]
jmp 0x4cc338
mov dword [esp + 0x80], edi
lea eax, [0x526480]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.004427c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x80]
mov dword [edi + 8], edx
mov edx, dword [0x63be10]
test edx, edx
jne 0x4cc3f7
mov dword [edi], eax
mov esi, dword [esp + 0x194]
mov ebp, ecx
mov edx, eax
mov eax, dword [esp + 0x68]
jmp 0x4cc315
call fcn.0045a680
jmp 0x4cc3e3
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
ja 0x4ccb4f
xchg ebp, eax
cmp al, 0xb
xchg ebp, eax
jbe 0x4cc8e0
xchg ebp, eax
cmp al, 0xc
xchg ebp, eax
je 0x4cc7ae
mov ecx, dword [esp + 0x194]
mov edx, dword [ecx]
mov ebp, dword [ebx + 0x30]
mov dword [esp + 0x68], ebp
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x64], edx
lea edi, [esp + 0xb8]
xor eax, eax
call fcn.0045a8ea
mov byte [esp + 0xb8], 2
mov ecx, dword [esp + 0x194]
mov esi, ebx
mov ebx, dword [ecx]
mov dword [esp + 0x80], ebx
mov edi, ebp
mov ebp, dword [ebx + 4]
mov edx, dword [ebx]
mov ecx, dword [ebx + 8]
lea ebx, [ebp + 1]
cmp ecx, ebx
jb 0x4cc751
lea ecx, [ebp + 1]
mov ebx, dword [esp + 0x80]
mov dword [ebx + 4], ecx
mov ecx, dword [0x63be10]
lea ebx, [ebp + ebp*2]
lea edx, [edx + ebx*8]
test ecx, ecx
jne 0x4cc726
mov edi, edx
mov ebx, esi
lea esi, [esp + 0xb8]
call fcn.0045adc4
mov edx, dword [esp + 0x194]
mov ebp, dword [edx]
mov ecx, dword [ebp + 4]
mov ebp, dword [ebp]
mov esi, dword [esp + 0x64]
cmp ecx, esi
jbe 0x4cd059
mov edi, dword [esp + 0x68]
shl edi, 1
mov ecx, esi
lea esi, [esi + esi*2]
lea ebp, [ebp + esi*8 + 8]
mov dword [ebp], edi
mov ebp, dword [edx]
lea esi, [edi + 1]
cmp dword [ebp + 0x10], esi
jge 0x4cc4e0
mov dword [ebp + 0x10], esi
mov ebp, dword [ebx + 8]
mov esi, dword [ebx + 4]
test ebp, ebp
jbe 0x4cd050
mov eax, dword [esi]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.004cbb20
mov eax, dword [esp + 0x194]
mov ecx, dword [eax]
mov edx, dword [esp + 0x198]
mov edx, dword [edx + 0x30]
mov dword [esp + 0x68], edx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x60], ebx
nop
mov ecx, dword [ecx + 4]
mov dword [esp + 0x5c], ecx
mov ebp, dword [esp + 8]
mov dword [esp + 0x58], ebp
lea edi, [esp + 0xa0]
mov esi, eax
xor eax, eax
call fcn.0045a8ea
mov byte [esp + 0xa0], 2
mov eax, dword [esi]
mov ecx, dword [eax + 4]
mov edi, dword [eax]
mov ebx, dword [eax + 8]
lea ebp, [ecx + 1]
cmp ebp, ebx
ja 0x4cc6c2
lea ebx, [ecx + 1]
mov dword [eax + 4], ebx
mov ebx, dword [0x63be10]
lea ecx, [ecx + ecx*2]
lea edi, [edi + ecx*8]
test ebx, ebx
jne 0x4cc695
mov eax, esi
lea esi, [esp + 0xa0]
call fcn.0045adc4
mov ebx, dword [eax]
mov ecx, dword [ebx + 4]
mov ebx, dword [ebx]
mov ebp, dword [esp + 0x5c]
cmp ebp, ecx
jae 0x4cd049
shl edx, 1
or edx, 1
lea esi, [ebp + ebp*2]
lea ebx, [ebx + esi*8 + 8]
mov dword [ebx], edx
mov ebx, dword [eax]
inc edx
cmp dword [ebx + 0x10], edx
jge 0x4cc5ad
mov dword [ebx + 0x10], edx
mov edx, dword [esp + 0x64]
test edx, edx
jne 0x4cc627
xor ecx, ecx
xor edx, edx
test ecx, ecx
je 0x4cc621
test ebp, ebp
je 0x4cc621
mov ebx, dword [eax]
jmp 0x4cc5c9
mov edx, ebx
mov ebx, eax
test edx, edx
je 0x4cc603
mov esi, dword [ebx]
mov edi, dword [ebx + 4]
mov eax, edx
shr eax, 1
cmp edi, eax
jbe 0x4cd039
lea edi, [eax + eax*2]
mov eax, ebx
lea ebx, [esi + edi*8]
test edx, 1
jne 0x4cc5f8
lea edx, [esi + edi*8 + 4]
mov ebx, dword [edx]
mov dword [edx], ebp
jmp 0x4cc5c5
mov ebx, dword [ebx + 8]
lea edx, [esi + edi*8 + 8]
mov dword [edx], ebp
jmp 0x4cc5c5
shl ebp, 1
mov dword [esp + 0x19c], ecx
mov dword [esp + 0x1a0], ebp
mov dword [esp + 0x1a4], ebp
add esp, 0x190
ret
xor ebp, ebp
xor ecx, ecx
jmp 0x4cc605
mov ebx, dword [esp + 0x58]
test ebx, ebx
je 0x4cc5b5
mov esi, edx
shl edx, 1
mov edi, dword [eax]
mov dword [esp + 0x74], edi
jmp 0x4cc647
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0x64]
mov edx, ebp
mov ebp, ecx
test edx, edx
je 0x4cc68a
mov dword [esp + 0x34], edx
mov ecx, ebp
mov ebp, dword [edi]
mov esi, dword [edi + 4]
shr edx, 1
cmp edx, esi
jae 0x4cd040
lea edx, [edx + edx*2]
lea esi, [ebp + edx*8]
mov edi, dword [esp + 0x34]
test edi, 1
jne 0x4cc67d
lea edx, [ebp + edx*8 + 4]
mov ebp, dword [edx]
mov dword [edx], ebx
jmp 0x4cc63b
mov esi, dword [esi + 8]
lea edx, [ebp + edx*8 + 8]
mov dword [edx], ebx
mov ebp, esi
jmp 0x4cc63b
mov ecx, esi
mov edx, dword [esp + 0x60]
jmp 0x4cc5b9
lea eax, [0x526480]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xa0]
mov dword [esp + 8], eax
call fcn.0040fb60
mov eax, dword [esp + 0x194]
mov edx, dword [esp + 0x68]
jmp 0x4cc580
mov dword [esp + 0x80], eax
lea eax, [0x526480]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.004427c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x80]
mov dword [edi + 8], edx
mov edx, dword [0x63be10]
test edx, edx
jne 0x4cc71f
mov dword [edi], eax
mov edx, dword [esp + 0x68]
mov esi, dword [esp + 0x194]
mov ebx, eax
mov eax, edi
mov edi, ebx
jmp 0x4cc558
call fcn.0045a680
jmp 0x4cc709
lea eax, [0x526480]
mov dword [esp], eax
mov dword [esp + 4], edx
lea eax, [esp + 0xb8]
mov dword [esp + 8], eax
call fcn.0040fb60
xor eax, eax
mov ebx, dword [esp + 0x198]
jmp 0x4cc4a6
lea eax, [0x526480]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.004427c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x80]
mov dword [edi + 8], edx
mov edx, dword [0x63be10]
test edx, edx
jne 0x4cc7a7
mov dword [edi], eax
mov esi, dword [esp + 0x198]
mov edi, dword [esp + 0x68]
mov ebp, ecx
mov edx, eax
xor eax, eax
jmp 0x4cc474
call fcn.0045a680
jmp 0x4cc791
mov ecx, dword [esp + 0x194]
mov edx, dword [ecx]
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x68], edx
lea edi, [esp + 0xd0]
xor eax, eax
call fcn.0045a8ea
mov byte [esp + 0xd0], 3
mov ecx, dword [esp + 0x194]
mov ebx, dword [ecx]
mov ebp, dword [ebx + 4]
mov eax, edx
mov edx, dword [ebx]
mov esi, ecx
mov ecx, dword [ebx + 8]
mov edi, ebx
lea ebx, [ebp + 1]
cmp ebx, ecx
ja 0x4cc87e
lea ecx, [ebp + 1]
mov dword [edi + 4], ecx
mov ecx, dword [0x63be10]
lea ebx, [ebp + ebp*2]
lea edi, [edx + ebx*8]
test ecx, ecx
jne 0x4cc85b
lea esi, [esp + 0xd0]
call fcn.0045adc4
mov edx, dword [esp + 0x194]
mov edx, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
cmp eax, ecx
jae 0x4cd060
lea ecx, [eax + eax*2]
lea ecx, [edx + ecx*8 + 8]
mov dword [ecx], 0x20
mov dword [esp + 0x19c], eax
shl eax, 1
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], eax
add esp, 0x190
ret
lea eax, [0x526480]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xd0]
mov dword [esp + 8], eax
call fcn.0040fb60
mov eax, dword [esp + 0x68]
jmp 0x4cc81a
mov dword [esp + 0x80], edi
lea eax, [0x526480]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.004427c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x80]
mov dword [edi + 8], edx
mov edx, dword [0x63be10]
test edx, edx
jne 0x4cc8d9
mov dword [edi], eax
mov esi, dword [esp + 0x194]
mov ebp, ecx
mov edx, eax
mov eax, dword [esp + 0x68]
jmp 0x4cc7f7
call fcn.0045a680
jmp 0x4cc8c5
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
jne 0x4cca1d
mov ecx, dword [esp + 0x194]
mov edx, dword [ecx]
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x68], edx
lea edi, [esp + 0x100]
xor eax, eax
call fcn.0045a8ea
mov byte [esp + 0x100], 3
mov ecx, dword [esp + 0x194]
mov ebx, dword [ecx]
mov ebp, dword [ebx + 4]
mov eax, edx
mov edx, dword [ebx]
mov esi, ecx
mov ecx, dword [ebx + 8]
mov edi, ebx
lea ebx, [ebp + 1]
cmp ebx, ecx
ja 0x4cc9bb
lea ecx, [ebp + 1]
mov dword [edi + 4], ecx
mov ecx, dword [0x63be10]
lea ebx, [ebp + ebp*2]
lea edi, [edx + ebx*8]
test ecx, ecx
jne 0x4cc998
lea esi, [esp + 0x100]
call fcn.0045adc4
mov edx, dword [esp + 0x194]
mov edx, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
cmp eax, ecx
jae 0x4cd06a
lea ecx, [eax + eax*2]
lea ecx, [edx + ecx*8 + 8]
mov dword [ecx], 8
mov dword [esp + 0x19c], eax
shl eax, 1
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], eax
add esp, 0x190
ret
lea eax, [0x526480]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x100]
mov dword [esp + 8], eax
call fcn.0040fb60
mov eax, dword [esp + 0x68]
jmp 0x4cc957
mov dword [esp + 0x80], edi
lea eax, [0x526480]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.004427c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x80]
mov dword [edi + 8], edx
mov edx, dword [0x63be10]
test edx, edx
jne 0x4cca16
mov dword [edi], eax
mov esi, dword [esp + 0x194]
mov ebp, ecx
mov edx, eax
mov eax, dword [esp + 0x68]
jmp 0x4cc934
call fcn.0045a680
jmp 0x4cca02
mov ecx, dword [esp + 0x194]
mov edx, dword [ecx]
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x68], edx
lea edi, [esp + 0xe8]
xor eax, eax
call fcn.0045a8ea
mov byte [esp + 0xe8], 3
mov ecx, dword [esp + 0x194]
mov ebx, dword [ecx]
mov ebp, dword [ebx + 4]
mov eax, edx
mov edx, dword [ebx]
mov esi, ecx
mov ecx, dword [ebx + 8]
mov edi, ebx
lea ebx, [ebp + 1]
cmp ebx, ecx
ja 0x4ccaed
lea ecx, [ebp + 1]
mov dword [edi + 4], ecx
mov ecx, dword [0x63be10]
lea ebx, [ebp + ebp*2]
lea edi, [edx + ebx*8]
test ecx, ecx
jne 0x4ccaca
lea esi, [esp + 0xe8]
call fcn.0045adc4
mov edx, dword [esp + 0x194]
mov edx, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
cmp eax, ecx
jae 0x4cd065
lea ecx, [eax + eax*2]
lea ecx, [edx + ecx*8 + 8]
mov dword [ecx], 0x10
mov dword [esp + 0x19c], eax
shl eax, 1
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], eax
add esp, 0x190
ret
lea eax, [0x526480]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xe8]
mov dword [esp + 8], eax
call fcn.0040fb60
mov eax, dword [esp + 0x68]
jmp 0x4cca89
mov dword [esp + 0x80], edi
lea eax, [0x526480]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.004427c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x80]
mov dword [edi + 8], edx
mov edx, dword [0x63be10]
test edx, edx
jne 0x4ccb48
mov dword [edi], eax
mov esi, dword [esp + 0x194]
mov ebp, ecx
mov edx, eax
mov eax, dword [esp + 0x68]
jmp 0x4cca66
call fcn.0045a680
jmp 0x4ccb34
xchg ebp, eax
cmp al, 0xf
xchg ebp, eax
jbe 0x4ccefb
xchg ebp, eax
cmp al, 0x10
xchg ebp, eax
je 0x4cce72
xchg ebp, eax
cmp al, 0x12
xchg ebp, eax
jne 0x4ccda8
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 4]
test ecx, ecx
je 0x4ccca4
mov dword [esp + 0x7c], edx
mov dword [esp + 0x68], ecx
xor eax, eax
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x4ccba5
mov edi, dword [esp + 0x2c]
inc edi
mov ebx, eax
mov ebp, ecx
mov esi, edx
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x7c]
mov eax, edi
cmp ecx, eax
jle 0x4ccc88
mov dword [esp + 0x2c], eax
mov esi, dword [edx + eax*4]
test eax, eax
jne 0x4ccbd9
mov eax, dword [esp + 0x194]
mov dword [esp], eax
mov dword [esp + 4], esi
call fcn.004cbb20
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
jmp 0x4ccb90
mov dword [esp + 0x44], ebx
mov dword [esp + 0x40], ebp
mov eax, dword [esp + 0x194]
mov dword [esp], eax
mov dword [esp + 4], esi
call fcn.004cbb20
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x44]
test ebx, ebx
jne 0x4ccc19
xor eax, eax
xor ecx, ecx
xor edx, edx
mov ebx, edx
mov edx, eax
mov eax, ebx
jmp 0x4ccb90
test edx, edx
je 0x4ccc08
mov esi, dword [esp + 0x194]
mov edi, dword [esi]
mov dword [esp + 0x70], edi
mov ebp, dword [esp + 0x40]
jmp 0x4ccc3f
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x44]
mov esi, dword [esp + 0x194]
test ebp, ebp
je 0x4ccc7e
mov dword [esp + 0x30], ebp
mov esi, dword [edi]
mov ebx, dword [edi + 4]
shr ebp, 1
cmp ebx, ebp
jbe 0x4cd01b
lea ebx, [ebp + ebp*2]
lea ebp, [esi + ebx*8]
mov edi, dword [esp + 0x30]
test edi, 1
jne 0x4ccc73
lea ebx, [esi + ebx*8 + 4]
mov ebp, dword [ebx]
mov dword [ebx], edx
jmp 0x4ccc30
mov ebp, dword [ebp + 8]
lea ebx, [esi + ebx*8 + 8]
mov dword [ebx], edx
jmp 0x4ccc30
mov edx, ebx
mov ebp, eax
mov eax, ecx
mov ecx, ebp
jmp 0x4ccc0e
mov dword [esp + 0x19c], ebx
mov dword [esp + 0x1a0], ebp
mov dword [esp + 0x1a4], esi
add esp, 0x190
ret
mov ecx, dword [esp + 0x194]
mov edx, dword [ecx]
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x68], edx
lea edi, [esp + 0x88]
xor eax, eax
call fcn.0045a8ea
mov byte [esp + 0x88], 6
mov ecx, dword [esp + 0x194]
mov ecx, dword [ecx]
mov ebx, dword [ecx + 4]
mov ebp, dword [ecx]
mov eax, edx
mov edx, dword [ecx + 8]
mov esi, ecx
lea ecx, [ebx + 1]
cmp edx, ecx
jb 0x4ccd4b
lea ecx, [ebx + 1]
mov dword [esi + 4], ecx
mov ecx, dword [0x63be10]
lea edx, [ebx + ebx*2]
lea edi, [ebp + edx*8]
test ecx, ecx
jne 0x4ccd28
lea esi, [esp + 0x88]
call fcn.0045adc4
mov dword [esp + 0x19c], eax
shl eax, 1
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], eax
add esp, 0x190
ret
lea eax, [0x526480]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x88]
mov dword [esp + 8], eax
call fcn.0040fb60
mov eax, dword [esp + 0x68]
jmp 0x4ccd0a
mov dword [esp + 0x80], esi
lea eax, [0x526480]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.004427c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x80]
mov dword [edi + 8], edx
mov edx, dword [0x63be10]
test edx, edx
jne 0x4ccda1
mov dword [edi], eax
mov esi, edi
mov ebx, ecx
mov ebp, eax
mov eax, dword [esp + 0x68]
jmp 0x4ccce7
call fcn.0045a680
jmp 0x4ccd92
xchg ebp, eax
cmp al, 0x13
xchg ebp, eax
jne 0x4cd097
mov eax, dword [ebx + 4]
mov dword [esp + 0x78], eax
mov ecx, dword [ebx + 8]
mov dword [esp + 0x68], ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x4cce4e
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], esi
mov dword [esp + 0x64], edx
mov ecx, dword [eax + edx*4]
mov ebx, dword [esp + 0x194]
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.004cbb20
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x194]
mov dword [esp], ebx
mov ebp, dword [esp + 0x54]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x50]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
call fcn.004cd0c0
mov eax, dword [esp + 0x64]
lea edx, [eax + 1]
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x68]
cmp ecx, edx
jg 0x4ccdce
mov dword [esp + 0x19c], esi
mov dword [esp + 0x1a0], ebp
mov dword [esp + 0x1a4], ebx
add esp, 0x190
ret
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 4]
test ecx, ecx
jbe 0x4cd024
mov eax, dword [edx]
mov ecx, dword [esp + 0x194]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004cbb20
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x198]
movzx ebx, word [ebx + 2]
mov ebp, dword [esp + 0x194]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
test bx, 0x20
setne al
mov byte [esp + 0x10], al
call fcn.004cd2c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], edx
add esp, 0x190
ret
xchg ebp, eax
cmp al, 0xe
xchg ebp, eax
jne 0x4ccf8f
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 4]
test ecx, ecx
jbe 0x4cd032
mov eax, dword [edx]
mov ecx, dword [esp + 0x194]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004cbb20
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x198]
movzx ebx, word [ebx + 2]
mov ebp, dword [esp + 0x194]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
test bx, 0x20
setne al
mov byte [esp + 0x10], al
call fcn.004cd470
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], edx
add esp, 0x190
ret
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 4]
test ecx, ecx
jbe 0x4cd02b
mov eax, dword [edx]
mov ecx, dword [esp + 0x194]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004cbb20
mov eax, dword [esp + 0x198]
movzx eax, word [eax + 2]
mov ecx, dword [esp + 8]
mov dword [esp + 0x60], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x194]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
test ax, 0x20
setne al
mov byte [esp + 0x10], al
call fcn.004cd470
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x19c], edx
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x190
ret
mov eax, ebp
mov ecx, ebx
call fcn.0045a710
xor eax, eax
call fcn.0045a700
xor eax, eax
call fcn.0045a700
xor eax, eax
call fcn.0045a700
mov ecx, edi
call fcn.0045a710
mov eax, edx
mov ecx, esi
call fcn.0045a710
mov eax, ebp
call fcn.0045a710
xor eax, eax
mov ecx, ebp
call fcn.0045a700
mov eax, esi
call fcn.0045a710
call fcn.0045a710
call fcn.0045a710
call fcn.0045a710
call fcn.0045a710
call fcn.0045a710
call fcn.0045a710
mov eax, edi
mov ecx, ebx
call fcn.0045a710
mov ecx, ebp
call fcn.0045a760
mov ecx, ebp
mov edx, edi
call fcn.0045a740
lea eax, [0x51b2e0]
mov dword [esp], eax
lea eax, [0x567c00]
mov dword [esp + 4], eax
call fcn.004308c0
nop
call fcn.00459120
jmp fcn.004cbb20