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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x144]
cmp eax, dword [ecx + 8]
jbe 0x4ccf86
sub esp, 0x1c4
xor eax, eax
mov dword [esp + 0x12c], eax
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], eax
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], eax
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], eax
mov dword [esp + 0x108], eax
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], eax
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], eax
mov dword [esp + 0x104], eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], eax
xor ebx, ebx
mov dword [esp + 0x1e0], ebx
mov dword [esp + 0x1e4], ebx
mov ebx, dword [esp + 0x1d8]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1dc]
mov dword [esp + 4], ebx
call fcn.004ced90
mov eax, dword [esp + 8]
mov dword [esp + 0x30], eax
cmp eax, 0
je 0x4ccc74
mov dword [esp], 0x5c15c0
call fcn.0040ea00
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 4]
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x70]
xor ebp, ebp
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
xchg ebp, eax
mov byte [ebx + 1], al
xchg ebp, eax
xchg ebp, eax
mov byte [ebx + 2], al
xchg ebp, eax
xchg ebp, eax
mov byte [ebx + 3], al
xchg ebp, eax
xchg ebp, eax
mov byte [ebx + 4], al
xchg ebp, eax
xchg ebp, eax
mov byte [ebx + 5], al
xchg ebp, eax
xchg ebp, eax
mov byte [ebx + 6], al
xchg ebp, eax
xchg ebp, eax
mov byte [ebx + 7], al
xchg ebp, eax
xor ebx, ebx
mov dword [esp + 0x144], ebx
mov dword [esp + 0x148], ebx
mov dword [esp + 0x14c], ebx
cmp ecx, 8
jle 0x4ccc3d
mov dword [esp], 0x5c4440
mov eax, ecx
cdq
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, ecx
cdq
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
call fcn.0043c2d0
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x144], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x148], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x14c], ebx
mov eax, dword [esp + 0x1d8]
mov edx, dword [esp + 0x1dc]
mov dword [esp + 0xc0], edx
mov dword [esp + 0xbc], eax
xor ebx, ebx
cmp eax, ebx
jne 0x4cbca6
mov ebx, dword [esp + 0x144]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x148]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x1cc]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1c8]
mov ebx, dword [ebx + 0x14]
call ebx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1e0], ecx
mov dword [esp + 0x1e4], eax
add esp, 0x1c4
ret
mov ecx, dword [eax + 8]
cmp ecx, 0x734d2a16
ja 0x4cc4ed
cmp ecx, 0x26b80717
ja 0x4cc192
cmp ecx, 0x1f1d91d4
ja 0x4cbec2
cmp ecx, 0xc66cd3
jne 0x4cbd31
mov ebp, 0x5b6340
cmp eax, ebp
jne 0x4cbeb9
mov ebp, edx
mov ebx, 1
cmp bl, 0
je 0x4cbd31
mov ebx, dword [esp + 0x144]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x148]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0xc], ebx
mov ebp, dword [ebp]
mov dword [esp + 0x10], ebp
mov ebx, dword [esp + 0x1d4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1d0]
mov ebx, dword [ebx + 0x18]
call ebx
jmp 0x4cbc52
cmp ecx, 0x1e2f74f8
jne 0x4cbd9c
mov ebp, 0x5b6380
cmp eax, ebp
jne 0x4cbeb0
mov ebp, edx
mov ebx, 1
cmp bl, 0
je 0x4cbd9c
mov ebx, dword [esp + 0x144]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x148]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0xc], ebx
mov eax, dword [ebp]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 4]
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 0x1d4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1d0]
mov ebx, dword [ebx + 0x1c]
call ebx
jmp 0x4cbc52
cmp ecx, 0x1f1d91d4
jne 0x4cbc52
xor ebx, ebx
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x130], ebx
mov dword [esp + 0x134], ebx
mov dword [esp], 0x5b9360
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x12c]
mov dword [esp + 0xc], ebx
call fcn.0040c280
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cbc52
mov edx, dword [esp + 0x12c]
mov ecx, dword [esp + 0x130]
mov ebx, dword [esp + 0x134]
mov dword [esp + 0x17c], ebx
xor eax, eax
mov dword [esp + 0x178], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x174], edx
mov ecx, edx
mov ebp, dword [esp + 0x38]
cmp eax, ebp
jge 0x4cbc52
mov dword [esp + 0x60], ecx
mov ebp, dword [ecx]
mov dword [esp + 0x3c], eax
shl eax, 2
mov ecx, dword [esp + 0x148]
mov edx, dword [esp + 0x14c]
cmp eax, ecx
ja 0x4cbea9
mov esi, ecx
sub esi, eax
sub edx, eax
mov ecx, dword [esp + 0x144]
cmp edx, 0
je 0x4cbe5d
add ecx, eax
mov dword [esp + 0x198], ecx
mov dword [esp + 4], ecx
mov dword [esp + 0x19c], esi
mov dword [esp + 8], esi
mov dword [esp + 0x1a0], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
mov ebx, dword [esp + 0x1d4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1d0]
mov ebx, dword [ebx + 0x18]
call ebx
mov ecx, dword [esp + 0x60]
add ecx, 4
mov eax, dword [esp + 0x3c]
inc eax
jmp 0x4cbe1e
call fcn.004288f0
ud2
xor ebp, ebp
xor ebx, ebx
jmp 0x4cbd4d
xor ebp, ebp
xor ebx, ebx
jmp 0x4cbce9
mov dword [esp + 0x34], ecx
cmp ecx, 0x2069b53f
jne 0x4cbff5
xor ebx, ebx
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], ebx
mov dword [esp], 0x5b93a0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0xcc]
mov dword [esp + 0xc], ebx
call fcn.0040c280
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cbff5
mov edx, dword [esp + 0xcc]
mov eax, dword [esp + 0xd0]
mov ebx, dword [esp + 0xd4]
mov dword [esp + 0x164], ebx
xor ecx, ecx
mov dword [esp + 0x160], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x15c], edx
mov eax, edx
mov ebp, dword [esp + 0x38]
cmp ecx, ebp
jge 0x4cbc52
mov dword [esp + 0x58], eax
mov esi, dword [eax]
mov ebp, dword [eax + 4]
mov dword [esp + 0x3c], ecx
mov eax, ecx
shl eax, 3
mov ecx, dword [esp + 0x148]
mov edx, dword [esp + 0x14c]
cmp eax, ecx
ja 0x4cbfee
mov edi, ecx
sub edi, eax
sub edx, eax
mov ecx, dword [esp + 0x144]
cmp edx, 0
je 0x4cbf9e
add ecx, eax
mov dword [esp + 0x198], ecx
mov dword [esp + 4], ecx
mov dword [esp + 0x19c], edi
mov dword [esp + 8], edi
mov dword [esp + 0x1a0], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ebp
mov ebx, dword [esp + 0x1d4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1d0]
mov ebx, dword [ebx + 0x1c]
call ebx
mov eax, dword [esp + 0x58]
add eax, 8
mov ecx, dword [esp + 0x3c]
inc ecx
jmp 0x4cbf5a
call fcn.004288f0
ud2
cmp ecx, 0x20e38ee7
jne 0x4cc11c
xor ebx, ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xec], ebx
mov dword [esp], 0x5b9320
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0xe4]
mov dword [esp + 0xc], ebx
call fcn.0040c280
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cc11c
mov edx, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe8]
mov ebx, dword [esp + 0xec]
mov dword [esp + 0x194], ebx
xor eax, eax
mov dword [esp + 0x190], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x18c], edx
mov ecx, edx
mov ebp, dword [esp + 0x38]
cmp eax, ebp
jge 0x4cbc52
mov dword [esp + 0x68], ecx
movzx ebp, word [ecx]
mov dword [esp + 0x3c], eax
shl eax, 1
mov ecx, dword [esp + 0x148]
mov edx, dword [esp + 0x14c]
cmp eax, ecx
ja 0x4cc115
mov esi, ecx
sub esi, eax
sub edx, eax
mov ecx, dword [esp + 0x144]
cmp edx, 0
je 0x4cc0c8
add ecx, eax
mov dword [esp + 0x198], ecx
mov dword [esp + 4], ecx
mov dword [esp + 0x19c], esi
mov dword [esp + 8], esi
mov dword [esp + 0x1a0], edx
mov dword [esp + 0xc], edx
mov word [esp + 0x10], bp
mov ebx, dword [esp + 0x1d4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1d0]
mov ebx, dword [ebx + 0x14]
call ebx
mov ecx, dword [esp + 0x68]
add ecx, 2
mov eax, dword [esp + 0x3c]
inc eax
jmp 0x4cc089
call fcn.004288f0
ud2
cmp ecx, 0x26b80717
jne 0x4cbc52
mov ebp, 0x5b0d00
cmp eax, ebp
jne 0x4cc18c
mov eax, edx
mov ecx, 1
cmp cl, 0
je 0x4cbc52
mov ebx, dword [esp + 0x144]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x148]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0xc], ebx
mov ebx, eax
mov eax, dword [eax]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 0x1d4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1d0]
mov ebx, dword [ebx + 0x1c]
call ebx
jmp 0x4cbc52
xor eax, eax
xor ecx, ecx
jmp 0x4cc138
cmp ecx, 0x5fcadfef
ja 0x4cc311
mov dword [esp + 0x34], ecx
cmp ecx, 0x30c31d62
jne 0x4cc249
xor ebx, ebx
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xf4], ebx
mov dword [esp + 0xf8], ebx
mov dword [esp], 0x5b7f20
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0xf0]
mov dword [esp + 0xc], ebx
call fcn.0040c280
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cc249
mov ecx, dword [esp + 0xf0]
mov esi, dword [esp + 0xf4]
mov ebx, dword [esp + 0xf8]
xor eax, eax
cmp eax, esi
jge 0x4cc23d
movzx ebp, byte [ecx]
mov edx, ebp
mov ebp, dword [esp + 0x148]
cmp eax, ebp
jae 0x4cc242
mov ebp, dword [esp + 0x144]
add ebp, eax
mov byte [ebp], dl
inc ecx
inc eax
cmp eax, esi
jl 0x4cc21b
jmp 0x4cbc52
call fcn.00428880
ud2
cmp ecx, 0x382e7edf
jne 0x4cc2d6
xor ebx, ebx
mov dword [esp + 0x108], ebx
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x110], ebx
mov dword [esp], 0x5b93e0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x108]
mov dword [esp + 0xc], ebx
call fcn.0040c280
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cc2d6
mov ebx, dword [esp + 0x108]
mov dword [esp + 0x144], ebx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 0x148], ebx
mov ebx, dword [esp + 0x110]
mov dword [esp + 0x14c], ebx
jmp 0x4cbc52
cmp ecx, 0x5fcadfef
jne 0x4cbc52
mov ebp, 0x5b0d40
cmp eax, ebp
jne 0x4cc30b
mov eax, edx
mov ecx, 1
cmp cl, 0
je 0x4cbc52
movzx ebp, byte [eax]
mov ebx, dword [esp + 0x70]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
jmp 0x4cbc52
xor eax, eax
xor ecx, ecx
jmp 0x4cc2f2
mov dword [esp + 0x34], ecx
cmp ecx, 0x663e425f
jne 0x4cc36c
mov byte [esp + 0x23], 0
mov dword [esp], 0x5c4440
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x23]
mov dword [esp + 0xc], ebx
call fcn.0040c280
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cc36c
movzx ebx, byte [esp + 0x23]
mov eax, ebx
mov ebx, dword [esp + 0x70]
mov byte [ebx], al
jmp 0x4cbc52
cmp ecx, 0x6b581726
jne 0x4cc3d0
mov ebp, 0x5b0cc0
cmp eax, ebp
jne 0x4cc4e4
mov ebp, edx
mov ebx, 1
cmp bl, 0
je 0x4cc3d0
mov ebx, dword [esp + 0x144]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x148]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0xc], ebx
mov ebp, dword [ebp]
mov dword [esp + 0x10], ebp
mov ebx, dword [esp + 0x1d4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1d0]
mov ebx, dword [ebx + 0x18]
call ebx
jmp 0x4cbc52
cmp ecx, 0x734d2a16
jne 0x4cbc52
xor ebx, ebx
mov dword [esp + 0x114], ebx
mov dword [esp + 0x118], ebx
mov dword [esp + 0x11c], ebx
mov dword [esp], 0x5b7ea0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x114]
mov dword [esp + 0xc], ebx
call fcn.0040c280
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cbc52
mov edx, dword [esp + 0x114]
mov ecx, dword [esp + 0x118]
mov ebx, dword [esp + 0x11c]
mov dword [esp + 0x188], ebx
xor eax, eax
mov dword [esp + 0x184], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x180], edx
mov ecx, edx
mov ebp, dword [esp + 0x38]
cmp eax, ebp
jge 0x4cbc52
mov dword [esp + 0x64], ecx
mov ebp, dword [ecx]
mov dword [esp + 0x3c], eax
shl eax, 2
mov ecx, dword [esp + 0x148]
mov edx, dword [esp + 0x14c]
cmp eax, ecx
ja 0x4cc4dd
mov esi, ecx
sub esi, eax
sub edx, eax
mov ecx, dword [esp + 0x144]
cmp edx, 0
je 0x4cc491
add ecx, eax
mov dword [esp + 0x198], ecx
mov dword [esp + 4], ecx
mov dword [esp + 0x19c], esi
mov dword [esp + 8], esi
mov dword [esp + 0x1a0], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
mov ebx, dword [esp + 0x1d4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1d0]
mov ebx, dword [ebx + 0x18]
call ebx
mov ecx, dword [esp + 0x64]
add ecx, 4
mov eax, dword [esp + 0x3c]
inc eax
jmp 0x4cc452
call fcn.004288f0
ud2
xor ebp, ebp
xor ebx, ebx
jmp 0x4cc388
cmp ecx, 0xa066c615
ja 0x4cc93d
cmp ecx, 0x88768e96
ja 0x4cc7ef
mov dword [esp + 0x34], ecx
cmp ecx, 0x8237d00c
jne 0x4cc632
xor ebx, ebx
mov dword [esp + 0x120], ebx
mov dword [esp + 0x124], ebx
mov dword [esp + 0x128], ebx
mov dword [esp], 0x5b7e60
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x120]
mov dword [esp + 0xc], ebx
call fcn.0040c280
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cc632
mov edx, dword [esp + 0x120]
mov ecx, dword [esp + 0x124]
mov ebx, dword [esp + 0x128]
mov dword [esp + 0x1ac], ebx
xor eax, eax
mov dword [esp + 0x1a8], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x1a4], edx
mov ecx, edx
mov ebp, dword [esp + 0x38]
cmp eax, ebp
jge 0x4cbc52
mov dword [esp + 0x6c], ecx
movzx ebp, word [ecx]
mov dword [esp + 0x3c], eax
mov esi, ebp
shl eax, 1
mov ecx, dword [esp + 0x148]
mov edx, dword [esp + 0x14c]
cmp eax, ecx
ja 0x4cc62b
mov ebp, ecx
sub ebp, eax
sub edx, eax
mov ecx, dword [esp + 0x144]
cmp edx, 0
je 0x4cc5de
add ecx, eax
mov dword [esp + 0x198], ecx
mov dword [esp + 4], ecx
mov dword [esp + 0x19c], ebp
mov dword [esp + 8], ebp
mov dword [esp + 0x1a0], edx
mov dword [esp + 0xc], edx
mov word [esp + 0x10], si
mov ebx, dword [esp + 0x1d4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1d0]
mov ebx, dword [ebx + 0x14]
call ebx
mov ecx, dword [esp + 0x6c]
add ecx, 2
mov eax, dword [esp + 0x3c]
inc eax
jmp 0x4cc59d
call fcn.004288f0
ud2
cmp ecx, 0x86318d2e
jne 0x4cc6d2
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp], 0x5c4400
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x40]
mov dword [esp + 0xc], ebx
call fcn.0040c280
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cc6d2
mov ebx, dword [esp + 0x144]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x148]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0xc], ebx
mov eax, dword [esp + 0x40]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 0x1d4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1d0]
mov ebx, dword [ebx + 0x1c]
call ebx
jmp 0x4cbc52
cmp ecx, 0x88768e96
jne 0x4cbc52
xor ebx, ebx
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x100], ebx
mov dword [esp + 0x104], ebx
mov dword [esp], 0x5b7ee0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0xfc]
mov dword [esp + 0xc], ebx
call fcn.0040c280
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cbc52
mov edx, dword [esp + 0xfc]
mov eax, dword [esp + 0x100]
mov ebx, dword [esp + 0x104]
mov dword [esp + 0x170], ebx
xor ecx, ecx
mov dword [esp + 0x16c], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x168], edx
mov eax, edx
mov ebp, dword [esp + 0x38]
cmp ecx, ebp
jge 0x4cbc52
mov dword [esp + 0x5c], eax
mov esi, dword [eax]
mov ebp, dword [eax + 4]
mov dword [esp + 0x3c], ecx
mov eax, ecx
shl eax, 3
mov ecx, dword [esp + 0x148]
mov edx, dword [esp + 0x14c]
cmp eax, ecx
ja 0x4cc7e8
mov edi, ecx
sub edi, eax
sub edx, eax
mov ecx, dword [esp + 0x144]
cmp edx, 0
je 0x4cc798
add ecx, eax
mov dword [esp + 0x198], ecx
mov dword [esp + 4], ecx
mov dword [esp + 0x19c], edi
mov dword [esp + 8], edi
mov dword [esp + 0x1a0], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ebp
mov ebx, dword [esp + 0x1d4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1d0]
mov ebx, dword [ebx + 0x1c]
call ebx
mov eax, dword [esp + 0x5c]
add eax, 8
mov ecx, dword [esp + 0x3c]
inc ecx
jmp 0x4cc754
call fcn.004288f0
ud2
mov dword [esp + 0x34], ecx
cmp ecx, 0x963f9bff
jne 0x4cc893
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp], 0x5c3d40
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x48]
mov dword [esp + 0xc], ebx
call fcn.0040c280
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cc893
mov ebx, dword [esp + 0x144]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x148]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0xc], ebx
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 0x1d4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1d0]
mov ebx, dword [ebx + 0x1c]
call ebx
jmp 0x4cbc52
cmp ecx, 0x9ad926a8
jne 0x4cc8c5
mov ebp, 0x5b63c0
cmp eax, ebp
jne 0x4cc934
mov ebp, edx
mov ebx, 1
cmp bl, 0
je 0x4cc8c5
movzx ebp, byte [ebp]
mov ebx, dword [esp + 0x70]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
jmp 0x4cbc52
cmp ecx, 0xa066c615
jne 0x4cbc52
mov ebp, 0x5b0c80
cmp eax, ebp
jne 0x4cc92e
mov eax, edx
mov ecx, 1
cmp cl, 0
je 0x4cbc52
mov ebx, dword [esp + 0x144]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x148]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0xc], ebx
movzx ebp, word [eax]
mov word [esp + 0x10], bp
mov ebx, dword [esp + 0x1d4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1d0]
mov ebx, dword [ebx + 0x14]
call ebx
jmp 0x4cbc52
xor eax, eax
xor ecx, ecx
jmp 0x4cc8e1
xor ebp, ebp
xor ebx, ebx
jmp 0x4cc8af
cmp ecx, 0xd04ae83d
ja 0x4ccab6
mov dword [esp + 0x34], ecx
cmp ecx, 0xbbad4102
jne 0x4cc9dd
mov dword [esp + 0x2c], 0
mov dword [esp], 0x5c3d00
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x2c]
mov dword [esp + 0xc], ebx
call fcn.0040c280
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cc9dd
mov ebx, dword [esp + 0x144]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x148]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x1d4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1d0]
mov ebx, dword [ebx + 0x18]
call ebx
jmp 0x4cbc52
cmp ecx, 0xcc06c027
jne 0x4cca34
mov byte [esp + 0x22], 0
mov dword [esp], 0x5c3d80
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x22]
mov dword [esp + 0xc], ebx
call fcn.0040c280
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cca34
movzx ebx, byte [esp + 0x22]
mov eax, ebx
mov ebx, dword [esp + 0x70]
mov byte [ebx], al
jmp 0x4cbc52
cmp ecx, 0xd04ae83d
jne 0x4cbc52
mov dword [esp + 0x28], 0
mov dword [esp], 0x5c43c0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x28]
mov dword [esp + 0xc], ebx
call fcn.0040c280
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cbc52
mov ebx, dword [esp + 0x144]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x148]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x1d4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1d0]
mov ebx, dword [ebx + 0x18]
call ebx
jmp 0x4cbc52
mov dword [esp + 0x34], ecx
cmp ecx, 0xecd580ce
jne 0x4ccb4b
mov word [esp + 0x26], 0
mov dword [esp], 0x5c3cc0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x26]
mov dword [esp + 0xc], ebx
call fcn.0040c280
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4ccb4b
mov ebx, dword [esp + 0x144]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x148]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0xc], ebx
movzx ebx, word [esp + 0x26]
mov word [esp + 0x10], bx
mov ebx, dword [esp + 0x1d4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1d0]
mov ebx, dword [ebx + 0x14]
call ebx
jmp 0x4cbc52
cmp ecx, 0xee92f42e
jne 0x4ccbb1
mov ebp, 0x5b6300
cmp eax, ebp
jne 0x4ccc34
mov ebp, edx
mov ebx, 1
cmp bl, 0
je 0x4ccbb1
mov ebx, dword [esp + 0x144]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x148]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0xc], ebx
movzx ebp, word [ebp]
mov word [esp + 0x10], bp
mov ebx, dword [esp + 0x1d4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1d0]
mov ebx, dword [ebx + 0x14]
call ebx
jmp 0x4cbc52
cmp ecx, 0xeff20ea0
jne 0x4cbc52
mov word [esp + 0x24], 0
mov dword [esp], 0x5c4380
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x24]
mov dword [esp + 0xc], ebx
call fcn.0040c280
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cbc52
mov ebx, dword [esp + 0x144]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x148]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0xc], ebx
movzx ebx, word [esp + 0x24]
mov word [esp + 0x10], bx
mov ebx, dword [esp + 0x1d4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1d0]
mov ebx, dword [ebx + 0x14]
call ebx
jmp 0x4cbc52
xor ebp, ebp
xor ebx, ebx
jmp 0x4ccb67
cmp ecx, 8
ja 0x4ccc6d
mov ebx, dword [esp + 0x70]
cmp ebx, 0
je 0x4ccc69
mov dword [esp + 0x148], ecx
mov dword [esp + 0x14c], 8
mov dword [esp + 0x144], ebx
jmp 0x4cbc30
mov dword [ebx], eax
jmp 0x4ccc4b
call fcn.004288f0
ud2
mov ebx, dword [esp + 0x1d8]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1dc]
mov dword [esp + 4], ebx
call fcn.00538e50
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x150], edx
mov dword [esp], edx
mov dword [esp + 0x154], ecx
mov dword [esp + 4], ecx
mov dword [esp + 0x158], eax
mov dword [esp + 8], eax
call fcn.00538dc0
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov dword [esp + 0xd8], edx
mov dword [esp], edx
mov dword [esp + 0xdc], ecx
mov dword [esp + 4], ecx
mov dword [esp + 0xe0], eax
mov dword [esp + 8], eax
call fcn.004ccf90
mov ecx, dword [esp + 0xc]
cmp ecx, 0
jge 0x4cce5a
mov ebx, dword [esp + 0x1d8]
mov dword [esp + 0x94], ebx
mov ebx, dword [esp + 0x1dc]
mov dword [esp + 0x98], ebx
xor ebx, ebx
xor ebx, ebx
lea ebx, [esp + 0x94]
cmp ebx, 0
je 0x4cce53
mov eax, dword [ebx]
mov ebp, dword [ebx + 4]
mov dword [esp + 0xa8], ebp
mov dword [esp + 0xa4], eax
xor ebx, ebx
xor ebp, ebp
cmp eax, ebp
jne 0x4cce47
xor ecx, ecx
mov eax, ecx
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ecx
mov dword [esp + 0xb8], ecx
mov dword [esp], ecx
mov dword [esp + 0xb4], eax
mov ebx, dword [eax + 0x84]
call ebx
mov ecx, dword [esp + 4]
mov eax, dword [esp + 8]
mov dword [esp], 0
mov ebx, 0x5fc8a5
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x1b
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0xc8], eax
mov dword [esp + 0x10], eax
call fcn.0043ff10
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov dword [esp + 0xac], ecx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0xb0], eax
mov dword [esp + 0x90], eax
xor ebx, ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
mov dword [esp], 0x5cc760
call fcn.0040ea00
mov eax, dword [esp + 4]
mov dword [esp + 0x54], eax
mov ebp, dword [esp + 0x90]
mov dword [eax + 4], ebp
mov ebp, dword [esp + 0x8c]
cmp byte [0x6d9e38], 0
jne 0x4cce35
mov dword [eax], ebp
mov edx, 0x6b09b0
mov dword [esp + 0x1e0], edx
mov dword [esp + 0x1e4], eax
add esp, 0x1c4
ret
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040f3d0
mov eax, dword [esp + 0x54]
jmp 0x4cce1b
mov ecx, eax
mov eax, 0x6b4ee0
jmp 0x4ccd50
mov dword [ebx], eax
jmp 0x4ccd2d
mov dword [esp], 0x5c4440
mov eax, ecx
cdq
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, ecx
cdq
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
call fcn.0043c2d0
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
xor eax, eax
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], eax
lea eax, [esp + 0x1b0]
mov ebp, dword [esp + 0x1d0]
mov dword [eax], ebp
mov ebp, dword [esp + 0x1d4]
mov dword [eax + 4], ebp
mov dword [esp + 0x138], esi
mov dword [eax + 8], esi
mov dword [esp + 0x13c], edx
mov dword [eax + 0xc], edx
mov dword [esp + 0x140], ecx
mov dword [eax + 0x10], ecx
mov dword [esp + 0x50], eax
mov ebx, dword [esp + 0x50]
mov dword [esp], ebx
mov ebx, dword [esp + 0xd8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xdc]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0xe0]
mov dword [esp + 0xc], ebx
call fcn.004ce280
mov ebx, dword [esp + 0x138]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x13c]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x140]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x1cc]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1c8]
mov ebx, dword [ebx + 0x14]
call ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x9c], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xa0], ebx
mov ebx, dword [esp + 0x9c]
mov dword [esp + 0x1e0], ebx
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x1e4], ebx
add esp, 0x1c4
ret
call fcn.00450fb0
jmp fcn.004cba80