Function at 0x4cb880
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 0x4ccd86
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.004ceb90
mov eax, dword [esp + 8]
mov dword [esp + 0x30], eax
cmp eax, 0
je 0x4cca74
mov dword [esp], 0x5c12c0
call fcn.0040e800
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 0x4cca3d
mov dword [esp], 0x5c4140
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.0043c0d0
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 0x4cbaa6
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 0x4cc2ed
cmp ecx, 0x26b80717
ja 0x4cbf92
cmp ecx, 0x1f1d91d4
ja 0x4cbcc2
cmp ecx, 0xc66cd3
jne 0x4cbb31
mov ebp, 0x5b6040
cmp eax, ebp
jne 0x4cbcb9
mov ebp, edx
mov ebx, 1
cmp bl, 0
je 0x4cbb31
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 0x4cba52
cmp ecx, 0x1e2f74f8
jne 0x4cbb9c
mov ebp, 0x5b6080
cmp eax, ebp
jne 0x4cbcb0
mov ebp, edx
mov ebx, 1
cmp bl, 0
je 0x4cbb9c
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 0x4cba52
cmp ecx, 0x1f1d91d4
jne 0x4cba52
xor ebx, ebx
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x130], ebx
mov dword [esp + 0x134], ebx
mov dword [esp], 0x5b9060
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x12c]
mov dword [esp + 0xc], ebx
call fcn.0040c080
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cba52
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 0x4cba52
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 0x4cbca9
mov esi, ecx
sub esi, eax
sub edx, eax
mov ecx, dword [esp + 0x144]
cmp edx, 0
je 0x4cbc5d
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 0x4cbc1e
call fcn.004286f0
ud2
xor ebp, ebp
xor ebx, ebx
jmp 0x4cbb4d
xor ebp, ebp
xor ebx, ebx
jmp 0x4cbae9
mov dword [esp + 0x34], ecx
cmp ecx, 0x2069b53f
jne 0x4cbdf5
xor ebx, ebx
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], ebx
mov dword [esp], 0x5b90a0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0xcc]
mov dword [esp + 0xc], ebx
call fcn.0040c080
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cbdf5
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 0x4cba52
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 0x4cbdee
mov edi, ecx
sub edi, eax
sub edx, eax
mov ecx, dword [esp + 0x144]
cmp edx, 0
je 0x4cbd9e
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 0x4cbd5a
call fcn.004286f0
ud2
cmp ecx, 0x20e38ee7
jne 0x4cbf1c
xor ebx, ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xec], ebx
mov dword [esp], 0x5b9020
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0xe4]
mov dword [esp + 0xc], ebx
call fcn.0040c080
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cbf1c
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 0x4cba52
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 0x4cbf15
mov esi, ecx
sub esi, eax
sub edx, eax
mov ecx, dword [esp + 0x144]
cmp edx, 0
je 0x4cbec8
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 0x4cbe89
call fcn.004286f0
ud2
cmp ecx, 0x26b80717
jne 0x4cba52
mov ebp, 0x5b0a40
cmp eax, ebp
jne 0x4cbf8c
mov eax, edx
mov ecx, 1
cmp cl, 0
je 0x4cba52
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 0x4cba52
xor eax, eax
xor ecx, ecx
jmp 0x4cbf38
cmp ecx, 0x5fcadfef
ja 0x4cc111
mov dword [esp + 0x34], ecx
cmp ecx, 0x30c31d62
jne 0x4cc049
xor ebx, ebx
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xf4], ebx
mov dword [esp + 0xf8], ebx
mov dword [esp], 0x5b7c20
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0xf0]
mov dword [esp + 0xc], ebx
call fcn.0040c080
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cc049
mov ecx, dword [esp + 0xf0]
mov esi, dword [esp + 0xf4]
mov ebx, dword [esp + 0xf8]
xor eax, eax
cmp eax, esi
jge 0x4cc03d
movzx ebp, byte [ecx]
mov edx, ebp
mov ebp, dword [esp + 0x148]
cmp eax, ebp
jae 0x4cc042
mov ebp, dword [esp + 0x144]
add ebp, eax
mov byte [ebp], dl
inc ecx
inc eax
cmp eax, esi
jl 0x4cc01b
jmp 0x4cba52
call fcn.00428680
ud2
cmp ecx, 0x382e7edf
jne 0x4cc0d6
xor ebx, ebx
mov dword [esp + 0x108], ebx
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x110], ebx
mov dword [esp], 0x5b90e0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x108]
mov dword [esp + 0xc], ebx
call fcn.0040c080
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cc0d6
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 0x4cba52
cmp ecx, 0x5fcadfef
jne 0x4cba52
mov ebp, 0x5b0a80
cmp eax, ebp
jne 0x4cc10b
mov eax, edx
mov ecx, 1
cmp cl, 0
je 0x4cba52
movzx ebp, byte [eax]
mov ebx, dword [esp + 0x70]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
jmp 0x4cba52
xor eax, eax
xor ecx, ecx
jmp 0x4cc0f2
mov dword [esp + 0x34], ecx
cmp ecx, 0x663e425f
jne 0x4cc16c
mov byte [esp + 0x23], 0
mov dword [esp], 0x5c4140
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x23]
mov dword [esp + 0xc], ebx
call fcn.0040c080
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cc16c
movzx ebx, byte [esp + 0x23]
mov eax, ebx
mov ebx, dword [esp + 0x70]
mov byte [ebx], al
jmp 0x4cba52
cmp ecx, 0x6b581726
jne 0x4cc1d0
mov ebp, 0x5b0a00
cmp eax, ebp
jne 0x4cc2e4
mov ebp, edx
mov ebx, 1
cmp bl, 0
je 0x4cc1d0
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 0x4cba52
cmp ecx, 0x734d2a16
jne 0x4cba52
xor ebx, ebx
mov dword [esp + 0x114], ebx
mov dword [esp + 0x118], ebx
mov dword [esp + 0x11c], ebx
mov dword [esp], 0x5b7ba0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x114]
mov dword [esp + 0xc], ebx
call fcn.0040c080
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cba52
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 0x4cba52
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 0x4cc2dd
mov esi, ecx
sub esi, eax
sub edx, eax
mov ecx, dword [esp + 0x144]
cmp edx, 0
je 0x4cc291
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 0x4cc252
call fcn.004286f0
ud2
xor ebp, ebp
xor ebx, ebx
jmp 0x4cc188
cmp ecx, 0xa066c615
ja 0x4cc73d
cmp ecx, 0x88768e96
ja 0x4cc5ef
mov dword [esp + 0x34], ecx
cmp ecx, 0x8237d00c
jne 0x4cc432
xor ebx, ebx
mov dword [esp + 0x120], ebx
mov dword [esp + 0x124], ebx
mov dword [esp + 0x128], ebx
mov dword [esp], 0x5b7b60
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x120]
mov dword [esp + 0xc], ebx
call fcn.0040c080
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cc432
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 0x4cba52
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 0x4cc42b
mov ebp, ecx
sub ebp, eax
sub edx, eax
mov ecx, dword [esp + 0x144]
cmp edx, 0
je 0x4cc3de
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 0x4cc39d
call fcn.004286f0
ud2
cmp ecx, 0x86318d2e
jne 0x4cc4d2
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp], 0x5c4100
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x40]
mov dword [esp + 0xc], ebx
call fcn.0040c080
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cc4d2
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 0x4cba52
cmp ecx, 0x88768e96
jne 0x4cba52
xor ebx, ebx
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x100], ebx
mov dword [esp + 0x104], ebx
mov dword [esp], 0x5b7be0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0xfc]
mov dword [esp + 0xc], ebx
call fcn.0040c080
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cba52
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 0x4cba52
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 0x4cc5e8
mov edi, ecx
sub edi, eax
sub edx, eax
mov ecx, dword [esp + 0x144]
cmp edx, 0
je 0x4cc598
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 0x4cc554
call fcn.004286f0
ud2
mov dword [esp + 0x34], ecx
cmp ecx, 0x963f9bff
jne 0x4cc693
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp], 0x5c3a40
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x48]
mov dword [esp + 0xc], ebx
call fcn.0040c080
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cc693
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 0x4cba52
cmp ecx, 0x9ad926a8
jne 0x4cc6c5
mov ebp, 0x5b60c0
cmp eax, ebp
jne 0x4cc734
mov ebp, edx
mov ebx, 1
cmp bl, 0
je 0x4cc6c5
movzx ebp, byte [ebp]
mov ebx, dword [esp + 0x70]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
jmp 0x4cba52
cmp ecx, 0xa066c615
jne 0x4cba52
mov ebp, 0x5b09c0
cmp eax, ebp
jne 0x4cc72e
mov eax, edx
mov ecx, 1
cmp cl, 0
je 0x4cba52
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 0x4cba52
xor eax, eax
xor ecx, ecx
jmp 0x4cc6e1
xor ebp, ebp
xor ebx, ebx
jmp 0x4cc6af
cmp ecx, 0xd04ae83d
ja 0x4cc8b6
mov dword [esp + 0x34], ecx
cmp ecx, 0xbbad4102
jne 0x4cc7dd
mov dword [esp + 0x2c], 0
mov dword [esp], 0x5c3a00
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x2c]
mov dword [esp + 0xc], ebx
call fcn.0040c080
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cc7dd
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 0x4cba52
cmp ecx, 0xcc06c027
jne 0x4cc834
mov byte [esp + 0x22], 0
mov dword [esp], 0x5c3a80
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x22]
mov dword [esp + 0xc], ebx
call fcn.0040c080
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cc834
movzx ebx, byte [esp + 0x22]
mov eax, ebx
mov ebx, dword [esp + 0x70]
mov byte [ebx], al
jmp 0x4cba52
cmp ecx, 0xd04ae83d
jne 0x4cba52
mov dword [esp + 0x28], 0
mov dword [esp], 0x5c40c0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x28]
mov dword [esp + 0xc], ebx
call fcn.0040c080
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cba52
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 0x4cba52
mov dword [esp + 0x34], ecx
cmp ecx, 0xecd580ce
jne 0x4cc94b
mov word [esp + 0x26], 0
mov dword [esp], 0x5c39c0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x26]
mov dword [esp + 0xc], ebx
call fcn.0040c080
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cc94b
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 0x4cba52
cmp ecx, 0xee92f42e
jne 0x4cc9b1
mov ebp, 0x5b6000
cmp eax, ebp
jne 0x4cca34
mov ebp, edx
mov ebx, 1
cmp bl, 0
je 0x4cc9b1
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 0x4cba52
cmp ecx, 0xeff20ea0
jne 0x4cba52
mov word [esp + 0x24], 0
mov dword [esp], 0x5c4080
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x24]
mov dword [esp + 0xc], ebx
call fcn.0040c080
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cba52
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 0x4cba52
xor ebp, ebp
xor ebx, ebx
jmp 0x4cc967
cmp ecx, 8
ja 0x4cca6d
mov ebx, dword [esp + 0x70]
cmp ebx, 0
je 0x4cca69
mov dword [esp + 0x148], ecx
mov dword [esp + 0x14c], 8
mov dword [esp + 0x144], ebx
jmp 0x4cba30
mov dword [ebx], eax
jmp 0x4cca4b
call fcn.004286f0
ud2
mov ebx, dword [esp + 0x1d8]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1dc]
mov dword [esp + 4], ebx
call fcn.00538c50
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.00538bc0
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.004ccd90
mov ecx, dword [esp + 0xc]
cmp ecx, 0
jge 0x4ccc5a
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 0x4ccc53
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 0x4ccc47
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, 0x5fc4c8
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.0043fd10
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], 0x5cc460
call fcn.0040e800
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 0x4ccc35
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.0040f1d0
mov eax, dword [esp + 0x54]
jmp 0x4ccc1b
mov ecx, eax
mov eax, 0x6b4ee0
jmp 0x4ccb50
mov dword [ebx], eax
jmp 0x4ccb2d
mov dword [esp], 0x5c4140
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.0043c0d0
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.004ce080
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.00450db0
jmp fcn.004cb880