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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff80
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4a6e53
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0x38], 0xffffffff
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x4a490c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x4a4902
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 4]
mov ebx, dword [eax + esi*4]
mov eax, ebx
call fcn.00404098
dec esi
cmp esi, 0xffffffff
jne 0x4a48e9
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 bl, 1
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x4c]
mov byte [ebp - 0x39], al
dec al
je 0x4a493d
sub al, 2
je 0x4a49ca
jmp 0x4a49d3
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x4a494d
xor ebx, ebx
jmp 0x4a6e38
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]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
cmp eax, dword [0x49513c]
jne 0x4a4998
mov dl, 7
mov eax, dword [ebp - 4]
call fcn.00499b10
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 1
jmp 0x4a6e38
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 0x4a49da
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x4a49da
xor ebx, ebx
jmp 0x4a6e38
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.004a4870
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x4a6dc3
cmp dword [ebp - 0x48], 0
je 0x4a4a09
mov eax, dword [ebp - 4]
call dword [ebp - 0x48]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a4a26
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
movzx esi, byte [edx + eax]
mov eax, dword [ebp - 4]
inc dword [eax + 0x5c]
cmp esi, 0xe
jg 0x4a4a8f
je 0x4a6658
cmp esi, 0xd
ja case.default.0x4a4aa6
jmp dword [esi*4 + 0x4a4a57]
cmp esi, 0x15
jg 0x4a4ac5
je 0x4a5bbd
add esi, 0xfffffff1
cmp esi, 5
ja case.default.0x4a4aa6
jmp dword [esi*4 + 0x4a4aad]
cmp esi, 0x19
jg 0x4a4aec
je 0x4a55d4
sub esi, 0x16
je 0x4a62fa
dec esi
je 0x4a6577
dec esi
je 0x4a6496
jmp case.default.0x4a4aa6
sub esi, 0x1a
je 0x4a5628
sub esi, 0xe5
je 0x4a6dc3
jmp case.default.0x4a4aa6
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004a3220
test al, al
je 0x4a6dd0
cmp byte [ebp - 9], 0
je 0x4a4bd7
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4a4b3c
and eax, 0x7f
bt dword [0x4a6e64], eax
jae 0x4a4b49
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.00497900
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 - 0x2c], 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 0x4a4b97
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004934f4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
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 0x4a4bc8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b0438
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004a3220
test al, al
je 0x4a6dd0
mov eax, dword [ebp - 0xd]
push eax
mov eax, dword [ebp - 0x16]
push eax
mov ecx, dword [ebp - 0x1a]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.0049bbe8
test al, al
jne 0x4a4cc0
cmp byte [ebp - 0x12], 0
je 0x4a6dd0
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4a4c2b
and eax, 0x7f
bt dword [0x4a6e64], eax
jae 0x4a4c38
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.00497900
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 - 0x2c], 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 0x4a4c86
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004934f4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
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 0x4a6dd0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b0438
jmp 0x4a6dd0
cmp byte [ebp - 0x12], 0
je 0x4a6dc3
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4a4ce1
and eax, 0x7f
bt dword [0x4a6e64], eax
jae 0x4a4cee
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.00497900
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 - 0x2c], 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 0x4a4d3c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004934f4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
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 0x4a6dc3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b0438
jmp 0x4a6dc3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a4d93
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
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 - 8], eax
mov eax, dword [ebp - 4]
inc dword [eax + 0x5c]
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004a3220
test al, al
je 0x4a6dd0
cmp byte [ebp - 9], 0
je 0x4a4e7d
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4a4de2
and eax, 0x7f
bt dword [0x4a6e64], eax
jae 0x4a4def
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.00497900
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 - 0x2c], 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 0x4a4e3d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004934f4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
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 0x4a4e6e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b0438
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004a3220
test al, al
je 0x4a6dd0
mov eax, dword [ebp - 0xd]
push eax
mov eax, dword [ebp - 0x16]
push eax
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0x1a]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.0049f118
test al, al
jne 0x4a4f6a
cmp byte [ebp - 0x12], 0
je 0x4a6dd0
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4a4ed5
and eax, 0x7f
bt dword [0x4a6e64], eax
jae 0x4a4ee2
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.00497900
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 - 0x2c], 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 0x4a4f30
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004934f4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
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 0x4a6dd0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b0438
jmp 0x4a6dd0
cmp byte [ebp - 0x12], 0
je 0x4a6dc3
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4a4f8b
and eax, 0x7f
bt dword [0x4a6e64], eax
jae 0x4a4f98
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.00497900
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 - 0x2c], 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 0x4a4fe6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004934f4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
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 0x4a6dc3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b0438
jmp 0x4a6dc3
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004a3220
test al, al
je 0x4a6dd0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0x16]
call fcn.004b07a4
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x11], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [ebp - 0xd], eax
mov byte [ebp - 9], 0
mov eax, dword [ebp - 0xd]
push eax
mov eax, dword [ebp - 0x16]
push eax
mov ecx, dword [ebp - 0x1a]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.0049bbe8
test al, al
jne 0x4a512f
cmp byte [ebp - 0x12], 0
je 0x4a6dd0
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4a509a
and eax, 0x7f
bt dword [0x4a6e64], eax
jae 0x4a50a7
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.00497900
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 - 0x2c], 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 0x4a50f5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004934f4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
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 0x4a6dd0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b0438
jmp 0x4a6dd0
cmp byte [ebp - 0x12], 0
je 0x4a6dc3
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4a5150
and eax, 0x7f
bt dword [0x4a6e64], eax
jae 0x4a515d
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.00497900
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 - 0x2c], 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 0x4a51ab
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004934f4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
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 0x4a6dc3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b0438
jmp 0x4a6dc3
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004a3220
test al, al
je 0x4a6dd0
cmp byte [ebp - 0x12], 0
je 0x4a521a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b06fc
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
mov dl, 0xd
mov eax, dword [ebp - 4]
call fcn.004a445c
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004b07a4
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x4a5263
mov eax, dword [ebp - 0x1a]
mov eax, dword [eax]
mov edx, dword [ebp - 0x28]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x1a]
add eax, 4
mov eax, dword [eax]
mov edx, dword [ebp - 0x28]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x28]
xor edx, edx
mov dword [eax + 0xc], edx
jmp 0x4a6dc3
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x1a]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x16]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0x28]
xor edx, edx
mov dword [eax + 0xc], edx
jmp 0x4a6dc3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
cmp dword [eax + 0xc], 0
jne 0x4a529d
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
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 - 0x28], eax
cmp dword [ebp - 0x28], 0
je 0x4a52c7
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
cmp byte [eax + 0xc], 0
jne 0x4a52d6
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004b06fc
jmp 0x4a6dc3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a5306
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
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 - 0x2c], 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 - 0x2c]
ja 0x4a533e
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0x2c]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
cmp eax, dword [0x49513c]
jne 0x4a5543
xor eax, eax
push ebp
push 0x4a53bf
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 - 0x34]
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 4]
call dword [ebx + 0x14]
test al, al
jne 0x4a53b2
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x4a53a5
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.00499b10
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a6dd0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a6dc3
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004b07a4
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x11], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [ebp - 0xd], eax
mov byte [ebp - 9], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov edx, dword [ebp - 0x28]
mov dword [edx + 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 0x28]
mov dword [edx + 8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov edx, dword [ebp - 0x28]
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 - 0x34]
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 0x4a6dc3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004b06fc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a55ff
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
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 - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x4a6dc3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004b06fc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004b06fc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a565e
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
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 - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x4a6dc3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a56a7
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
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 - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x4a6dc3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a56f0
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
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 - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov byte [ebp - 0x41], 1
lea edx, [ebp - 0x1a]
movzx ecx, byte [ebp - 0x41]
mov eax, dword [ebp - 4]
call fcn.004a3220
test al, al
je 0x4a6dd0
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x4a5732.0
jmp dword [eax*4 + 0x4a5739]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x4a57c3
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x4a57c3
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x4a57c3
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x4a57c3
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x4a57c3
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x4a57c3
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00499b10
cmp byte [ebp - 0x12], 0
je 0x4a6dd0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b06fc
jmp 0x4a6dd0
cmp byte [ebp - 0x12], 0
je 0x4a57d4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b06fc
cmp byte [ebp - 0x41], 0
je 0x4a6dc3
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x4a6dc3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a580c
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
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 - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov byte [ebp - 0x41], 1
lea edx, [ebp - 0x1a]
movzx ecx, byte [ebp - 0x41]
mov eax, dword [ebp - 4]
call fcn.004a3220
test al, al
je 0x4a6dd0
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x4a584e.0
jmp dword [eax*4 + 0x4a5855]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x4a58df
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x4a58df
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x4a58df
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x4a58df
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x4a58df
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x4a58df
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00499b10
cmp byte [ebp - 0x12], 0
je 0x4a6dd0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b06fc
jmp 0x4a6dd0
cmp byte [ebp - 0x12], 0
je 0x4a58f0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b06fc
cmp byte [ebp - 0x41], 0
je 0x4a6dc3
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x4a6dc3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
dec eax
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
jbe 0x4a5a14
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 ebx, dword [edx + eax*4 - 4]
jmp 0x4a59f0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebx + 0xc]
jbe 0x4a5975
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
dec eax
mov edx, dword [ebx + 0xc]
sub edx, eax
ja 0x4a5975
dec edx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004b06fc
inc dword [ebp - 0x4c]
jne 0x4a5965
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x4a599d
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
mov dword [ebp - 0x30], 1
jmp 0x4a5a14
cmp dword [ebx + 0x18], 0xffffffff
je 0x4a59bc
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
mov dword [ebp - 0x30], 1
jmp 0x4a5a14
mov eax, ebx
call fcn.00404098
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.004935a0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x4a5a14
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 ebx, dword [edx + eax*4 - 4]
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
je 0x4a5942
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
jbe 0x4a5a14
cmp dword [ebx + 8], 0xffffffff
jne 0x4a5942
cmp dword [ebp - 0x30], 0
jne 0x4a6dc3
mov dword [ebp - 0x38], 0xffffffff
mov eax, dword [ebp - 4]
cmp dword [eax + 0x60], 0xffffffff
jne 0x4a5a3d
mov eax, dword [ebp - 4]
movzx edx, byte [ebp - 0x39]
mov byte [eax + 0x4c], dl
jmp 0x4a6dd0
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 0x4a5a66
dec edx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004b06fc
inc dword [ebp - 0x4c]
jne 0x4a5a56
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 0x4a5a86
mov eax, dword [ebp - 4]
movzx edx, byte [ebp - 0x39]
mov byte [eax + 0x4c], dl
jmp 0x4a6dd0
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 - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 4]
mov dword [edx + 0x50], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov eax, dword [ebp - 0x28]
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.004b06fc
mov eax, dword [ebp - 4]
cmp dword [eax + 0x50], 0
jne 0x4a5ae2
mov eax, dword [ebp - 4]
movzx edx, byte [ebp - 0x39]
mov byte [eax + 0x4c], dl
jmp 0x4a6dd0
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 0x4a6dc3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a5b25
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
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 - 0x2c], 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 - 0x2c]
jae 0x4a5b5d
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0x2c]
mov edx, dword [eax + edx*4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004b07a4
jmp 0x4a6dc3
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004a3220
test al, al
je 0x4a6dd0
cmp byte [ebp - 9], 0
je 0x4a5ba2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b06fc
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.004a3e58
test al, al
je 0x4a6dd0
jmp 0x4a6dc3
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004a3220
test al, al
je 0x4a6dd0
cmp byte [ebp - 9], 0
je 0x4a5be3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b06fc
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.004a4760
test al, al
je 0x4a6dd0
jmp 0x4a6dc3
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004a3220
test al, al
je 0x4a6dd0
cmp byte [ebp - 9], 0
je 0x4a5c24
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b06fc
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.004a3cf8
test al, al
je 0x4a6dd0
jmp 0x4a6dc3
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004a3220
test al, al
je 0x4a6dd0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a5c86
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00499b10
cmp byte [ebp - 9], 0
je 0x4a6dd0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b06fc
jmp 0x4a6dd0
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 - 0x2c], eax
mov eax, dword [ebp - 4]
inc dword [eax + 0x5c]
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x4a5caf.0
jmp dword [eax*4 + 0x4a5cb6]
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x4a5d5e
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x4a5d5e
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x4a5d5e
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x4a5d5e
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x4a5d5e
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x4a5d5e
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00499b10
cmp byte [ebp - 9], 0
je 0x4a6dd0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b06fc
jmp 0x4a6dd0
cmp dword [ebp - 0x2c], 0
je 0x4a5d73
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x10]
xor al, 1
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
cmp byte [ebp - 9], 0
je 0x4a6dc3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b06fc
jmp 0x4a6dc3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a5dad
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
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 - 0x2c], eax
mov eax, dword [ebp - 4]
add dword [eax + 0x5c], 4
mov eax, dword [ebp - 4]
cmp byte [eax + 0x10], 0
je 0x4a6dc3
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x4a6dc3
mov dl, 1
mov eax, dword [0x495a9c]
call fcn.00404068
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov dword [ebx + 8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
mov dword [ebx + 0xc], eax
lea edx, [ebx + 0x10]
mov eax, dword [ebp - 4]
call fcn.004a4004
test al, al
jne 0x4a5e34
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00499b10
mov eax, ebx
call fcn.00404098
jmp 0x4a6dd0
lea edx, [ebx + 0x14]
mov eax, dword [ebp - 4]
call fcn.004a4004
test al, al
jne 0x4a5e59
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00499b10
mov eax, ebx
call fcn.00404098
jmp 0x4a6dd0
lea edx, [ebx + 0x18]
mov eax, dword [ebp - 4]
call fcn.004a4004
test al, al
jne 0x4a5e7e
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00499b10
mov eax, ebx
call fcn.00404098
jmp 0x4a6dd0
lea edx, [ebx + 0x1c]
mov eax, dword [ebp - 4]
call fcn.004a4004
test al, al
jne 0x4a5ea3
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00499b10
mov eax, ebx
call fcn.00404098
jmp 0x4a6dd0
cmp dword [ebx + 0x10], 0xffffffff
je 0x4a5eb2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x10], eax
cmp dword [ebx + 0x14], 0xffffffff
je 0x4a5ec1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x14], eax
cmp dword [ebx + 0x18], 0xffffffff
je 0x4a5ed0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x18], eax
cmp dword [ebx + 0x1c], 0xffffffff
je 0x4a5edf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x1c], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x4a5ef0
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x4a5f23
cmp dword [ebx + 0x14], 0xffffffff
je 0x4a5f01
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x4a5f23
cmp dword [ebx + 0x18], 0xffffffff
je 0x4a5f12
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x4a5f23
cmp dword [ebx + 0x1c], 0xffffffff
je 0x4a5f39
mov eax, dword [ebx + 0x1c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a5f39
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00499b10
mov eax, ebx
call fcn.00404098
jmp 0x4a6dd0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov edx, ebx
call fcn.00493558
jmp 0x4a6dc3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a5f68
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
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 - 0x2c], eax
mov eax, dword [ebp - 4]
inc dword [eax + 0x5c]
mov eax, dword [ebp - 0x2c]
sub eax, 1
jb 0x4a6042
je 0x4a6124
dec eax
je 0x4a5fa2
dec eax
je 0x4a624e
jmp 0x4a6dc3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
jne 0x4a5fbd
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
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 ebx, dword [edx + eax*4 - 4]
test ebx, ebx
jne 0x4a5fe6
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
mov dword [ebx + 0x14], 0xffffffff
cmp dword [ebx + 0x18], 0xffffffff
je 0x4a6008
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x4a6dc3
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.00404098
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.004935a0
cmp dword [ebp - 0x38], 0xffffffff
je 0x4a6034
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x4a6dc3
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x4a6dc3
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 ebx, dword [edx + eax*4 - 4]
test ebx, ebx
jne 0x4a606b
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
cmp dword [ebx + 0x10], 0xffffffff
je 0x4a6086
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
jmp 0x4a6dc3
cmp dword [ebx + 0x18], 0xffffffff
je 0x4a60a1
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x4a6dc3
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.00404098
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.004935a0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x4a6102
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x70]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x70], edx
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x7c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x80]
push eax
mov eax, dword [ebp - 0x40]
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 0x4a6dc3
cmp dword [ebp - 0x38], 0xffffffff
je 0x4a6116
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x4a6dc3
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x4a6dc3
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 ebx, dword [edx + eax*4 - 4]
test ebx, ebx
jne 0x4a614d
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x4a61aa
cmp dword [ebx + 0x14], 0xffffffff
je 0x4a61aa
cmp dword [ebx + 0x14], 0xfffffffe
je 0x4a61aa
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xfffffffe
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x7c]
mov byte [ebx + 0x20], al
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x70]
mov dword [ebx + 0x24], eax
lea eax, [ebx + 0x28]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x80]
call fcn.004052d0
mov eax, dword [ebp - 4]
mov byte [eax + 0x7c], 0
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x70], edx
jmp 0x4a6dc3
cmp dword [ebx + 0x18], 0xffffffff
je 0x4a61c5
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x4a6dc3
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.00404098
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.004935a0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x4a622c
cmp dword [ebp - 0x2c], 0xffffffff
je 0x4a622c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x70]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x70], edx
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x7c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x80]
push eax
mov eax, dword [ebp - 0x40]
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 0x4a6dc3
cmp dword [ebp - 0x38], 0xffffffff
je 0x4a6240
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x4a6dc3
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x4a6dc3
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 ebx, dword [edx + eax*4 - 4]
test ebx, ebx
jne 0x4a6277
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.00404098
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.004935a0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x4a62d8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x70]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x70], edx
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x7c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x80]
push eax
mov eax, dword [ebp - 0x40]
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 0x4a6dc3
cmp dword [ebp - 0x38], 0xffffffff
je 0x4a62ec
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x4a6dc3
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x4a6dc3
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004a3220
test al, al
je 0x4a6dd0
cmp byte [ebp - 9], 0
je 0x4a632f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b06fc
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x4a6347
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004a3220
test al, al
je 0x4a6dd0
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x4a6379
mov eax, dword [ebp - 0x11]
add eax, 4
mov edx, dword [eax]
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
call fcn.00497bb0
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x4a641e
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
je 0x4a6401
mov eax, dword [ebp - 0x1a]
add eax, 4
mov eax, dword [eax]
call fcn.00497b94
mov edx, dword [ebp - 0x11]
mov dword [edx], eax
mov eax, dword [ebp - 0x1a]
add eax, 4
mov eax, dword [eax]
mov edx, dword [ebp - 0x11]
add edx, 4
mov dword [edx], eax
mov eax, dword [ebp - 0x11]
add eax, 8
mov dword [eax], 1
mov eax, dword [ebp - 0x11]
add eax, 4
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x1a]
mov edx, dword [eax]
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
mov ecx, 1
call fcn.0049b474
test al, al
jne 0x4a647c
cmp byte [ebp - 0x12], 0
je 0x4a63f2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b06fc
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
mov eax, dword [ebp - 0x11]
xor edx, edx
mov dword [eax], edx
mov eax, dword [ebp - 0x11]
add eax, 4
xor edx, edx
mov dword [eax], edx
mov eax, dword [ebp - 0x11]
add eax, 8
xor edx, edx
mov dword [eax], edx
jmp 0x4a647c
mov eax, dword [ebp - 0x16]
call fcn.00497b94
mov edx, dword [ebp - 0x11]
mov dword [edx], eax
mov eax, dword [ebp - 0x11]
add eax, 4
mov edx, dword [ebp - 0x16]
mov dword [eax], edx
mov eax, dword [ebp - 0x11]
add eax, 8
mov dword [eax], 0xffffffff
mov eax, dword [ebp - 0x16]
push eax
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
mov ecx, 1
mov edx, dword [ebp - 0x1a]
call fcn.0049b474
test al, al
jne 0x4a647c
cmp byte [ebp - 0x12], 0
je 0x4a646d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b06fc
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
cmp byte [ebp - 0x12], 0
je 0x4a6dc3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b06fc
jmp 0x4a6dc3
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004a3220
test al, al
je 0x4a6dd0
cmp byte [ebp - 9], 0
je 0x4a64cb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b06fc
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x4a64e2.0
movzx eax, byte [eax + 0x4a64e9]
jmp dword [eax*4 + 0x4a64fb]
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x4a6dc3
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x4a6dc3
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x4a6dc3
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x4a6dc3
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x4a6dc3
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x4a6dc3
mov eax, dword [ebp - 0x11]
sub dword [eax], 1
sbb dword [eax + 4], 0
jmp 0x4a6dc3
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004a3220
test al, al
je 0x4a6dd0
cmp byte [ebp - 9], 0
je 0x4a65ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b06fc
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x4a65c3.0
movzx eax, byte [eax + 0x4a65ca]
jmp dword [eax*4 + 0x4a65dc]
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x4a6dc3
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x4a6dc3
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x4a6dc3
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x4a6dc3
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x4a6dc3
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x4a6dc3
mov eax, dword [ebp - 0x11]
add dword [eax], 1
adc dword [eax + 4], 0
jmp 0x4a6dc3
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004a3220
test al, al
je 0x4a6dd0
cmp byte [ebp - 9], 0
je 0x4a668d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b06fc
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x4a66a5
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004a3220
test al, al
je 0x4a6dd0
cmp byte [ebp - 0x12], 0
je 0x4a66da
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b06fc
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x4a6702
mov eax, dword [ebp - 0x1a]
mov eax, dword [eax]
mov edx, dword [ebp - 0x11]
mov dword [edx], eax
mov eax, dword [ebp - 0x1a]
add eax, 4
mov eax, dword [eax]
mov edx, dword [ebp - 0x11]
add edx, 4
mov dword [edx], eax
jmp 0x4a6dc3
mov eax, dword [ebp - 0x11]
mov edx, dword [ebp - 0x1a]
mov dword [eax], edx
mov eax, dword [ebp - 0x11]
add eax, 4
mov edx, dword [ebp - 0x16]
mov dword [eax], edx
jmp 0x4a6dc3
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004a3220
test al, al
je 0x4a6dd0
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0x15
je 0x4a6758
cmp byte [ebp - 9], 0
je 0x4a6749
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b06fc
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
cmp byte [ebp - 9], 0
je 0x4a6771
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b06fc
cmp dword [ebp - 0x2c], 0
jne 0x4a67ab
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x4a67ab
mov eax, dword [ebp - 0x11]
add eax, 8
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x11]
add eax, 4
mov ecx, dword [eax]
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 4]
call fcn.004aedc0
test al, al
je 0x4a6dd0
jmp 0x4a6dc3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x2c]
jbe 0x4a67c4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
cmp eax, dword [ebp - 0x2c]
jne 0x4a67d3
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0x2c]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
cmp eax, dword [0x49513c]
jne 0x4a69d8
xor eax, eax
push ebp
push 0x4a6854
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 - 0x34]
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 4]
call dword [ebx + 0x14]
test al, al
jne 0x4a6847
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x4a683a
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.00499b10
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a6dd0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a6dc3
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004b07a4
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov edx, dword [ebp - 0x28]
mov dword [edx + 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 0x28]
mov dword [edx + 8], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov edx, dword [ebp - 0x28]
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 - 0x34]
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 0x4a6dc3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a6a71
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
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 - 8], eax
mov eax, dword [ebp - 4]
inc dword [eax + 0x5c]
lea edx, [ebp - 0x23]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004a3220
test al, al
je 0x4a6dd0
cmp byte [ebp - 0x1b], 0
je 0x4a6b5b
mov eax, dword [ebp - 0x1f]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4a6ac0
and eax, 0x7f
bt dword [0x4a6e64], eax
jae 0x4a6acd
mov edx, dword [ebp - 0x1f]
mov eax, dword [ebp - 0x23]
call fcn.00497900
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 - 0x2c], 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 0x4a6b1b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004934f4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
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 0x4a6b4c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b0438
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.00499b10
jmp 0x4a6dd0
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004a3220
test al, al
je 0x4a6dd0
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004a3220
test al, al
jne 0x4a6c3b
cmp byte [ebp - 0x12], 0
je 0x4a6dd0
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4a6ba6
and eax, 0x7f
bt dword [0x4a6e64], eax
jae 0x4a6bb3
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.00497900
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 - 0x2c], 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 0x4a6c01
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004934f4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
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 0x4a6dd0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b0438
jmp 0x4a6dd0
mov eax, dword [ebp - 0x23]
push eax
mov eax, dword [ebp - 0x16]
push eax
mov eax, dword [ebp - 0xd]
push eax
mov eax, dword [ebp - 0x1f]
push eax
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0x11]
mov edx, dword [ebp - 0x1a]
mov eax, dword [ebp - 4]
call fcn.0049cbc4
cmp byte [ebp - 9], 0
je 0x4a6d0a
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4a6c7e
and eax, 0x7f
bt dword [0x4a6e64], eax
jae 0x4a6c8b
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.00497900
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 - 0x2c], 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 0x4a6cd9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004934f4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
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 0x4a6d0a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b0438
cmp byte [ebp - 0x12], 0
je 0x4a6dc3
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4a6d2b
and eax, 0x7f
bt dword [0x4a6e64], eax
jae 0x4a6d38
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.00497900
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 - 0x2c], 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 0x4a6d86
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004934f4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x2c]
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 0x4a6dc3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b0438
jmp 0x4a6dc3
mov dl, 5
mov eax, dword [ebp - 4]
call fcn.00499b10
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x4a49fd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x4a6de9
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x4a49f1
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x4a6e2e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x4a6e12
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004b06fc
dec esi
cmp esi, 0xffffffff
jne 0x4a6e01
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004b0464
mov eax, dword [ebp - 4]
cmp byte [eax + 0x11], 0
je 0x4a6e2e
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
sete bl
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4a6e5a
lea eax, [ebp - 0x80]
mov edx, 0xa
call fcn.004052a0
ret