Function at 0x4ce610
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 0x4cfb16
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.004d1920
mov eax, dword [esp + 8]
mov dword [esp + 0x30], eax
cmp eax, 0
je 0x4cf804
mov dword [esp], 0x5c2180
call fcn.0040f320
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 0x4cf7cd
mov dword [esp], 0x5c5000
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.0043cbf0
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 0x4ce836
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 0x4cf07d
cmp ecx, 0x26b80717
ja 0x4ced22
cmp ecx, 0x1f1d91d4
ja 0x4cea52
cmp ecx, 0xc66cd3
jne 0x4ce8c1
mov ebp, 0x5b6e80
cmp eax, ebp
jne 0x4cea49
mov ebp, edx
mov ebx, 1
cmp bl, 0
je 0x4ce8c1
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 0x4ce7e2
cmp ecx, 0x1e2f74f8
jne 0x4ce92c
mov ebp, 0x5b6ec0
cmp eax, ebp
jne 0x4cea40
mov ebp, edx
mov ebx, 1
cmp bl, 0
je 0x4ce92c
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 0x4ce7e2
cmp ecx, 0x1f1d91d4
jne 0x4ce7e2
xor ebx, ebx
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x130], ebx
mov dword [esp + 0x134], ebx
mov dword [esp], 0x5b9ea0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x12c]
mov dword [esp + 0xc], ebx
call fcn.0040cba0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4ce7e2
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 0x4ce7e2
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 0x4cea39
mov esi, ecx
sub esi, eax
sub edx, eax
mov ecx, dword [esp + 0x144]
cmp edx, 0
je 0x4ce9ed
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 0x4ce9ae
call fcn.00429210
ud2
xor ebp, ebp
xor ebx, ebx
jmp 0x4ce8dd
xor ebp, ebp
xor ebx, ebx
jmp 0x4ce879
mov dword [esp + 0x34], ecx
cmp ecx, 0x2069b53f
jne 0x4ceb85
xor ebx, ebx
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], ebx
mov dword [esp], 0x5b9ee0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0xcc]
mov dword [esp + 0xc], ebx
call fcn.0040cba0
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4ceb85
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 0x4ce7e2
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 0x4ceb7e
mov edi, ecx
sub edi, eax
sub edx, eax
mov ecx, dword [esp + 0x144]
cmp edx, 0
je 0x4ceb2e
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 0x4ceaea
call fcn.00429210
ud2
cmp ecx, 0x20e38ee7
jne 0x4cecac
xor ebx, ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xec], ebx
mov dword [esp], 0x5b9e60
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0xe4]
mov dword [esp + 0xc], ebx
call fcn.0040cba0
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cecac
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 0x4ce7e2
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 0x4ceca5
mov esi, ecx
sub esi, eax
sub edx, eax
mov ecx, dword [esp + 0x144]
cmp edx, 0
je 0x4cec58
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 0x4cec19
call fcn.00429210
ud2
cmp ecx, 0x26b80717
jne 0x4ce7e2
mov ebp, 0x5b1800
cmp eax, ebp
jne 0x4ced1c
mov eax, edx
mov ecx, 1
cmp cl, 0
je 0x4ce7e2
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 0x4ce7e2
xor eax, eax
xor ecx, ecx
jmp 0x4cecc8
cmp ecx, 0x5fcadfef
ja 0x4ceea1
mov dword [esp + 0x34], ecx
cmp ecx, 0x30c31d62
jne 0x4cedd9
xor ebx, ebx
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xf4], ebx
mov dword [esp + 0xf8], ebx
mov dword [esp], 0x5b8a60
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0xf0]
mov dword [esp + 0xc], ebx
call fcn.0040cba0
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cedd9
mov ecx, dword [esp + 0xf0]
mov esi, dword [esp + 0xf4]
mov ebx, dword [esp + 0xf8]
xor eax, eax
cmp eax, esi
jge 0x4cedcd
movzx ebp, byte [ecx]
mov edx, ebp
mov ebp, dword [esp + 0x148]
cmp eax, ebp
jae 0x4cedd2
mov ebp, dword [esp + 0x144]
add ebp, eax
mov byte [ebp], dl
inc ecx
inc eax
cmp eax, esi
jl 0x4cedab
jmp 0x4ce7e2
call fcn.004291a0
ud2
cmp ecx, 0x382e7edf
jne 0x4cee66
xor ebx, ebx
mov dword [esp + 0x108], ebx
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x110], ebx
mov dword [esp], 0x5b9f20
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x108]
mov dword [esp + 0xc], ebx
call fcn.0040cba0
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cee66
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 0x4ce7e2
cmp ecx, 0x5fcadfef
jne 0x4ce7e2
mov ebp, 0x5b1840
cmp eax, ebp
jne 0x4cee9b
mov eax, edx
mov ecx, 1
cmp cl, 0
je 0x4ce7e2
movzx ebp, byte [eax]
mov ebx, dword [esp + 0x70]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
jmp 0x4ce7e2
xor eax, eax
xor ecx, ecx
jmp 0x4cee82
mov dword [esp + 0x34], ecx
cmp ecx, 0x663e425f
jne 0x4ceefc
mov byte [esp + 0x23], 0
mov dword [esp], 0x5c5000
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x23]
mov dword [esp + 0xc], ebx
call fcn.0040cba0
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4ceefc
movzx ebx, byte [esp + 0x23]
mov eax, ebx
mov ebx, dword [esp + 0x70]
mov byte [ebx], al
jmp 0x4ce7e2
cmp ecx, 0x6b581726
jne 0x4cef60
mov ebp, 0x5b17c0
cmp eax, ebp
jne 0x4cf074
mov ebp, edx
mov ebx, 1
cmp bl, 0
je 0x4cef60
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 0x4ce7e2
cmp ecx, 0x734d2a16
jne 0x4ce7e2
xor ebx, ebx
mov dword [esp + 0x114], ebx
mov dword [esp + 0x118], ebx
mov dword [esp + 0x11c], ebx
mov dword [esp], 0x5b89e0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x114]
mov dword [esp + 0xc], ebx
call fcn.0040cba0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4ce7e2
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 0x4ce7e2
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 0x4cf06d
mov esi, ecx
sub esi, eax
sub edx, eax
mov ecx, dword [esp + 0x144]
cmp edx, 0
je 0x4cf021
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 0x4cefe2
call fcn.00429210
ud2
xor ebp, ebp
xor ebx, ebx
jmp 0x4cef18
cmp ecx, 0xa066c615
ja 0x4cf4cd
cmp ecx, 0x88768e96
ja 0x4cf37f
mov dword [esp + 0x34], ecx
cmp ecx, 0x8237d00c
jne 0x4cf1c2
xor ebx, ebx
mov dword [esp + 0x120], ebx
mov dword [esp + 0x124], ebx
mov dword [esp + 0x128], ebx
mov dword [esp], 0x5b89a0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x120]
mov dword [esp + 0xc], ebx
call fcn.0040cba0
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cf1c2
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 0x4ce7e2
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 0x4cf1bb
mov ebp, ecx
sub ebp, eax
sub edx, eax
mov ecx, dword [esp + 0x144]
cmp edx, 0
je 0x4cf16e
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 0x4cf12d
call fcn.00429210
ud2
cmp ecx, 0x86318d2e
jne 0x4cf262
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp], 0x5c4fc0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x40]
mov dword [esp + 0xc], ebx
call fcn.0040cba0
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cf262
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 0x4ce7e2
cmp ecx, 0x88768e96
jne 0x4ce7e2
xor ebx, ebx
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x100], ebx
mov dword [esp + 0x104], ebx
mov dword [esp], 0x5b8a20
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0xfc]
mov dword [esp + 0xc], ebx
call fcn.0040cba0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4ce7e2
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 0x4ce7e2
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 0x4cf378
mov edi, ecx
sub edi, eax
sub edx, eax
mov ecx, dword [esp + 0x144]
cmp edx, 0
je 0x4cf328
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 0x4cf2e4
call fcn.00429210
ud2
mov dword [esp + 0x34], ecx
cmp ecx, 0x963f9bff
jne 0x4cf423
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp], 0x5c4900
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x48]
mov dword [esp + 0xc], ebx
call fcn.0040cba0
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cf423
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 0x4ce7e2
cmp ecx, 0x9ad926a8
jne 0x4cf455
mov ebp, 0x5b6f00
cmp eax, ebp
jne 0x4cf4c4
mov ebp, edx
mov ebx, 1
cmp bl, 0
je 0x4cf455
movzx ebp, byte [ebp]
mov ebx, dword [esp + 0x70]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
jmp 0x4ce7e2
cmp ecx, 0xa066c615
jne 0x4ce7e2
mov ebp, 0x5b1780
cmp eax, ebp
jne 0x4cf4be
mov eax, edx
mov ecx, 1
cmp cl, 0
je 0x4ce7e2
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 0x4ce7e2
xor eax, eax
xor ecx, ecx
jmp 0x4cf471
xor ebp, ebp
xor ebx, ebx
jmp 0x4cf43f
cmp ecx, 0xd04ae83d
ja 0x4cf646
mov dword [esp + 0x34], ecx
cmp ecx, 0xbbad4102
jne 0x4cf56d
mov dword [esp + 0x2c], 0
mov dword [esp], 0x5c48c0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x2c]
mov dword [esp + 0xc], ebx
call fcn.0040cba0
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cf56d
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 0x4ce7e2
cmp ecx, 0xcc06c027
jne 0x4cf5c4
mov byte [esp + 0x22], 0
mov dword [esp], 0x5c4940
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x22]
mov dword [esp + 0xc], ebx
call fcn.0040cba0
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cf5c4
movzx ebx, byte [esp + 0x22]
mov eax, ebx
mov ebx, dword [esp + 0x70]
mov byte [ebx], al
jmp 0x4ce7e2
cmp ecx, 0xd04ae83d
jne 0x4ce7e2
mov dword [esp + 0x28], 0
mov dword [esp], 0x5c4f80
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x28]
mov dword [esp + 0xc], ebx
call fcn.0040cba0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4ce7e2
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 0x4ce7e2
mov dword [esp + 0x34], ecx
cmp ecx, 0xecd580ce
jne 0x4cf6db
mov word [esp + 0x26], 0
mov dword [esp], 0x5c4880
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x26]
mov dword [esp + 0xc], ebx
call fcn.0040cba0
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4cf6db
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 0x4ce7e2
cmp ecx, 0xee92f42e
jne 0x4cf741
mov ebp, 0x5b6e40
cmp eax, ebp
jne 0x4cf7c4
mov ebp, edx
mov ebx, 1
cmp bl, 0
je 0x4cf741
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 0x4ce7e2
cmp ecx, 0xeff20ea0
jne 0x4ce7e2
mov word [esp + 0x24], 0
mov dword [esp], 0x5c4f40
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ebx, [esp + 0x24]
mov dword [esp + 0xc], ebx
call fcn.0040cba0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4ce7e2
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 0x4ce7e2
xor ebp, ebp
xor ebx, ebx
jmp 0x4cf6f7
cmp ecx, 8
ja 0x4cf7fd
mov ebx, dword [esp + 0x70]
cmp ebx, 0
je 0x4cf7f9
mov dword [esp + 0x148], ecx
mov dword [esp + 0x14c], 8
mov dword [esp + 0x144], ebx
jmp 0x4ce7c0
mov dword [ebx], eax
jmp 0x4cf7db
call fcn.00429210
ud2
mov ebx, dword [esp + 0x1d8]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1dc]
mov dword [esp + 4], ebx
call fcn.00539770
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.005396e0
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.004cfb20
mov ecx, dword [esp + 0xc]
cmp ecx, 0
jge 0x4cf9ea
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 0x4cf9e3
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 0x4cf9d7
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, 0x5fd529
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.00440830
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], 0x5cd320
call fcn.0040f320
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 [0x6dae38], 0
jne 0x4cf9c5
mov dword [eax], ebp
mov edx, 0x6b19b0
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.0040fcf0
mov eax, dword [esp + 0x54]
jmp 0x4cf9ab
mov ecx, eax
mov eax, 0x6b5ee0
jmp 0x4cf8e0
mov dword [ebx], eax
jmp 0x4cf8bd
mov dword [esp], 0x5c5000
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.0043cbf0
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.004d0e10
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.004518d0
jmp fcn.004ce610