Function at 0x494040
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 0x496603
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 0x4940bc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x4940b2
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 0x1404098
dec esi
cmp esi, 0xffffffff
jne 0x494099
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 0x4940ed
sub al, 2
je 0x49417a
jmp 0x494183
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x4940fd
xor ebx, ebx
jmp 0x4965e8
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 [0x4848ec]
jne 0x494148
mov dl, 7
mov eax, dword [ebp - 4]
call 0x14892c0
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 1
jmp 0x4965e8
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 0x49418a
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x49418a
xor ebx, ebx
jmp 0x4965e8
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 0x1494020
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x496573
cmp dword [ebp - 0x48], 0
je 0x4941b9
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 0x4941d6
mov dl, 0xa
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
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 0x49423f
je 0x495e08
cmp esi, 0xd
ja case.default.0x494256
jmp dword [esi*4 + 0x494207]
cmp esi, 0x15
jg 0x494275
je 0x49536d
add esi, 0xfffffff1
cmp esi, 5
ja case.default.0x494256
jmp dword [esi*4 + 0x49425d]
cmp esi, 0x19
jg 0x49429c
je 0x494d84
sub esi, 0x16
je 0x495aaa
dec esi
je 0x495d27
dec esi
je 0x495c46
jmp case.default.0x494256
sub esi, 0x1a
je 0x494dd8
sub esi, 0xe5
je 0x496573
jmp case.default.0x494256
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call 0x14929d0
test al, al
je 0x496580
cmp byte [ebp - 9], 0
je 0x494387
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4942ec
and eax, 0x7f
bt dword [0x496614], eax
jae 0x4942f9
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call 0x14870b0
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 0x494347
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call 0x1482ca4
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 0x494378
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fbd0
mov dl, 6
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call 0x14929d0
test al, al
je 0x496580
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 0x148b398
test al, al
jne 0x494470
cmp byte [ebp - 0x12], 0
je 0x496580
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4943db
and eax, 0x7f
bt dword [0x496614], eax
jae 0x4943e8
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call 0x14870b0
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 0x494436
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call 0x1482ca4
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 0x496580
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fbd0
jmp 0x496580
cmp byte [ebp - 0x12], 0
je 0x496573
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x494491
and eax, 0x7f
bt dword [0x496614], eax
jae 0x49449e
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call 0x14870b0
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 0x4944ec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call 0x1482ca4
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 0x496573
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fbd0
jmp 0x496573
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x494543
mov dl, 0xa
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
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 0x14929d0
test al, al
je 0x496580
cmp byte [ebp - 9], 0
je 0x49462d
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x494592
and eax, 0x7f
bt dword [0x496614], eax
jae 0x49459f
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call 0x14870b0
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 0x4945ed
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call 0x1482ca4
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 0x49461e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fbd0
mov dl, 6
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call 0x14929d0
test al, al
je 0x496580
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 0x148e8c8
test al, al
jne 0x49471a
cmp byte [ebp - 0x12], 0
je 0x496580
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x494685
and eax, 0x7f
bt dword [0x496614], eax
jae 0x494692
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call 0x14870b0
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 0x4946e0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call 0x1482ca4
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 0x496580
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fbd0
jmp 0x496580
cmp byte [ebp - 0x12], 0
je 0x496573
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x49473b
and eax, 0x7f
bt dword [0x496614], eax
jae 0x494748
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call 0x14870b0
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 0x494796
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call 0x1482ca4
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 0x496573
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fbd0
jmp 0x496573
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call 0x14929d0
test al, al
je 0x496580
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0x16]
call fcn.0049ff3c
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 0x148b398
test al, al
jne 0x4948df
cmp byte [ebp - 0x12], 0
je 0x496580
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x49484a
and eax, 0x7f
bt dword [0x496614], eax
jae 0x494857
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call 0x14870b0
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 0x4948a5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call 0x1482ca4
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 0x496580
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fbd0
jmp 0x496580
cmp byte [ebp - 0x12], 0
je 0x496573
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x494900
and eax, 0x7f
bt dword [0x496614], eax
jae 0x49490d
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call 0x14870b0
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 0x49495b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call 0x1482ca4
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 0x496573
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fbd0
jmp 0x496573
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call 0x14929d0
test al, al
je 0x496580
cmp byte [ebp - 0x12], 0
je 0x4949ca
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fe94
mov dl, 6
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
mov dl, 0xd
mov eax, dword [ebp - 4]
call 0x1493c0c
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0049ff3c
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x494a13
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 0x496573
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 0x496573
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
cmp dword [eax + 0xc], 0
jne 0x494a4d
mov dl, 0xb
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
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 0x494a77
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
cmp byte [eax + 0xc], 0
jne 0x494a86
mov dl, 0xb
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0049fe94
jmp 0x496573
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x494ab6
mov dl, 0xa
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
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 0x494aee
mov dl, 9
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
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 [0x4848ec]
jne 0x494cf3
xor eax, eax
push ebp
push 0x494b6f
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 0x494b62
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x494b55
mov dl, 0x11
mov eax, dword [ebp - 4]
call 0x14892c0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x496580
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x496573
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0049ff3c
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 0x496573
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0049fe94
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x494daf
mov dl, 0xa
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
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 0x496573
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0049fe94
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0049fe94
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x494e0e
mov dl, 0xa
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
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 0x496573
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x494e57
mov dl, 0xa
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
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 0x496573
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x494ea0
mov dl, 0xa
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
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 0x14929d0
test al, al
je 0x496580
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x494ee2.0
jmp dword [eax*4 + 0x494ee9]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x494f73
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x494f73
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x494f73
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x494f73
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x494f73
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x494f73
mov dl, 2
mov eax, dword [ebp - 4]
call 0x14892c0
cmp byte [ebp - 0x12], 0
je 0x496580
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fe94
jmp 0x496580
cmp byte [ebp - 0x12], 0
je 0x494f84
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fe94
cmp byte [ebp - 0x41], 0
je 0x496573
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x496573
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x494fbc
mov dl, 0xa
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
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 0x14929d0
test al, al
je 0x496580
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x494ffe.0
jmp dword [eax*4 + 0x495005]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x49508f
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x49508f
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x49508f
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x49508f
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x49508f
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x49508f
mov dl, 2
mov eax, dword [ebp - 4]
call 0x14892c0
cmp byte [ebp - 0x12], 0
je 0x496580
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fe94
jmp 0x496580
cmp byte [ebp - 0x12], 0
je 0x4950a0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fe94
cmp byte [ebp - 0x41], 0
je 0x496573
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x496573
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 0x4951c4
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 0x4951a0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebx + 0xc]
jbe 0x495125
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 0x495125
dec edx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0049fe94
inc dword [ebp - 0x4c]
jne 0x495115
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x49514d
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 0x4951c4
cmp dword [ebx + 0x18], 0xffffffff
je 0x49516c
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 0x4951c4
mov eax, ebx
call 0x1404098
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call 0x1482d50
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x4951c4
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 0x4950f2
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
jbe 0x4951c4
cmp dword [ebx + 8], 0xffffffff
jne 0x4950f2
cmp dword [ebp - 0x30], 0
jne 0x496573
mov dword [ebp - 0x38], 0xffffffff
mov eax, dword [ebp - 4]
cmp dword [eax + 0x60], 0xffffffff
jne 0x4951ed
mov eax, dword [ebp - 4]
movzx edx, byte [ebp - 0x39]
mov byte [eax + 0x4c], dl
jmp 0x496580
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 0x495216
dec edx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0049fe94
inc dword [ebp - 0x4c]
jne 0x495206
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 0x495236
mov eax, dword [ebp - 4]
movzx edx, byte [ebp - 0x39]
mov byte [eax + 0x4c], dl
jmp 0x496580
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.0049fe94
mov eax, dword [ebp - 4]
cmp dword [eax + 0x50], 0
jne 0x495292
mov eax, dword [ebp - 4]
movzx edx, byte [ebp - 0x39]
mov byte [eax + 0x4c], dl
jmp 0x496580
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 0x496573
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4952d5
mov dl, 0xa
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
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 0x49530d
mov dl, 2
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
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.0049ff3c
jmp 0x496573
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call 0x14929d0
test al, al
je 0x496580
cmp byte [ebp - 9], 0
je 0x495352
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fe94
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call 0x1493608
test al, al
je 0x496580
jmp 0x496573
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call 0x14929d0
test al, al
je 0x496580
cmp byte [ebp - 9], 0
je 0x495393
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fe94
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call 0x1493f10
test al, al
je 0x496580
jmp 0x496573
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call 0x14929d0
test al, al
je 0x496580
cmp byte [ebp - 9], 0
je 0x4953d4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fe94
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call 0x14934a8
test al, al
je 0x496580
jmp 0x496573
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call 0x14929d0
test al, al
je 0x496580
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x495436
mov dl, 0xa
mov eax, dword [ebp - 4]
call 0x14892c0
cmp byte [ebp - 9], 0
je 0x496580
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fe94
jmp 0x496580
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.0x49545f.0
jmp dword [eax*4 + 0x495466]
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x49550e
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x49550e
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x49550e
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x49550e
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x49550e
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x49550e
mov dl, 2
mov eax, dword [ebp - 4]
call 0x14892c0
cmp byte [ebp - 9], 0
je 0x496580
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fe94
jmp 0x496580
cmp dword [ebp - 0x2c], 0
je 0x495523
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 0x496573
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fe94
jmp 0x496573
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x49555d
mov dl, 0xa
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
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 0x496573
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x496573
mov dl, 1
mov eax, dword [0x48524c]
call 0x1404068
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 0x14937b4
test al, al
jne 0x4955e4
mov dl, 0xa
mov eax, dword [ebp - 4]
call 0x14892c0
mov eax, ebx
call 0x1404098
jmp 0x496580
lea edx, [ebx + 0x14]
mov eax, dword [ebp - 4]
call 0x14937b4
test al, al
jne 0x495609
mov dl, 0xa
mov eax, dword [ebp - 4]
call 0x14892c0
mov eax, ebx
call 0x1404098
jmp 0x496580
lea edx, [ebx + 0x18]
mov eax, dword [ebp - 4]
call 0x14937b4
test al, al
jne 0x49562e
mov dl, 0xa
mov eax, dword [ebp - 4]
call 0x14892c0
mov eax, ebx
call 0x1404098
jmp 0x496580
lea edx, [ebx + 0x1c]
mov eax, dword [ebp - 4]
call 0x14937b4
test al, al
jne 0x495653
mov dl, 0xa
mov eax, dword [ebp - 4]
call 0x14892c0
mov eax, ebx
call 0x1404098
jmp 0x496580
cmp dword [ebx + 0x10], 0xffffffff
je 0x495662
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x10], eax
cmp dword [ebx + 0x14], 0xffffffff
je 0x495671
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x14], eax
cmp dword [ebx + 0x18], 0xffffffff
je 0x495680
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x18], eax
cmp dword [ebx + 0x1c], 0xffffffff
je 0x49568f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x1c], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x4956a0
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x4956d3
cmp dword [ebx + 0x14], 0xffffffff
je 0x4956b1
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x4956d3
cmp dword [ebx + 0x18], 0xffffffff
je 0x4956c2
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x4956d3
cmp dword [ebx + 0x1c], 0xffffffff
je 0x4956e9
mov eax, dword [ebx + 0x1c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4956e9
mov dl, 0xa
mov eax, dword [ebp - 4]
call 0x14892c0
mov eax, ebx
call 0x1404098
jmp 0x496580
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov edx, ebx
call 0x1482d08
jmp 0x496573
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x495718
mov dl, 0xa
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
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 0x4957f2
je 0x4958d4
dec eax
je 0x495752
dec eax
je 0x4959fe
jmp 0x496573
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
jne 0x49576d
mov dl, 0xa
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
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 0x495796
mov dl, 0xa
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
mov dword [ebx + 0x14], 0xffffffff
cmp dword [ebx + 0x18], 0xffffffff
je 0x4957b8
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x496573
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call 0x1404098
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call 0x1482d50
cmp dword [ebp - 0x38], 0xffffffff
je 0x4957e4
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x496573
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x496573
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 0x49581b
mov dl, 0xa
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
cmp dword [ebx + 0x10], 0xffffffff
je 0x495836
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
jmp 0x496573
cmp dword [ebx + 0x18], 0xffffffff
je 0x495851
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x496573
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call 0x1404098
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call 0x1482d50
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x4958b2
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 0x496573
cmp dword [ebp - 0x38], 0xffffffff
je 0x4958c6
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x496573
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x496573
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 0x4958fd
mov dl, 0xa
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x49595a
cmp dword [ebx + 0x14], 0xffffffff
je 0x49595a
cmp dword [ebx + 0x14], 0xfffffffe
je 0x49595a
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 0x14052d0
mov eax, dword [ebp - 4]
mov byte [eax + 0x7c], 0
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x70], edx
jmp 0x496573
cmp dword [ebx + 0x18], 0xffffffff
je 0x495975
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x496573
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call 0x1404098
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call 0x1482d50
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x4959dc
cmp dword [ebp - 0x2c], 0xffffffff
je 0x4959dc
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 0x496573
cmp dword [ebp - 0x38], 0xffffffff
je 0x4959f0
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x496573
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x496573
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 0x495a27
mov dl, 0xa
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
call 0x1404098
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call 0x1482d50
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x495a88
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 0x496573
cmp dword [ebp - 0x38], 0xffffffff
je 0x495a9c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x496573
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x496573
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call 0x14929d0
test al, al
je 0x496580
cmp byte [ebp - 9], 0
je 0x495adf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fe94
mov dl, 6
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x495af7
mov dl, 6
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call 0x14929d0
test al, al
je 0x496580
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x495b29
mov eax, dword [ebp - 0x11]
add eax, 4
mov edx, dword [eax]
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
call 0x1487360
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x495bce
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
je 0x495bb1
mov eax, dword [ebp - 0x1a]
add eax, 4
mov eax, dword [eax]
call 0x1487344
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 0x148ac24
test al, al
jne 0x495c2c
cmp byte [ebp - 0x12], 0
je 0x495ba2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fe94
mov dl, 0xc
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
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 0x495c2c
mov eax, dword [ebp - 0x16]
call 0x1487344
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 0x148ac24
test al, al
jne 0x495c2c
cmp byte [ebp - 0x12], 0
je 0x495c1d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fe94
mov dl, 0xc
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
cmp byte [ebp - 0x12], 0
je 0x496573
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fe94
jmp 0x496573
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call 0x14929d0
test al, al
je 0x496580
cmp byte [ebp - 9], 0
je 0x495c7b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fe94
mov dl, 6
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x495c92.0
movzx eax, byte [eax + 0x495c99]
jmp dword [eax*4 + 0x495cab]
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x496573
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x496573
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x496573
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x496573
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x496573
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x496573
mov eax, dword [ebp - 0x11]
sub dword [eax], 1
sbb dword [eax + 4], 0
jmp 0x496573
mov dl, 0xc
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call 0x14929d0
test al, al
je 0x496580
cmp byte [ebp - 9], 0
je 0x495d5c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fe94
mov dl, 6
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x495d73.0
movzx eax, byte [eax + 0x495d7a]
jmp dword [eax*4 + 0x495d8c]
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x496573
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x496573
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x496573
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x496573
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x496573
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x496573
mov eax, dword [ebp - 0x11]
add dword [eax], 1
adc dword [eax + 4], 0
jmp 0x496573
mov dl, 0xc
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call 0x14929d0
test al, al
je 0x496580
cmp byte [ebp - 9], 0
je 0x495e3d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fe94
mov dl, 6
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x495e55
mov dl, 6
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call 0x14929d0
test al, al
je 0x496580
cmp byte [ebp - 0x12], 0
je 0x495e8a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fe94
mov dl, 6
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x495eb2
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 0x496573
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 0x496573
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call 0x14929d0
test al, al
je 0x496580
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0x15
je 0x495f08
cmp byte [ebp - 9], 0
je 0x495ef9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fe94
mov dl, 0xc
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
cmp byte [ebp - 9], 0
je 0x495f21
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fe94
cmp dword [ebp - 0x2c], 0
jne 0x495f5b
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x495f5b
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.0049e558
test al, al
je 0x496580
jmp 0x496573
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x2c]
jbe 0x495f74
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
cmp eax, dword [ebp - 0x2c]
jne 0x495f83
mov dl, 9
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
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 [0x4848ec]
jne 0x496188
xor eax, eax
push ebp
push 0x496004
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 0x495ff7
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x495fea
mov dl, 0x11
mov eax, dword [ebp - 4]
call 0x14892c0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x496580
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x496573
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0049ff3c
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 0x496573
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x496221
mov dl, 0xa
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
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 0x14929d0
test al, al
je 0x496580
cmp byte [ebp - 0x1b], 0
je 0x49630b
mov eax, dword [ebp - 0x1f]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x496270
and eax, 0x7f
bt dword [0x496614], eax
jae 0x49627d
mov edx, dword [ebp - 0x1f]
mov eax, dword [ebp - 0x23]
call 0x14870b0
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 0x4962cb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call 0x1482ca4
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 0x4962fc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fbd0
mov dl, 6
mov eax, dword [ebp - 4]
call 0x14892c0
jmp 0x496580
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call 0x14929d0
test al, al
je 0x496580
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call 0x14929d0
test al, al
jne 0x4963eb
cmp byte [ebp - 0x12], 0
je 0x496580
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x496356
and eax, 0x7f
bt dword [0x496614], eax
jae 0x496363
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call 0x14870b0
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 0x4963b1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call 0x1482ca4
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 0x496580
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fbd0
jmp 0x496580
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 0x148c374
cmp byte [ebp - 9], 0
je 0x4964ba
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x49642e
and eax, 0x7f
bt dword [0x496614], eax
jae 0x49643b
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call 0x14870b0
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 0x496489
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call 0x1482ca4
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 0x4964ba
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fbd0
cmp byte [ebp - 0x12], 0
je 0x496573
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4964db
and eax, 0x7f
bt dword [0x496614], eax
jae 0x4964e8
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call 0x14870b0
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 0x496536
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call 0x1482ca4
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 0x496573
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fbd0
jmp 0x496573
mov dl, 5
mov eax, dword [ebp - 4]
call 0x14892c0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x4941ad
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x496599
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x4941a1
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x4965de
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x4965c2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0049fe94
dec esi
cmp esi, 0xffffffff
jne 0x4965b1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0049fbfc
mov eax, dword [ebp - 4]
cmp byte [eax + 0x11], 0
je 0x4965de
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 0x49660a
lea eax, [ebp - 0x80]
mov edx, 0xa
call 0x14052a0
ret