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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffa4
push ebx
push esi
push edi
mov dword [ebp - 4], eax
mov dword [ebp - 0x48], 0xffffffff
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x4c67c4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
dec eax
cmp eax, 0
jl 0x4c67ba
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0x40]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0x44], eax
mov edx, 0x1c
mov eax, dword [ebp - 0x44]
call fcn.00402d4c
dec dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0xffffffff
jne 0x4c6792
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov edx, dword [eax]
call dword [edx]
push 0
push 0
push 0
or ecx, 0xffffffff
or edx, 0xffffffff
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov byte [ebp - 5], 1
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x4c]
mov byte [ebp - 0x49], al
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x4c]
dec al
je 0x4c67fc
sub al, 2
je 0x4c6888
jmp 0x4c6891
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x4c680e
mov byte [ebp - 5], 0
jmp 0x4c8cae
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4]
mov edx, dword [ebp - 4]
mov dword [edx + 0x50], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
call fcn.004040cc
cmp eax, dword [0x4b6e00]
jne 0x4c6856
mov dl, 7
mov eax, dword [ebp - 4]
call fcn.004bab14
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 1
jmp 0x4c8cae
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x54], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x58], eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x60], 0xffffffff
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x5c], edx
jmp 0x4c689a
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x4c689a
mov byte [ebp - 5], 0
jmp 0x4c8cae
mov eax, dword [ebp - 4]
push eax
mov eax, dword [eax]
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x64]
call fcn.004c6734
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x4c8c32
cmp dword [ebp - 0x58], 0
je 0x4c68c9
mov eax, dword [ebp - 4]
call dword [ebp - 0x58]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4c68e6
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
movzx eax, byte [edx + eax]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 4]
inc dword [eax + 0x5c]
mov eax, dword [ebp - 0x3c]
cmp eax, 0xe
jg 0x4c6955
je 0x4c866e
cmp eax, 0xd
ja case.default.0x4c696c
jmp dword [eax*4 + 0x4c691d]
cmp eax, 0x15
jg 0x4c698b
je 0x4c7b31
add eax, 0xfffffff1
cmp eax, 5
ja case.default.0x4c696c
jmp dword [eax*4 + 0x4c6973]
cmp eax, 0x19
jg 0x4c69b2
je 0x4c74ef
sub eax, 0x16
je 0x4c8312
dec eax
je 0x4c858e
dec eax
je 0x4c84ae
jmp case.default.0x4c696c
sub eax, 0x1a
je 0x4c7543
sub eax, 0xe5
je 0x4c8c32
jmp case.default.0x4c696c
lea edx, [ebp - 0x15]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004c4b80
test al, al
je 0x4c8c3f
cmp byte [ebp - 0xd], 0
je 0x4c6a9f
mov eax, dword [ebp - 0x11]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x4c6a06
sub al, 2
je 0x4c6a06
sub al, 3
je 0x4c6a06
sub al, 3
je 0x4c6a06
sub al, 4
jne 0x4c6a11
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 0x15]
call fcn.004b8298
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x4c6a5f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b65b8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x30]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x4c6a90
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004d1e0c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
lea edx, [ebp - 0x1e]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004c4b80
test al, al
je 0x4c8c3f
mov eax, dword [ebp - 0x11]
push eax
mov eax, dword [ebp - 0x1a]
push eax
mov ecx, dword [ebp - 0x1e]
mov edx, dword [ebp - 0x15]
mov eax, dword [ebp - 4]
call fcn.004bc94c
test al, al
jne 0x4c6b8b
cmp byte [ebp - 0x16], 0
je 0x4c8c3f
mov eax, dword [ebp - 0x1a]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x4c6af8
sub al, 2
je 0x4c6af8
sub al, 3
je 0x4c6af8
sub al, 3
je 0x4c6af8
sub al, 4
jne 0x4c6b03
mov edx, dword [ebp - 0x1a]
mov eax, dword [ebp - 0x1e]
call fcn.004b8298
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x4c6b51
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b65b8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x30]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x4c8c3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004d1e0c
jmp 0x4c8c3f
cmp byte [ebp - 0x16], 0
je 0x4c8c32
mov eax, dword [ebp - 0x1a]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x4c6bb1
sub al, 2
je 0x4c6bb1
sub al, 3
je 0x4c6bb1
sub al, 3
je 0x4c6bb1
sub al, 4
jne 0x4c6bbc
mov edx, dword [ebp - 0x1a]
mov eax, dword [ebp - 0x1e]
call fcn.004b8298
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x4c6c0a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b65b8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x30]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x4c8c32
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004d1e0c
jmp 0x4c8c32
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4c6c61
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
movzx eax, byte [edx + eax]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
inc dword [eax + 0x5c]
lea edx, [ebp - 0x15]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004c4b80
test al, al
je 0x4c8c3f
cmp byte [ebp - 0xd], 0
je 0x4c6d4e
mov eax, dword [ebp - 0x11]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x4c6cb5
sub al, 2
je 0x4c6cb5
sub al, 3
je 0x4c6cb5
sub al, 3
je 0x4c6cb5
sub al, 4
jne 0x4c6cc0
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 0x15]
call fcn.004b8298
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x4c6d0e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b65b8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x30]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x4c6d3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004d1e0c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
lea edx, [ebp - 0x1e]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004c4b80
test al, al
je 0x4c8c3f
mov eax, dword [ebp - 0x11]
push eax
mov eax, dword [ebp - 0x1a]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 0x1e]
mov edx, dword [ebp - 0x15]
mov eax, dword [ebp - 4]
call fcn.004bfef4
test al, al
jne 0x4c6e3e
cmp byte [ebp - 0x16], 0
je 0x4c8c3f
mov eax, dword [ebp - 0x1a]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x4c6dab
sub al, 2
je 0x4c6dab
sub al, 3
je 0x4c6dab
sub al, 3
je 0x4c6dab
sub al, 4
jne 0x4c6db6
mov edx, dword [ebp - 0x1a]
mov eax, dword [ebp - 0x1e]
call fcn.004b8298
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x4c6e04
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b65b8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x30]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x4c8c3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004d1e0c
jmp 0x4c8c3f
cmp byte [ebp - 0x16], 0
je 0x4c8c32
mov eax, dword [ebp - 0x1a]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x4c6e64
sub al, 2
je 0x4c6e64
sub al, 3
je 0x4c6e64
sub al, 3
je 0x4c6e64
sub al, 4
jne 0x4c6e6f
mov edx, dword [ebp - 0x1a]
mov eax, dword [ebp - 0x1e]
call fcn.004b8298
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x4c6ebd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b65b8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x30]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x4c8c32
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004d1e0c
jmp 0x4c8c32
lea edx, [ebp - 0x1e]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004c4b80
test al, al
je 0x4c8c3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0x1a]
call fcn.004d21b4
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
add eax, 4
mov dword [ebp - 0x15], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov dword [ebp - 0x11], eax
mov byte [ebp - 0xd], 0
mov eax, dword [ebp - 0x11]
push eax
mov eax, dword [ebp - 0x1a]
push eax
mov ecx, dword [ebp - 0x1e]
mov edx, dword [ebp - 0x15]
mov eax, dword [ebp - 4]
call fcn.004bc94c
test al, al
jne 0x4c7009
cmp byte [ebp - 0x16], 0
je 0x4c8c3f
mov eax, dword [ebp - 0x1a]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x4c6f76
sub al, 2
je 0x4c6f76
sub al, 3
je 0x4c6f76
sub al, 3
je 0x4c6f76
sub al, 4
jne 0x4c6f81
mov edx, dword [ebp - 0x1a]
mov eax, dword [ebp - 0x1e]
call fcn.004b8298
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x4c6fcf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b65b8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x30]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x4c8c3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004d1e0c
jmp 0x4c8c3f
cmp byte [ebp - 0x16], 0
je 0x4c8c32
mov eax, dword [ebp - 0x1a]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x4c702f
sub al, 2
je 0x4c702f
sub al, 3
je 0x4c702f
sub al, 3
je 0x4c702f
sub al, 4
jne 0x4c703a
mov edx, dword [ebp - 0x1a]
mov eax, dword [ebp - 0x1e]
call fcn.004b8298
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x4c7088
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b65b8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x30]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x4c8c32
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004d1e0c
jmp 0x4c8c32
lea edx, [ebp - 0x1e]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004c4b80
test al, al
je 0x4c8c3f
cmp byte [ebp - 0x16], 0
je 0x4c70f7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004d212c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
mov dl, 0xd
mov eax, dword [ebp - 4]
call fcn.004c6270
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004d21b4
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x1a]
cmp byte [eax + 0xc], 0xd
jne 0x4c7140
mov eax, dword [ebp - 0x1e]
mov eax, dword [eax]
mov edx, dword [ebp - 0x2c]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x1e]
add eax, 4
mov eax, dword [eax]
mov edx, dword [ebp - 0x2c]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov dword [eax + 0xc], edx
jmp 0x4c8c32
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x1e]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x1a]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov dword [eax + 0xc], edx
jmp 0x4c8c32
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
cmp dword [eax + 0xc], 0
jne 0x4c717a
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x44]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
je 0x4c71a4
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
cmp byte [eax + 0xc], 0
jne 0x4c71b3
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
cmp dword [eax + 0x10], 0x200
jbe 0x4c71df
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004b65b8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0x2c]
sub edx, dword [eax + 0x14]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x4c7212
sub al, 2
je 0x4c7212
sub al, 3
je 0x4c7212
sub al, 3
je 0x4c7212
sub al, 4
jne 0x4c7222
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x2c]
add eax, 4
call fcn.004b8298
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x44]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x4c8c32
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004d1e0c
jmp 0x4c8c32
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4c7270
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x30]
ja 0x4c72a8
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0x30]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
call fcn.004040cc
cmp eax, dword [0x4b6e00]
jne 0x4c745e
xor eax, eax
push ebp
push 0x4c7326
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x3c]
mov ebx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 4]
call dword [ebx + 0x14]
test al, al
jne 0x4c7319
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x4c730c
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.004bab14
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c8c3f
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4c8c32
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004d21b4
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
add eax, 4
mov dword [ebp - 0x15], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov dword [ebp - 0x11], eax
mov byte [ebp - 0xd], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov edx, dword [ebp - 0x2c]
mov dword [edx + 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 0x2c]
mov dword [edx + 8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov edx, dword [ebp - 0x2c]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
dec eax
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x50], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x54], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x58], eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x5c], edx
jmp 0x4c8c32
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004d212c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4c751a
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x30]
add dword [eax + 0x5c], edx
jmp 0x4c8c32
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004d212c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004d212c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4c7579
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x30]
add dword [eax + 0x5c], edx
jmp 0x4c8c32
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4c75c2
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x30]
add dword [eax + 0x5c], edx
jmp 0x4c8c32
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4c760b
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov byte [ebp - 0x51], 1
lea edx, [ebp - 0x1e]
mov cl, byte [ebp - 0x51]
mov eax, dword [ebp - 4]
call fcn.004c4b80
test al, al
je 0x4c8c3f
mov eax, dword [ebp - 0x1a]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x4c764c.0
jmp dword [eax*4 + 0x4c7653]
mov eax, dword [ebp - 0x1e]
cmp byte [eax], 0
setne byte [ebp - 0x51]
jmp 0x4c76dd
mov eax, dword [ebp - 0x1e]
cmp byte [eax], 0
setne byte [ebp - 0x51]
jmp 0x4c76dd
mov eax, dword [ebp - 0x1e]
cmp word [eax], 0
setne byte [ebp - 0x51]
jmp 0x4c76dd
mov eax, dword [ebp - 0x1e]
cmp word [eax], 0
setne byte [ebp - 0x51]
jmp 0x4c76dd
mov eax, dword [ebp - 0x1e]
cmp dword [eax], 0
setne byte [ebp - 0x51]
jmp 0x4c76dd
mov eax, dword [ebp - 0x1e]
cmp dword [eax], 0
setne byte [ebp - 0x51]
jmp 0x4c76dd
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.004bab14
cmp byte [ebp - 0x16], 0
je 0x4c8c3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004d212c
jmp 0x4c8c3f
cmp byte [ebp - 0x16], 0
je 0x4c76ee
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004d212c
cmp byte [ebp - 0x51], 0
je 0x4c8c32
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x30]
add dword [eax + 0x5c], edx
jmp 0x4c8c32
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4c7726
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov byte [ebp - 0x51], 1
lea edx, [ebp - 0x1e]
mov cl, byte [ebp - 0x51]
mov eax, dword [ebp - 4]
call fcn.004c4b80
test al, al
je 0x4c8c3f
mov eax, dword [ebp - 0x1a]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x4c7767.0
jmp dword [eax*4 + 0x4c776e]
mov eax, dword [ebp - 0x1e]
cmp byte [eax], 0
sete byte [ebp - 0x51]
jmp 0x4c77f8
mov eax, dword [ebp - 0x1e]
cmp byte [eax], 0
sete byte [ebp - 0x51]
jmp 0x4c77f8
mov eax, dword [ebp - 0x1e]
cmp word [eax], 0
sete byte [ebp - 0x51]
jmp 0x4c77f8
mov eax, dword [ebp - 0x1e]
cmp word [eax], 0
sete byte [ebp - 0x51]
jmp 0x4c77f8
mov eax, dword [ebp - 0x1e]
cmp dword [eax], 0
sete byte [ebp - 0x51]
jmp 0x4c77f8
mov eax, dword [ebp - 0x1e]
cmp dword [eax], 0
sete byte [ebp - 0x51]
jmp 0x4c77f8
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.004bab14
cmp byte [ebp - 0x16], 0
je 0x4c8c3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004d212c
jmp 0x4c8c3f
cmp byte [ebp - 0x16], 0
je 0x4c7809
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004d212c
cmp byte [ebp - 0x51], 0
je 0x4c8c32
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x30]
add dword [eax + 0x5c], edx
jmp 0x4c8c32
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
dec eax
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
jbe 0x4c7985
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov dword [ebp - 0x44], eax
jmp 0x4c7958
mov eax, dword [ebp - 0x44]
cmp dword [eax + 0x10], 0xfffffffe
jne 0x4c787d
push 0
push 0
push 0
or ecx, 0xffffffff
or edx, 0xffffffff
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
jmp 0x4c78bc
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x44]
cmp eax, dword [edx + 0xc]
jae 0x4c78bc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
dec eax
mov edx, dword [ebp - 0x44]
mov edx, dword [edx + 8]
sub edx, eax
ja 0x4c78bc
dec edx
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004d212c
dec dword [ebp - 0x30]
inc dword [ebp - 0x5c]
jne 0x4c78a9
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
mov eax, dword [ebp - 0x44]
cmp dword [eax + 0xc], 0xffffffff
je 0x4c78f3
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov eax, dword [ebp - 0x44]
mov dword [eax + 0xc], 0xffffffff
mov dword [ebp - 0x34], 1
jmp 0x4c7985
mov eax, dword [ebp - 0x44]
cmp dword [eax + 0x14], 0xffffffff
je 0x4c791b
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov eax, dword [ebp - 0x44]
mov dword [eax + 0x14], 0xffffffff
mov dword [ebp - 0x34], 1
jmp 0x4c7985
mov edx, 0x1c
mov eax, dword [ebp - 0x44]
call fcn.00402d4c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.004b66cc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x4c7985
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
je 0x4c785e
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
jbe 0x4c7985
mov eax, dword [ebp - 0x44]
cmp dword [eax + 4], 0xffffffff
jne 0x4c785e
cmp dword [ebp - 0x34], 0
jne 0x4c8c32
mov dword [ebp - 0x48], 0xffffffff
mov eax, dword [ebp - 4]
cmp dword [eax + 0x60], 0xffffffff
jne 0x4c79ad
mov eax, dword [ebp - 4]
mov dl, byte [ebp - 0x49]
mov byte [eax + 0x4c], dl
jmp 0x4c8c3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
dec eax
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x60]
inc edx
sub edx, eax
jg 0x4c79dc
dec edx
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004d212c
dec dword [ebp - 0x34]
inc dword [ebp - 0x5c]
jne 0x4c79c9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x44]
cmp eax, dword [edx + 0xc]
jb 0x4c79fb
mov eax, dword [ebp - 4]
mov dl, byte [ebp - 0x49]
mov byte [eax + 0x4c], dl
jmp 0x4c8c3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x44]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 4]
mov dword [edx + 0x50], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004d212c
mov eax, dword [ebp - 4]
cmp dword [eax + 0x50], 0
jne 0x4c7a56
mov eax, dword [ebp - 4]
mov dl, byte [ebp - 0x49]
mov byte [eax + 0x4c], dl
jmp 0x4c8c3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x54], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x58], eax
jmp 0x4c8c32
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4c7a99
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x30]
jae 0x4c7ad1
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0x30]
mov edx, dword [eax + edx*4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004d21b4
jmp 0x4c8c32
lea edx, [ebp - 0x15]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004c4b80
test al, al
je 0x4c8c3f
cmp byte [ebp - 0xd], 0
je 0x4c7b16
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004d212c
mov ecx, dword [ebp - 0x11]
mov edx, dword [ebp - 0x15]
mov eax, dword [ebp - 4]
call fcn.004c5bc8
test al, al
je 0x4c8c3f
jmp 0x4c8c32
lea edx, [ebp - 0x15]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004c4b80
test al, al
je 0x4c8c3f
cmp byte [ebp - 0xd], 0
je 0x4c7b57
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004d212c
mov ecx, dword [ebp - 0x11]
mov edx, dword [ebp - 0x15]
mov eax, dword [ebp - 4]
call fcn.004c65ec
test al, al
je 0x4c8c3f
jmp 0x4c8c32
lea edx, [ebp - 0x15]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004c4b80
test al, al
je 0x4c8c3f
cmp byte [ebp - 0xd], 0
je 0x4c7b98
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004d212c
mov ecx, dword [ebp - 0x11]
mov edx, dword [ebp - 0x15]
mov eax, dword [ebp - 4]
call fcn.004c5a18
test al, al
je 0x4c8c3f
jmp 0x4c8c32
lea edx, [ebp - 0x15]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004c4b80
test al, al
je 0x4c8c3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4c7bfa
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004bab14
cmp byte [ebp - 0xd], 0
je 0x4c8c3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004d212c
jmp 0x4c8c3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
movzx eax, byte [edx + eax]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 4]
inc dword [eax + 0x5c]
mov eax, dword [ebp - 0x11]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x4c7c23.0
jmp dword [eax*4 + 0x4c7c2a]
mov eax, dword [ebp - 0x15]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x4c7cd2
mov eax, dword [ebp - 0x15]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x4c7cd2
mov eax, dword [ebp - 0x15]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x4c7cd2
mov eax, dword [ebp - 0x15]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x4c7cd2
mov eax, dword [ebp - 0x15]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x4c7cd2
mov eax, dword [ebp - 0x15]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x4c7cd2
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.004bab14
cmp byte [ebp - 0xd], 0
je 0x4c8c3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004d212c
jmp 0x4c8c3f
cmp dword [ebp - 0x30], 0
je 0x4c7ce6
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x10]
xor al, 1
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
cmp byte [ebp - 0xd], 0
je 0x4c8c32
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004d212c
jmp 0x4c8c32
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4c7d20
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
lea eax, [edx + eax]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
cmp byte [eax + 0x10], 0
je 0x4c8c32
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x30]
add dword [eax + 0x5c], edx
jmp 0x4c8c32
mov eax, 0x1c
call fcn.00402d30
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov edx, dword [ebp - 0x44]
mov dword [edx], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov edx, dword [ebp - 0x44]
mov dword [edx + 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0x44]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x44]
lea edx, [eax + 0xc]
mov eax, dword [ebp - 4]
call fcn.004c5dd0
test al, al
jne 0x4c7db7
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004bab14
mov edx, 0x1c
mov eax, dword [ebp - 0x44]
call fcn.00402d4c
jmp 0x4c8c3f
mov eax, dword [ebp - 0x44]
lea edx, [eax + 0x10]
mov eax, dword [ebp - 4]
call fcn.004c5dd0
test al, al
jne 0x4c7de5
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004bab14
mov edx, 0x1c
mov eax, dword [ebp - 0x44]
call fcn.00402d4c
jmp 0x4c8c3f
mov eax, dword [ebp - 0x44]
lea edx, [eax + 0x14]
mov eax, dword [ebp - 4]
call fcn.004c5dd0
test al, al
jne 0x4c7e13
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004bab14
mov edx, 0x1c
mov eax, dword [ebp - 0x44]
call fcn.00402d4c
jmp 0x4c8c3f
mov eax, dword [ebp - 0x44]
lea edx, [eax + 0x18]
mov eax, dword [ebp - 4]
call fcn.004c5dd0
test al, al
jne 0x4c7e41
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004bab14
mov edx, 0x1c
mov eax, dword [ebp - 0x44]
call fcn.00402d4c
jmp 0x4c8c3f
mov eax, dword [ebp - 0x44]
cmp dword [eax + 0xc], 0xffffffff
je 0x4c7e56
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 0x44]
add dword [edx + 0xc], eax
mov eax, dword [ebp - 0x44]
cmp dword [eax + 0x10], 0xffffffff
je 0x4c7e6b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 0x44]
add dword [edx + 0x10], eax
mov eax, dword [ebp - 0x44]
cmp dword [eax + 0x14], 0xffffffff
je 0x4c7e80
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 0x44]
add dword [edx + 0x14], eax
mov eax, dword [ebp - 0x44]
cmp dword [eax + 0x18], 0xffffffff
je 0x4c7e95
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 0x44]
add dword [edx + 0x18], eax
mov eax, dword [ebp - 0x44]
cmp dword [eax + 0xc], 0xffffffff
je 0x4c7eac
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x4c7ef1
mov eax, dword [ebp - 0x44]
cmp dword [eax + 0x10], 0xffffffff
je 0x4c7ec3
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x4c7ef1
mov eax, dword [ebp - 0x44]
cmp dword [eax + 0x14], 0xffffffff
je 0x4c7eda
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x4c7ef1
mov eax, dword [ebp - 0x44]
cmp dword [eax + 0x18], 0xffffffff
je 0x4c7f0d
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4c7f0d
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004bab14
mov edx, 0x1c
mov eax, dword [ebp - 0x44]
call fcn.00402d4c
jmp 0x4c8c3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov edx, dword [ebp - 0x44]
call fcn.004b6654
jmp 0x4c8c32
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4c7f3d
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
movzx eax, byte [edx + eax]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 4]
inc dword [eax + 0x5c]
mov eax, dword [ebp - 0x30]
sub eax, 1
jb 0x4c8045
je 0x4c8146
dec eax
je 0x4c7f77
dec eax
je 0x4c8259
jmp 0x4c8c32
push 0
push 0
push 0
or ecx, 0xffffffff
or edx, 0xffffffff
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
jne 0x4c7fa6
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jne 0x4c7fd4
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
mov eax, dword [ebp - 0x44]
mov dword [eax + 0x10], 0xffffffff
mov eax, dword [ebp - 0x44]
cmp dword [eax + 0x14], 0xffffffff
je 0x4c8002
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov eax, dword [ebp - 0x44]
mov dword [eax + 0x14], 0xffffffff
jmp 0x4c8c32
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x30], eax
mov edx, 0x1c
mov eax, dword [ebp - 0x44]
call fcn.00402d4c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.004b66cc
cmp dword [ebp - 0x48], 0xffffffff
je 0x4c8037
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x5c], edx
jmp 0x4c8c32
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x30]
mov dword [eax + 0x5c], edx
jmp 0x4c8c32
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jne 0x4c8073
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
mov eax, dword [ebp - 0x44]
cmp dword [eax + 0xc], 0xffffffff
je 0x4c8097
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov eax, dword [ebp - 0x44]
mov dword [eax + 0xc], 0xffffffff
jmp 0x4c8c32
mov eax, dword [ebp - 0x44]
cmp dword [eax + 0x14], 0xffffffff
je 0x4c80bb
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov eax, dword [ebp - 0x44]
mov dword [eax + 0x10], 0xffffffff
jmp 0x4c8c32
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x30], eax
mov edx, 0x1c
mov eax, dword [ebp - 0x44]
call fcn.00402d4c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.004b66cc
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x4c8124
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x70]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x70], edx
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x7c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x80]
push eax
mov eax, dword [ebp - 0x50]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x78]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x74]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
jmp 0x4c8c32
cmp dword [ebp - 0x48], 0xffffffff
je 0x4c8138
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x5c], edx
jmp 0x4c8c32
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x30]
mov dword [eax + 0x5c], edx
jmp 0x4c8c32
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jne 0x4c8174
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x4c81aa
mov eax, dword [ebp - 0x44]
cmp dword [eax + 0x10], 0xffffffff
je 0x4c81aa
mov eax, dword [ebp - 0x44]
cmp dword [eax + 0x10], 0xfffffffe
je 0x4c81aa
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov eax, dword [ebp - 0x44]
mov dword [eax + 0x10], 0xfffffffe
jmp 0x4c8c32
mov eax, dword [ebp - 0x44]
cmp dword [eax + 0x14], 0xffffffff
je 0x4c81ce
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov eax, dword [ebp - 0x44]
mov dword [eax + 0x14], 0xffffffff
jmp 0x4c8c32
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x30], eax
mov edx, 0x1c
mov eax, dword [ebp - 0x44]
call fcn.00402d4c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.004b66cc
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x4c8237
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x70]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x70], edx
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x7c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x80]
push eax
mov eax, dword [ebp - 0x50]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x78]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x74]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
jmp 0x4c8c32
cmp dword [ebp - 0x48], 0xffffffff
je 0x4c824b
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x5c], edx
jmp 0x4c8c32
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x30]
mov dword [eax + 0x5c], edx
jmp 0x4c8c32
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jne 0x4c8287
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x30], eax
mov edx, 0x1c
mov eax, dword [ebp - 0x44]
call fcn.00402d4c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.004b66cc
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x4c82f0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x70]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x70], edx
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x7c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x80]
push eax
mov eax, dword [ebp - 0x50]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x78]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x74]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
jmp 0x4c8c32
cmp dword [ebp - 0x48], 0xffffffff
je 0x4c8304
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x5c], edx
jmp 0x4c8c32
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x30]
mov dword [eax + 0x5c], edx
jmp 0x4c8c32
lea edx, [ebp - 0x15]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004c4b80
test al, al
je 0x4c8c3f
cmp byte [ebp - 0xd], 0
je 0x4c8347
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004d212c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
mov eax, dword [ebp - 0x11]
cmp byte [eax + 0xc], 0xd
je 0x4c835f
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
lea edx, [ebp - 0x1e]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004c4b80
test al, al
je 0x4c8c3f
mov eax, dword [ebp - 0x15]
add eax, 8
cmp dword [eax], 0
je 0x4c8391
mov eax, dword [ebp - 0x15]
add eax, 4
mov edx, dword [eax]
mov eax, dword [ebp - 0x15]
mov eax, dword [eax]
call fcn.004b854c
mov eax, dword [ebp - 0x1a]
cmp byte [eax + 0xc], 0xd
jne 0x4c8436
mov eax, dword [ebp - 0x1e]
cmp dword [eax], 0
je 0x4c8419
mov eax, dword [ebp - 0x1e]
add eax, 4
mov eax, dword [eax]
call fcn.004b8520
mov edx, dword [ebp - 0x15]
mov dword [edx], eax
mov eax, dword [ebp - 0x1e]
add eax, 4
mov eax, dword [eax]
mov edx, dword [ebp - 0x15]
add edx, 4
mov dword [edx], eax
mov eax, dword [ebp - 0x15]
add eax, 8
mov dword [eax], 1
mov eax, dword [ebp - 0x15]
add eax, 4
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x1e]
mov edx, dword [eax]
mov eax, dword [ebp - 0x15]
mov eax, dword [eax]
mov ecx, 1
call fcn.004bbec4
test al, al
jne 0x4c8494
cmp byte [ebp - 0x16], 0
je 0x4c840a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004d212c
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
mov eax, dword [ebp - 0x15]
xor edx, edx
mov dword [eax], edx
mov eax, dword [ebp - 0x15]
add eax, 4
xor edx, edx
mov dword [eax], edx
mov eax, dword [ebp - 0x15]
add eax, 8
xor edx, edx
mov dword [eax], edx
jmp 0x4c8494
mov eax, dword [ebp - 0x1a]
call fcn.004b8520
mov edx, dword [ebp - 0x15]
mov dword [edx], eax
mov eax, dword [ebp - 0x15]
add eax, 4
mov edx, dword [ebp - 0x1a]
mov dword [eax], edx
mov eax, dword [ebp - 0x15]
add eax, 8
mov dword [eax], 1
mov eax, dword [ebp - 0x1a]
push eax
mov eax, dword [ebp - 0x15]
mov eax, dword [eax]
mov ecx, 1
mov edx, dword [ebp - 0x1e]
call fcn.004bbec4
test al, al
jne 0x4c8494
cmp byte [ebp - 0x16], 0
je 0x4c8485
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004d212c
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
cmp byte [ebp - 0x16], 0
je 0x4c8c32
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004d212c
jmp 0x4c8c32
lea edx, [ebp - 0x15]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004c4b80
test al, al
je 0x4c8c3f
cmp byte [ebp - 0xd], 0
je 0x4c84e3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004d212c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
mov eax, dword [ebp - 0x11]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x4c84f9.0
mov al, byte [eax + 0x4c8500]
jmp dword [eax*4 + 0x4c8512]
mov eax, dword [ebp - 0x15]
dec byte [eax]
jmp 0x4c8c32
mov eax, dword [ebp - 0x15]
dec byte [eax]
jmp 0x4c8c32
mov eax, dword [ebp - 0x15]
dec word [eax]
jmp 0x4c8c32
mov eax, dword [ebp - 0x15]
dec word [eax]
jmp 0x4c8c32
mov eax, dword [ebp - 0x15]
dec dword [eax]
jmp 0x4c8c32
mov eax, dword [ebp - 0x15]
dec dword [eax]
jmp 0x4c8c32
mov eax, dword [ebp - 0x15]
sub dword [eax], 1
sbb dword [eax + 4], 0
jmp 0x4c8c32
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
lea edx, [ebp - 0x15]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004c4b80
test al, al
je 0x4c8c3f
cmp byte [ebp - 0xd], 0
je 0x4c85c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004d212c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
mov eax, dword [ebp - 0x11]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x4c85d9.0
mov al, byte [eax + 0x4c85e0]
jmp dword [eax*4 + 0x4c85f2]
mov eax, dword [ebp - 0x15]
inc byte [eax]
jmp 0x4c8c32
mov eax, dword [ebp - 0x15]
inc byte [eax]
jmp 0x4c8c32
mov eax, dword [ebp - 0x15]
inc word [eax]
jmp 0x4c8c32
mov eax, dword [ebp - 0x15]
inc word [eax]
jmp 0x4c8c32
mov eax, dword [ebp - 0x15]
inc dword [eax]
jmp 0x4c8c32
mov eax, dword [ebp - 0x15]
inc dword [eax]
jmp 0x4c8c32
mov eax, dword [ebp - 0x15]
add dword [eax], 1
adc dword [eax + 4], 0
jmp 0x4c8c32
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
lea edx, [ebp - 0x15]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004c4b80
test al, al
je 0x4c8c3f
cmp byte [ebp - 0xd], 0
je 0x4c86a3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004d212c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
mov eax, dword [ebp - 0x11]
cmp byte [eax + 0xc], 0xd
je 0x4c86bb
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
lea edx, [ebp - 0x1e]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004c4b80
test al, al
je 0x4c8c3f
cmp byte [ebp - 0x16], 0
je 0x4c86f0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004d212c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
mov eax, dword [ebp - 0x1a]
cmp byte [eax + 0xc], 0xd
jne 0x4c8718
mov eax, dword [ebp - 0x1e]
mov eax, dword [eax]
mov edx, dword [ebp - 0x15]
mov dword [edx], eax
mov eax, dword [ebp - 0x1e]
add eax, 4
mov eax, dword [eax]
mov edx, dword [ebp - 0x15]
add edx, 4
mov dword [edx], eax
jmp 0x4c8c32
mov eax, dword [ebp - 0x15]
mov edx, dword [ebp - 0x1e]
mov dword [eax], edx
mov eax, dword [ebp - 0x15]
add eax, 4
mov edx, dword [ebp - 0x1a]
mov dword [eax], edx
jmp 0x4c8c32
lea edx, [ebp - 0x15]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004c4b80
test al, al
je 0x4c8c3f
mov eax, dword [ebp - 0x11]
cmp byte [eax + 0xc], 0x15
je 0x4c876e
cmp byte [ebp - 0xd], 0
je 0x4c875f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004d212c
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
mov eax, dword [ebp - 0x15]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
cmp byte [ebp - 0xd], 0
je 0x4c8787
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004d212c
cmp dword [ebp - 0x30], 0
jne 0x4c87c1
mov eax, dword [ebp - 0x15]
add eax, 8
cmp dword [eax], 0
je 0x4c87c1
mov eax, dword [ebp - 0x15]
add eax, 8
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x15]
add eax, 4
mov ecx, dword [eax]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.004d04d0
test al, al
je 0x4c8c3f
jmp 0x4c8c32
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x30]
jbe 0x4c87da
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
cmp eax, dword [ebp - 0x30]
jne 0x4c87e9
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0x30]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
call fcn.004040cc
cmp eax, dword [0x4b6e00]
jne 0x4c883b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x3c]
mov ebx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 4]
call dword [ebx + 0x14]
test al, al
jne 0x4c8c32
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c32
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004d21b4
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov edx, dword [ebp - 0x2c]
mov dword [edx + 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 0x2c]
mov dword [edx + 8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov edx, dword [ebp - 0x2c]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
dec eax
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x50], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x54], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov dword [edx + 0x58], eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x5c], edx
jmp 0x4c8c32
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4c88d4
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
movzx eax, byte [edx + eax]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
inc dword [eax + 0x5c]
lea edx, [ebp - 0x27]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004c4b80
test al, al
je 0x4c8c3f
cmp byte [ebp - 0x1f], 0
je 0x4c89c1
mov eax, dword [ebp - 0x23]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x4c8928
sub al, 2
je 0x4c8928
sub al, 3
je 0x4c8928
sub al, 3
je 0x4c8928
sub al, 4
jne 0x4c8933
mov edx, dword [ebp - 0x23]
mov eax, dword [ebp - 0x27]
call fcn.004b8298
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x4c8981
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b65b8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x30]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x4c89b2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004d1e0c
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004bab14
jmp 0x4c8c3f
lea edx, [ebp - 0x1e]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004c4b80
test al, al
je 0x4c8c3f
lea edx, [ebp - 0x15]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004c4b80
test al, al
jne 0x4c8aa4
cmp byte [ebp - 0x16], 0
je 0x4c8c3f
mov eax, dword [ebp - 0x1a]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x4c8a11
sub al, 2
je 0x4c8a11
sub al, 3
je 0x4c8a11
sub al, 3
je 0x4c8a11
sub al, 4
jne 0x4c8a1c
mov edx, dword [ebp - 0x1a]
mov eax, dword [ebp - 0x1e]
call fcn.004b8298
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x4c8a6a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b65b8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x30]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x4c8c3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004d1e0c
jmp 0x4c8c3f
mov eax, dword [ebp - 0x27]
push eax
mov eax, dword [ebp - 0x1a]
push eax
mov eax, dword [ebp - 0x11]
push eax
mov eax, dword [ebp - 0x23]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 0x15]
mov edx, dword [ebp - 0x1e]
mov eax, dword [ebp - 4]
call fcn.004bd978
cmp byte [ebp - 0xd], 0
je 0x4c8b76
mov eax, dword [ebp - 0x11]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x4c8aec
sub al, 2
je 0x4c8aec
sub al, 3
je 0x4c8aec
sub al, 3
je 0x4c8aec
sub al, 4
jne 0x4c8af7
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 0x15]
call fcn.004b8298
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x4c8b45
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b65b8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x30]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x4c8b76
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004d1e0c
cmp byte [ebp - 0x16], 0
je 0x4c8c32
mov eax, dword [ebp - 0x1a]
mov al, byte [eax + 0xc]
add al, 0xf6
sub al, 4
jb 0x4c8b9c
sub al, 2
je 0x4c8b9c
sub al, 3
je 0x4c8b9c
sub al, 3
je 0x4c8b9c
sub al, 4
jne 0x4c8ba7
mov edx, dword [ebp - 0x1a]
mov eax, dword [ebp - 0x1e]
call fcn.004b8298
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
mov edx, dword [edx + 4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x14]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
dec dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
inc dword [eax + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 0x10], 0x200
jbe 0x4c8bf5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b65b8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x30]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
sub eax, dword [edx + 0x1c]
shr eax, 0xc
cmp eax, 2
jle 0x4c8c32
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004d1e0c
jmp 0x4c8c32
mov dl, 5
mov eax, dword [ebp - 4]
call fcn.004bab14
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x4c68bd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x4c8c58
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x4c68b1
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x4c8ca3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
dec eax
cmp eax, 0
jl 0x4c8c87
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004d212c
dec dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0xffffffff
jne 0x4c8c73
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004d1e34
mov eax, dword [ebp - 4]
cmp byte [eax + 0x11], 0
je 0x4c8ca3
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
sete byte [ebp - 5]
mov al, byte [ebp - 5]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret