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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x98]
cmp eax, dword [ecx + 8]
jbe 0x4d02dd
sub esp, 0x118
mov ecx, dword [esp + 0x124]
cmp ecx, 2
jl 0x4d01f8
mov ebx, dword [esp + 0x128]
mov ebp, dword [esp + 0x120]
mov eax, ebp
mov edx, ebx
xor esi, esi
xor edi, edi
xor eax, eax
mov word [esp + 0x24], ax
xor edx, edx
mov dword [esp + 0x30], edx
xor edx, edx
mov dword [esp + 0x34], edx
xor edx, edx
mov dword [esp + 0xc8], edx
xor ebx, ebx
mov dword [esp + 0x84], ebx
mov ebx, dword [esp + 0x128]
mov eax, ebp
mov edx, ebx
jmp 0x4ceff1
inc ebx
mov ebp, dword [esp + 0xc8]
mov esi, dword [esp + 0x30]
mov ebp, dword [esp + 0x28]
movzx esi, word [esp + 0x24]
mov dword [esp + 0x7c], ebx
movzx ebx, word [esp + 0x22]
mov ebx, dword [esp + 0x7c]
mov esi, dword [esp + 0x30]
cmp ebx, esi
jge 0x4cef7e
cmp ebx, ebp
jge 0x4cef7e
cmp ebx, esi
jae 0x4d02cc
mov ebp, dword [esp + 0xc8]
lea ebp, [ebp + ebx*4]
mov esi, dword [esp + 0xb8]
mov esi, dword [esi + ebx*4]
cmp dword [ebp], esi
je 0x4cef2e
test ebx, ebx
jle 0x4cf077
mov ebp, dword [esp + 0x34]
cmp ebx, ebp
ja 0x4d02c3
movzx esi, word [esp + 0x24]
mov esi, dword [esp + 0x80]
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0x84]
mov dword [esp + 0x38], esi
movzx esi, word [esp + 0x24]
mov edx, dword [esp + 0x60]
inc edx
mov word [esp + 0x24], si
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebp
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x84], eax
mov ebp, dword [esp + 0xe8]
mov ebx, dword [esp + 0x3c]
mov esi, edx
mov eax, dword [esp + 0xb0]
mov edx, dword [esp + 0x128]
mov dword [esp + 0x80], ebx
mov dword [esp + 0xe8], ebp
cmp ecx, esi
jl 0x4cf671
mov dword [esp + 0x60], esi
jle 0x4cf65d
jbe 0x4d02d5
mov ebp, dword [eax + esi*4]
cmp byte [ebp], 0x12
jne 0x4cf02c
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 4]
test ebx, ebx
jle 0x4cf02c
mov ebp, dword [esi]
cmp byte [ebp], 3
je 0x4cf629
xor ebx, ebx
xor ebp, ebp
xor esi, esi
xor ebx, ebx
mov dword [esp + 0x2c], ebx
xor ebx, ebx
mov word [esp + 0x22], bx
mov dword [esp + 0xb8], esi
mov dword [esp + 0x28], ebp
movzx esi, word [esp + 0x24]
cmp bx, si
jne 0x4cf077
mov dword [esp + 0xa0], eax
xor eax, eax
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0xa0]
jmp 0x4cef4c
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0xb8]
movzx ebx, word [esp + 0x22]
mov word [esp + 0x26], bx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x60]
cmp ebx, edi
jne 0x4cf0d8
mov edi, dword [esp + 0x84]
mov edi, dword [esp + 0x80]
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0x84]
mov ebx, ebp
mov dword [esp + 0xc8], esi
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x60]
movzx esi, word [esp + 0x26]
mov ebp, dword [esp + 0x58]
jmp 0x4cefb2
mov dword [esp + 0x54], ebp
mov dword [esp + 0xec], esi
lea ebp, [edi + 1]
cmp ebx, ebp
jne 0x4cf1dd
cmp ecx, edi
jbe 0x4d02bc
mov ebp, dword [esp + 0x84]
lea ebx, [ebp + 1]
mov esi, dword [eax + edi*4]
mov edi, esi
mov esi, dword [esp + 0x80]
cmp ebx, esi
ja 0x4cf173
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], esi
mov ebx, dword [0x63be10]
mov esi, dword [esp + 0xe8]
lea ebp, [esi + ebp*4]
test ebx, ebx
jne 0x4cf15f
mov ebx, dword [esp + 0x84]
mov dword [esi + ebx*4], edi
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x38]
mov edi, ebp
mov dword [esp + 0x3c], ebx
mov dword [esp + 0xe8], esi
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x54]
mov esi, dword [esp + 0xec]
jmp 0x4cf0b9
mov ebx, edi
mov edi, ebp
mov eax, ebx
call fcn.0045a680
mov eax, dword [esp + 0x120]
jmp 0x4cf136
mov dword [esp + 0x114], edi
lea eax, [0x529dc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xe8]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.004427c0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x124]
mov edx, dword [esp + 0x128]
mov edi, dword [esp + 0x114]
mov dword [esp + 0xe8], ebp
mov ebp, dword [esp + 0x84]
jmp 0x4cf110
mov dword [esp + 0x50], edi
nop
mov ebp, dword [esp + 0x11c]
mov esi, dword [ebp + 0x10]
lea edx, [ebp + 0x10]
mov dword [esp + 0x110], edx
test esi, esi
je 0x4cf5fd
mov ecx, dword [0x63be10]
mov ebx, dword [esi + 0x10]
test ecx, ecx
jne 0x4cf5ba
mov dword [ebp + 0x10], ebx
mov edi, esi
mov ebx, eax
xor eax, eax
call fcn.0045a8e1
mov dword [esp + 0xe4], esi
mov byte [esi], 3
movzx eax, word [esp + 0x24]
mov word [esi + 2], ax
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x14]
mov edi, dword [esp + 0x30]
cmp eax, edi
jb 0x4cf587
mov dword [esp + 0x7c], eax
mov dword [esp + 0x10c], ecx
mov dword [esp], ecx
mov edx, dword [esp + 0xc8]
mov dword [esp + 4], edx
shl edi, 2
mov dword [esp + 8], edi
call fcn.0045aff0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0xe4]
mov dword [ecx + 0x18], eax
mov edx, dword [esp + 0x7c]
mov dword [ecx + 0x1c], edx
mov edx, dword [0x63be10]
test edx, edx
jne 0x4cf56f
mov ebx, dword [esp + 0x10c]
mov dword [ecx + 0x14], ebx
mov ebx, dword [esp + 0x120]
mov ebp, dword [esp + 0x11c]
mov esi, dword [esp + 0x124]
mov edx, dword [esp + 0x60]
mov edi, dword [esp + 0x50]
jmp 0x4cf2d3
lea edi, [edx + 1]
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x11c]
mov esi, dword [esp + 0x124]
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0xe4]
cmp edx, edi
jle 0x4cf320
cmp esi, edi
jbe 0x4d02b3
mov dword [esp + 0x7c], edi
mov ecx, dword [ebx + edi*4]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004d02f0
mov eax, dword [0x63be10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x120]
lea edi, [ebx + edx*4]
test eax, eax
jne 0x4cf317
mov dword [ebx + edx*4], ecx
jmp 0x4cf2b3
mov eax, ecx
call fcn.0045a680
jmp 0x4cf2b3
mov edi, dword [esp + 0x128]
cmp edx, edi
ja 0x4d02aa
mov eax, dword [esp + 0x50]
cmp edx, eax
jb 0x4d02a3
mov dword [esp], ebp
sub edi, eax
mov esi, edi
xchg edi, ebx
neg ebx
xchg edi, ebx
shl eax, 2
sar edi, 0x1f
and eax, edi
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
sub edx, eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov byte [esp + 0x10], 0x13
call fcn.004ceaf0
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc4], eax
nop
mov ecx, dword [esp + 0x11c]
mov edi, dword [ecx + 0x10]
test edi, edi
je 0x4cf551
mov dword [esp + 0xd4], edi
mov ebx, dword [0x63be10]
mov ebp, dword [edi + 0x10]
test ebx, ebx
jne 0x4cf521
mov dword [ecx + 0x10], ebp
mov edx, eax
xor eax, eax
call fcn.0045a8e1
mov eax, dword [esp + 0xd4]
mov dword [esp + 0xdc], eax
mov byte [eax], 0x12
mov ebx, dword [eax + 0xc]
mov ebp, dword [eax + 4]
cmp ebx, 2
jb 0x4cf4d9
mov ecx, 2
mov esi, dword [0x63be10]
test esi, esi
jne 0x4cf4b3
mov esi, dword [esp + 0xe4]
mov dword [ebp], esi
mov dword [ebp + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov ebx, dword [0x63be10]
test ebx, ebx
jne 0x4cf4a0
mov dword [eax + 4], ebp
mov ebx, dword [esp + 0x84]
lea ebp, [ebx + 1]
mov esi, dword [esp + 0x80]
cmp ebp, esi
ja 0x4cf45c
mov ecx, dword [esp + 0xe8]
mov edx, ebp
mov ebp, dword [0x63be10]
lea edi, [ecx + ebx*4]
test ebp, ebp
jne 0x4cf455
mov dword [ecx + ebx*4], eax
mov eax, dword [esp + 0x120]
mov ebx, esi
mov ebp, edx
mov esi, ecx
mov ecx, dword [esp + 0x124]
mov edx, dword [esp + 0x128]
jmp 0x4cf13e
call fcn.0045a680
jmp 0x4cf435
lea eax, [0x529dc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xe8]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.004427c0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea ebp, [eax + 1]
mov eax, dword [esp + 0xdc]
mov ebx, dword [esp + 0x84]
jmp 0x4cf423
lea edi, [eax + 4]
mov ecx, eax
mov eax, ebp
call fcn.0045a680
mov eax, ecx
jmp 0x4cf407
mov edi, ebp
mov eax, dword [esp + 0xe4]
call fcn.0045a680
lea esi, [ebp + 4]
mov edi, esi
mov eax, edx
call fcn.0045a680
mov eax, dword [esp + 0xdc]
jmp 0x4cf3f0
lea eax, [0x529dc0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], 0
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 2
call fcn.004427c0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea ecx, [eax + 2]
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0xc4]
jmp 0x4cf3d5
mov eax, edi
mov edi, dword [esp + 0x110]
mov ecx, eax
mov eax, ebp
call fcn.0045a680
lea edx, [0x52bf00]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.0040fd60
mov edx, dword [esp + 0xc4]
jmp 0x4cf3b0
lea eax, [0x52bf00]
mov dword [esp], eax
call fcn.0040b6c0
mov eax, dword [esp + 4]
mov edx, dword [esp + 0xc4]
jmp 0x4cf3b7
lea edi, [ecx + 0x14]
mov edx, eax
mov eax, dword [esp + 0x10c]
call fcn.0045a680
mov eax, edx
jmp 0x4cf294
lea edx, [0x51ab60]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edi
call fcn.004427c0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x30]
jmp 0x4cf242
mov dword [esp + 0xd8], esi
mov edi, edx
mov eax, ebx
call fcn.0045a680
lea ecx, [0x52bf00]
mov dword [esp], ecx
mov dword [esp + 4], esi
call fcn.0040fd60
mov edx, dword [esp + 0x110]
mov ebx, dword [esp + 0x120]
mov ebp, dword [esp + 0x11c]
mov esi, dword [esp + 0xd8]
jmp 0x4cf21d
lea eax, [0x52bf00]
mov dword [esp], eax
call fcn.0040b6c0
mov esi, dword [esp + 4]
mov edx, dword [esp + 0x110]
mov ebx, dword [esp + 0x120]
mov ebp, dword [esp + 0x11c]
jmp 0x4cf21d
mov esi, dword [ebp + 0x14]
mov ebx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x1c]
movzx ebp, word [ebp + 2]
and ebp, 1
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x128]
mov dword [esp + 0xa8], eax
mov eax, ebx
mov ebx, ebp
mov ebp, eax
mov eax, dword [esp + 0xa8]
jmp 0x4cf044
xor ebx, ebx
xor ebp, ebp
xor esi, esi
xor ebx, ebx
mov word [esp + 0x26], bx
xor ebx, ebx
jmp 0x4cf094
mov ecx, dword [esp + 0x84]
mov eax, ebp
mov edx, ebx
xor esi, esi
xor edi, edi
xor eax, eax
mov dword [esp + 0xe0], eax
xor edx, edx
mov dword [esp + 0x124], edx
mov eax, ebp
mov edx, ebx
jmp 0x4cf6bb
mov edx, dword [esp + 0x5c]
inc edx
mov dword [esp + 0xe0], ebp
mov dword [esp + 0x124], esi
mov ebp, dword [esp + 0x104]
mov esi, edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x108], ebp
cmp esi, ecx
jg 0x4cfc6c
mov dword [esp + 0x5c], esi
mov dword [esp + 0x78], ebx
mov dword [esp + 0x48], edi
jge 0x4cfc5e
jae 0x4d029c
mov ebp, dword [eax + esi*4]
movzx ebx, byte [ebp]
cmp bl, 2
jne 0x4cfc29
xor ebx, ebx
mov dword [esp + 0xbc], ebx
mov ebp, dword [esp + 0xe0]
test ebp, ebp
jne 0x4cfbe4
mov dword [esp + 0x98], eax
xor eax, eax
mov byte [esp + 0x21], al
mov eax, dword [esp + 0x98]
movzx esi, byte [esp + 0x21]
xchg esi, eax
test al, al
xchg esi, eax
je 0x4cf7b9
movzx esi, byte [ebp]
xchg esi, eax
cmp al, 3
xchg esi, eax
jne 0x4cf760
cmp dword [ebp + 0x18], 1
jne 0x4cf760
mov ebx, dword [esp + 0x78]
mov esi, dword [esp + 0x124]
mov ebx, dword [esp + 0x108]
mov dword [esp + 0x104], ebx
mov ebx, dword [esp + 0x78]
jmp 0x4cf698
xchg esi, eax
cmp al, 4
xchg esi, eax
je 0x4cf73e
xchg esi, eax
cmp al, 5
xchg esi, eax
je 0x4cf73e
xchg esi, eax
cmp al, 6
xchg esi, eax
je 0x4cf73e
xchg esi, eax
cmp al, 0x11
xchg esi, eax
jne 0x4cf7b9
mov esi, dword [ebp + 0x2c]
cmp dword [ebp + 0x28], esi
jne 0x4cf7b9
mov esi, dword [ebp + 8]
mov ebx, dword [ebp + 4]
test esi, esi
jbe 0x4d0293
mov ebx, dword [ebx]
movzx esi, byte [ebx]
xchg esi, eax
cmp al, 3
xchg esi, eax
jne 0x4cf7a4
cmp dword [ebx + 0x18], 1
je 0x4cf73e
xchg esi, eax
cmp al, 4
xchg esi, eax
je 0x4cf73e
xchg esi, eax
cmp al, 5
xchg esi, eax
je 0x4cf73e
xchg esi, eax
cmp al, 6
xchg esi, eax
je 0x4cf73e
mov ebx, dword [esp + 0xbc]
mov esi, dword [esp + 0x5c]
cmp esi, edi
jne 0x4cf808
mov ebp, dword [esp + 0x78]
mov edi, dword [esp + 0x124]
mov ebp, dword [esp + 0x108]
mov dword [esp + 0x100], ebp
mov ebp, dword [esp + 0x78]
mov esi, edi
mov edi, dword [esp + 0x100]
mov dword [esp + 0x104], edi
mov edi, dword [esp + 0x5c]
mov edi, ebp
mov ebp, ebx
mov ebx, edi
mov edi, dword [esp + 0x5c]
jmp 0x4cf698
mov dword [esp + 0xf0], ebx
lea ebp, [edi + 1]
cmp esi, ebp
jne 0x4cf91c
cmp ecx, edi
jbe 0x4d028c
mov ebp, dword [esp + 0x124]
lea ebx, [ebp + 1]
mov esi, dword [eax + edi*4]
mov edi, esi
mov esi, dword [esp + 0x78]
cmp ebx, esi
ja 0x4cf8b2
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x108]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], esi
mov ebx, dword [0x63be10]
mov esi, dword [esp + 0xfc]
lea ebp, [esi + ebp*4]
test ebx, ebx
jne 0x4cf89e
mov ebx, dword [esp + 0x124]
mov dword [esi + ebx*4], edi
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x38]
mov edi, ebp
mov dword [esp + 0x100], esi
mov esi, dword [esp + 0x5c]
mov ebp, ebx
mov ebx, dword [esp + 0xf0]
jmp 0x4cf7e5
mov ebx, edi
mov edi, ebp
mov eax, ebx
call fcn.0045a680
mov eax, dword [esp + 0xe8]
jmp 0x4cf87b
mov dword [esp + 0x114], edi
lea eax, [0x529dc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x108]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.004427c0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea ebx, [eax + 1]
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x80]
mov edi, dword [esp + 0x114]
mov dword [esp + 0xfc], ebp
mov ebp, dword [esp + 0x124]
jmp 0x4cf855
mov ebp, dword [esp + 0x11c]
jmp 0x4cf94e
lea edi, [edx + 1]
mov eax, dword [esp + 0x48]
mov ebp, dword [esp + 0x11c]
mov ecx, dword [esp + 0x84]
mov esi, dword [esp + 0x5c]
mov eax, ebx
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0xf0]
cmp esi, edi
jle 0x4cf9a4
cmp edi, ecx
jae 0x4d0285
mov dword [esp + 0x7c], edi
mov ecx, dword [eax + edi*4]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x48]
cmp edi, ecx
setne dl
mov byte [esp + 8], dl
call fcn.004d0530
mov eax, dword [0x63be10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0xe8]
lea edi, [ebx + edx*4]
test eax, eax
jne 0x4cf99b
mov dword [ebx + edx*4], ecx
jmp 0x4cf925
mov eax, ecx
call fcn.0045a680
jmp 0x4cf925
cmp esi, edx
ja 0x4d027e
mov edi, dword [esp + 0x48]
cmp esi, edi
jb 0x4d0275
mov dword [esp], ebp
sub edx, edi
mov ebx, edx
neg edx
shl edi, 2
sar edx, 0x1f
and edi, edx
lea edx, [eax + edi]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x48]
sub esi, edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov byte [esp + 0x10], 0x13
call fcn.004ceaf0
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc0], eax
nop
mov ecx, dword [esp + 0x11c]
mov edi, dword [ecx + 0x10]
test edi, edi
je 0x4cfbc6
mov dword [esp + 0xcc], edi
mov ebx, dword [0x63be10]
mov ebp, dword [edi + 0x10]
test ebx, ebx
jne 0x4cfb98
mov dword [ecx + 0x10], ebp
mov edx, eax
xor eax, eax
call fcn.0045a8e1
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xd0], eax
mov byte [eax], 0x12
mov ebx, dword [eax + 0xc]
mov ebp, dword [eax + 4]
cmp ebx, 2
jb 0x4cfb50
mov ecx, 2
mov esi, dword [0x63be10]
test esi, esi
jne 0x4cfb2a
mov esi, dword [esp + 0xe0]
mov dword [ebp], esi
mov dword [ebp + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov ebx, dword [0x63be10]
test ebx, ebx
jne 0x4cfb17
mov dword [eax + 4], ebp
mov ebx, dword [esp + 0x124]
lea ebp, [ebx + 1]
mov esi, dword [esp + 0x78]
cmp ebp, esi
ja 0x4cfad3
mov ecx, dword [esp + 0x108]
mov edx, ebp
mov ebp, dword [0x63be10]
lea edi, [ecx + ebx*4]
test ebp, ebp
jne 0x4cfacc
mov dword [ecx + ebx*4], eax
mov eax, dword [esp + 0xe8]
mov ebx, esi
mov ebp, edx
mov esi, ecx
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x80]
jmp 0x4cf883
call fcn.0045a680
jmp 0x4cfaac
lea eax, [0x529dc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x108]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.004427c0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea ebp, [eax + 1]
mov eax, dword [esp + 0xd0]
mov ebx, dword [esp + 0x124]
jmp 0x4cfa9a
lea edi, [eax + 4]
mov ecx, eax
mov eax, ebp
call fcn.0045a680
mov eax, ecx
jmp 0x4cfa81
mov edi, ebp
mov eax, dword [esp + 0xe0]
call fcn.0045a680
lea esi, [ebp + 4]
mov edi, esi
mov eax, edx
call fcn.0045a680
mov eax, dword [esp + 0xd0]
jmp 0x4cfa6a
lea eax, [0x529dc0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], 0
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 2
call fcn.004427c0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea ecx, [eax + 2]
mov eax, dword [esp + 0xd0]
mov edx, dword [esp + 0xc0]
jmp 0x4cfa4f
lea edx, [ecx + 0x10]
mov eax, edi
mov edi, edx
mov ebx, eax
mov eax, ebp
call fcn.0045a680
lea edx, [0x52bf00]
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.0040fd60
mov edx, dword [esp + 0xc0]
jmp 0x4cfa2a
lea eax, [0x52bf00]
mov dword [esp], eax
call fcn.0040b6c0
mov eax, dword [esp + 4]
mov edx, dword [esp + 0xc0]
jmp 0x4cfa31
mov dword [esp], ebp
mov dword [esp + 4], ebx
call fcn.004d6a40
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xe0]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x48]
mov byte [esp + 0x21], al
mov eax, dword [esp + 0xe8]
jmp 0x4cf71e
cmp bl, 0x12
jne 0x4cfc53
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 4]
test ebx, ebx
jle 0x4cfc53
mov ebx, dword [esi]
cmp byte [ebx], 2
jne 0x4cfc4a
mov esi, dword [esp + 0x5c]
xor ebx, ebx
jmp 0x4cf6f4
mov esi, dword [esp + 0x5c]
jmp 0x4cf6f4
mov esi, dword [esp + 0x5c]
mov ebx, ebp
jmp 0x4cf6f4
mov ebp, dword [esp + 0xe0]
xor ebx, ebx
jmp 0x4cf7c0
mov ecx, dword [esp + 0x124]
mov eax, ebp
xor edx, edx
xor esi, esi
xor edi, edi
jmp 0x4cfc96
mov ebx, dword [esp + 0x64]
inc ebx
mov dword [esp + 0x88], eax
mov eax, edx
mov edx, ebx
mov ebx, eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x84], edi
mov dword [esp + 0xe8], ebp
cmp edx, ecx
jg 0x4d00c2
mov dword [esp + 0x64], edx
mov dword [esp + 0x74], ebx
jge 0x4cfce2
jae 0x4d026e
mov edx, dword [eax + edx*4]
movzx ebx, byte [edx]
cmp bl, 3
jne 0x4cfcd3
cmp dword [edx + 0x18], 1
jne 0x4cfcd3
mov edx, dword [esp + 0x74]
jmp 0x4cfc7d
cmp bl, 4
je 0x4cfccd
cmp bl, 5
je 0x4cfccd
cmp bl, 6
je 0x4cfccd
mov edx, dword [esp + 0x64]
cmp edx, esi
jne 0x4cfda7
cmp edx, ecx
mov ebx, dword [esp + 0x74]
jge 0x4cfda1
jae 0x4d023d
lea esi, [edi + 1]
mov edx, dword [eax + edx*4]
cmp ebx, esi
jb 0x4cfd4b
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], ebx
mov ebx, dword [0x63be10]
lea esi, [ebp + edi*4]
test ebx, ebx
jne 0x4cfd3c
mov dword [ebp + edi*4], edx
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x38]
mov esi, ebx
mov ebx, dword [esp + 0x64]
inc ebx
mov edi, esi
mov esi, ebx
jmp 0x4cfc7d
mov edi, esi
mov ebx, eax
mov eax, edx
call fcn.0045a680
mov eax, ebx
jmp 0x4cfd24
mov dword [esp + 0x70], edi
mov dword [esp + 0x114], edx
lea eax, [0x529dc0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
call fcn.004427c0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea esi, [eax + 1]
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x124]
mov edx, dword [esp + 0x114]
mov edi, dword [esp + 0x70]
jmp 0x4cfd0a
mov edx, ebx
mov ebx, edi
jmp 0x4cfd2c
lea ebx, [esi + 1]
cmp edx, ebx
jne 0x4cfe65
cmp ecx, esi
jbe 0x4d0267
lea ebx, [edi + 1]
mov esi, dword [eax + esi*4]
mov edx, dword [esp + 0x74]
cmp ebx, edx
ja 0x4cfe10
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], edx
mov edx, dword [0x63be10]
lea ebx, [ebp + edi*4]
test edx, edx
jne 0x4cfdf7
mov dword [ebp + edi*4], esi
mov edx, dword [esp + 0x64]
cmp edx, ecx
mov ebx, dword [esp + 0x3c]
mov esi, dword [esp + 0x38]
mov edi, esi
jmp 0x4cfcf4
mov edi, ebx
mov edx, eax
mov eax, esi
call fcn.0045a680
mov eax, dword [esp + 0x64]
cmp eax, ecx
mov eax, edx
mov edx, dword [esp + 0x64]
jmp 0x4cfde8
mov dword [esp + 0x114], esi
lea eax, [0x529dc0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.004427c0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x124]
mov esi, dword [esp + 0x114]
mov edi, dword [esp + 0x84]
jmp 0x4cfdc8
mov dword [esp + 0x80], ebx
mov dword [esp + 0x40], esi
jmp 0x4cfe88
mov ebx, dword [esp + 0x4c]
inc ebx
mov ebp, dword [esp + 0x64]
mov ebp, dword [esp + 0xe8]
mov esi, edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x7c], esi
cmp edx, ebx
jle 0x4cfecb
cmp ecx, esi
jbe 0x4d0260
mov ebp, dword [eax + esi*4]
movzx edx, byte [ebp]
cmp ebx, ecx
jae 0x4d0259
mov dword [esp + 0x4c], ebx
mov esi, dword [eax + ebx*4]
movzx ebx, byte [esi]
cmp dl, bl
jae 0x4cfebb
mov edx, dword [esp + 0x4c]
jmp 0x4cfe72
jne 0x4cfec5
mov edx, dword [ebp + 0x18]
cmp dword [esi + 0x18], edx
jg 0x4cfeb5
mov edx, dword [esp + 0x7c]
jmp 0x4cfe72
mov ebx, dword [esp + 0x40]
cmp ecx, ebx
jbe 0x4d0252
mov ebp, dword [eax + ebx*4]
lea edx, [eax + ebx*4]
cmp ecx, esi
jbe 0x4d024b
mov dword [esp + 0xf8], edx
mov dword [esp + 0x114], ebp
mov edx, dword [0x63be10]
mov ebp, dword [eax + esi*4]
lea esi, [eax + esi*4]
test edx, edx
jne 0x4d0096
mov dword [eax + ebx*4], ebp
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x114]
mov dword [eax + edx*4], ebp
mov edx, dword [esp + 0x64]
mov ebp, dword [esp + 0x80]
jmp 0x4cff49
lea esi, [eax + 1]
mov eax, dword [esp + 0x124]
mov ebx, dword [esp + 0x40]
mov edx, dword [esp + 0x64]
mov eax, ecx
mov ecx, dword [esp + 0x124]
mov edi, dword [esp + 0x84]
mov ebp, esi
cmp edx, ebp
jle 0x4cffb4
mov esi, dword [eax + ebx*4]
cmp ecx, ebp
jbe 0x4d0244
mov dword [esp + 0x44], ebp
mov ecx, dword [eax + ebp*4]
mov dword [esp], esi
mov dword [esp + 4], ecx
call fcn.004d2140
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x108]
mov edx, dword [ecx + eax*4]
test byte [edx], al
mov ebx, dword [0x63be10]
mov ebp, dword [esp + 0x11c]
mov esi, dword [ebp + 0x10]
test ebx, ebx
jne 0x4cff97
mov dword [edx + 0x10], esi
mov dword [ebp + 0x10], edx
jmp 0x4cff25
lea edi, [edx + 0x10]
mov ebx, eax
mov eax, esi
call fcn.0045a680
lea edi, [ebp + 0x10]
mov eax, edx
call fcn.0045a680
mov eax, ebx
jmp 0x4cff25
mov ecx, dword [eax + ebx*4]
mov dword [esp], ecx
call fcn.004ce930
mov eax, dword [esp + 0x84]
lea ecx, [eax + 1]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x108]
mov edx, dword [ebx + edx*4]
mov ebp, dword [esp + 0x74]
cmp ebp, ecx
jb 0x4d0041
mov esi, dword [esp + 0xe8]
mov dword [esp + 0x3c], ebp
mov edi, ebx
mov ebx, dword [0x63be10]
lea ebp, [esi + eax*4]
test ebx, ebx
jne 0x4d0023
mov dword [esi + eax*4], edx
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x124]
cmp eax, edx
mov eax, edi
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x3c]
mov ebp, esi
mov esi, ecx
mov ecx, dword [esp + 0x124]
jmp 0x4cfdf0
mov eax, edi
mov edi, ebp
mov ebx, eax
mov eax, edx
call fcn.0045a680
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x124]
cmp eax, edx
mov edi, ebx
jmp 0x4d0009
mov dword [esp + 0x114], edx
lea edx, [0x529dc0]
mov dword [esp], edx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.004427c0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x108]
jmp 0x4cffe6
mov edx, edi
mov edi, dword [esp + 0xf8]
mov eax, ebp
call fcn.0045a680
mov edi, esi
mov eax, dword [esp + 0x114]
call fcn.0045a680
mov eax, dword [esp + 0x108]
mov edi, edx
jmp 0x4cff18
mov eax, ebp
xor ecx, ecx
xor edx, edx
jmp 0x4d00ce
mov ebp, ecx
mov ecx, esi
cmp edi, ecx
jle 0x4d01dc
mov dword [esp + 0xf4], ebp
lea esi, [ecx + 1]
cmp edi, esi
jle 0x4d01d5
cmp edi, ecx
jbe 0x4d0234
mov ebp, dword [eax + ecx*4]
cmp byte [ebp], 2
jne 0x4d01ce
cmp edi, esi
jbe 0x4d022b
mov ebp, dword [eax + ecx*4 + 4]
cmp byte [ebp], 2
jne 0x4d0118
mov ecx, dword [esp + 0xf4]
jmp 0x4d00ca
cmp edi, ecx
jbe 0x4d0222
mov dword [esp + 0x6c], esi
lea ebp, [edx + 1]
mov esi, dword [eax + ecx*4]
cmp ebx, ebp
jb 0x4d0171
mov ecx, dword [esp + 0xf4]
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebx
mov ebx, dword [0x63be10]
lea ebp, [ecx + edx*4]
test ebx, ebx
jne 0x4d015e
mov dword [ecx + edx*4], esi
mov esi, dword [esp + 0x6c]
mov ebx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
jmp 0x4d00ca
mov edx, edi
mov edi, ebp
mov ebx, eax
mov eax, esi
call fcn.0045a680
mov eax, ebx
mov edi, edx
jmp 0x4d014d
mov dword [esp + 0x68], edx
mov dword [esp + 0x114], esi
lea eax, [0x529dc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.004427c0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea ebp, [eax + 1]
mov eax, dword [esp + 0xe8]
mov edx, dword [esp + 0x68]
mov esi, dword [esp + 0x114]
mov edi, dword [esp + 0x84]
jmp 0x4d0135
cmp edi, ecx
jmp 0x4d011a
cmp edi, ecx
jmp 0x4d011a
mov dword [esp + 0x12c], ebp
mov dword [esp + 0x130], edx
mov dword [esp + 0x134], ebx
add esp, 0x118
ret
mov eax, dword [esp + 0x120]
mov dword [esp + 0x12c], eax
mov dword [esp + 0x130], ecx
mov eax, dword [esp + 0x128]
mov dword [esp + 0x134], eax
add esp, 0x118
ret
mov eax, ecx
mov ecx, edi
call fcn.0045a700
mov eax, esi
mov ecx, edi
call fcn.0045a700
mov eax, ecx
mov ecx, edi
call fcn.0045a700
mov eax, edx
call fcn.0045a700
mov eax, ebp
call fcn.0045a700
mov eax, esi
call fcn.0045a700
mov eax, ebx
call fcn.0045a700
mov eax, ebx
call fcn.0045a700
mov eax, esi
call fcn.0045a700
mov eax, esi
call fcn.0045a700
mov eax, edx
call fcn.0045a700
mov eax, edi
mov ecx, esi
call fcn.0045a760
mov ecx, esi
call fcn.0045a740
mov eax, edi
call fcn.0045a700
mov eax, edi
call fcn.0045a700
xor eax, eax
mov ecx, esi
call fcn.0045a700
mov eax, esi
call fcn.0045a700
mov ecx, edx
call fcn.0045a760
mov ecx, edx
mov edx, edi
call fcn.0045a740
mov eax, edi
mov ecx, esi
call fcn.0045a700
mov eax, edi
call fcn.0045a700
mov ecx, ebx
mov edx, ebp
call fcn.0045a740
mov eax, ebx
mov ecx, esi
call fcn.0045a700
mov eax, esi
call fcn.0045a700
nop
call fcn.00459120
jmp fcn.004ceeb0