Function at 0x492708
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 0x494c6b
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 0x492784
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x49277a
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 0x492761
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 0x4927b5
sub al, 2
je 0x492842
jmp 0x49284b
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x4927c5
xor ebx, ebx
jmp 0x494c50
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 [0x483b80]
jne 0x492810
mov dl, 7
mov eax, dword [ebp - 4]
call fcn.004884c8
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 1
jmp 0x494c50
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 0x492852
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x492852
xor ebx, ebx
jmp 0x494c50
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.004926e8
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x494bdb
cmp dword [ebp - 0x48], 0
je 0x492881
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 0x49289e
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
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 0x492907
je 0x494470
cmp esi, 0xd
ja case.default.0x49291e
jmp dword [esi*4 + 0x4928cf]
cmp esi, 0x15
jg 0x49293d
je 0x493a35
add esi, 0xfffffff1
cmp esi, 5
ja case.default.0x49291e
jmp dword [esi*4 + 0x492925]
cmp esi, 0x19
jg 0x492964
je 0x49344c
sub esi, 0x16
je 0x494172
dec esi
je 0x4943bf
dec esi
je 0x49430e
jmp case.default.0x49291e
sub esi, 0x1a
je 0x4934a0
sub esi, 0xe5
je 0x494bdb
jmp case.default.0x49291e
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00491158
test al, al
je 0x494be8
cmp byte [ebp - 9], 0
je 0x492a4f
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4929b4
and eax, 0x7f
bt dword [0x494c7c], eax
jae 0x4929c1
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.004862ec
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 0x492a0f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00481f44
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 0x492a40
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049dbbc
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00491158
test al, al
je 0x494be8
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.0048a1fc
test al, al
jne 0x492b38
cmp byte [ebp - 0x12], 0
je 0x494be8
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x492aa3
and eax, 0x7f
bt dword [0x494c7c], eax
jae 0x492ab0
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.004862ec
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 0x492afe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00481f44
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 0x494be8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049dbbc
jmp 0x494be8
cmp byte [ebp - 0x12], 0
je 0x494bdb
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x492b59
and eax, 0x7f
bt dword [0x494c7c], eax
jae 0x492b66
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.004862ec
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 0x492bb4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00481f44
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 0x494bdb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049dbbc
jmp 0x494bdb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x492c0b
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
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.00491158
test al, al
je 0x494be8
cmp byte [ebp - 9], 0
je 0x492cf5
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x492c5a
and eax, 0x7f
bt dword [0x494c7c], eax
jae 0x492c67
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.004862ec
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 0x492cb5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00481f44
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 0x492ce6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049dbbc
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00491158
test al, al
je 0x494be8
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.0048d540
test al, al
jne 0x492de2
cmp byte [ebp - 0x12], 0
je 0x494be8
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x492d4d
and eax, 0x7f
bt dword [0x494c7c], eax
jae 0x492d5a
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.004862ec
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 0x492da8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00481f44
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 0x494be8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049dbbc
jmp 0x494be8
cmp byte [ebp - 0x12], 0
je 0x494bdb
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x492e03
and eax, 0x7f
bt dword [0x494c7c], eax
jae 0x492e10
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.004862ec
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 0x492e5e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00481f44
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 0x494bdb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049dbbc
jmp 0x494bdb
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00491158
test al, al
je 0x494be8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0x16]
call fcn.0049ded8
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.0048a1fc
test al, al
jne 0x492fa7
cmp byte [ebp - 0x12], 0
je 0x494be8
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x492f12
and eax, 0x7f
bt dword [0x494c7c], eax
jae 0x492f1f
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.004862ec
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 0x492f6d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00481f44
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 0x494be8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049dbbc
jmp 0x494be8
cmp byte [ebp - 0x12], 0
je 0x494bdb
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x492fc8
and eax, 0x7f
bt dword [0x494c7c], eax
jae 0x492fd5
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.004862ec
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 0x493023
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00481f44
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 0x494bdb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049dbbc
jmp 0x494bdb
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00491158
test al, al
je 0x494be8
cmp byte [ebp - 0x12], 0
je 0x493092
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049de30
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
mov dl, 0xd
mov eax, dword [ebp - 4]
call fcn.004922fc
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0049ded8
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x4930db
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 0x494bdb
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 0x494bdb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
cmp dword [eax + 0xc], 0
jne 0x493115
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
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 0x49313f
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
cmp byte [eax + 0xc], 0
jne 0x49314e
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0049de30
jmp 0x494bdb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x49317e
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
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 0x4931b6
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
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 [0x483b80]
jne 0x4933bb
xor eax, eax
push ebp
push 0x493237
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 0x49322a
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x49321d
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.004884c8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x494be8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x494bdb
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0049ded8
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 0x494bdb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0049de30
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x493477
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
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 0x494bdb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0049de30
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0049de30
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4934d6
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
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 0x494bdb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x49351f
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
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 0x494bdb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x493568
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
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.00491158
test al, al
je 0x494be8
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x4935aa.0
jmp dword [eax*4 + 0x4935b1]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x49363b
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x49363b
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x49363b
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x49363b
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x49363b
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x49363b
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.004884c8
cmp byte [ebp - 0x12], 0
je 0x494be8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049de30
jmp 0x494be8
cmp byte [ebp - 0x12], 0
je 0x49364c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049de30
cmp byte [ebp - 0x41], 0
je 0x494bdb
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x494bdb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x493684
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
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.00491158
test al, al
je 0x494be8
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x4936c6.0
jmp dword [eax*4 + 0x4936cd]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x493757
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x493757
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x493757
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x493757
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x493757
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x493757
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.004884c8
cmp byte [ebp - 0x12], 0
je 0x494be8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049de30
jmp 0x494be8
cmp byte [ebp - 0x12], 0
je 0x493768
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049de30
cmp byte [ebp - 0x41], 0
je 0x494bdb
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x494bdb
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 0x49388c
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 0x493868
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebx + 0xc]
jbe 0x4937ed
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 0x4937ed
dec edx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0049de30
inc dword [ebp - 0x4c]
jne 0x4937dd
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x493815
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 0x49388c
cmp dword [ebx + 0x18], 0xffffffff
je 0x493834
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 0x49388c
mov eax, ebx
call fcn.00404098
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00481ff0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x49388c
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 0x4937ba
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
jbe 0x49388c
cmp dword [ebx + 8], 0xffffffff
jne 0x4937ba
cmp dword [ebp - 0x30], 0
jne 0x494bdb
mov dword [ebp - 0x38], 0xffffffff
mov eax, dword [ebp - 4]
cmp dword [eax + 0x60], 0xffffffff
jne 0x4938b5
mov eax, dword [ebp - 4]
movzx edx, byte [ebp - 0x39]
mov byte [eax + 0x4c], dl
jmp 0x494be8
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 0x4938de
dec edx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0049de30
inc dword [ebp - 0x4c]
jne 0x4938ce
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 0x4938fe
mov eax, dword [ebp - 4]
movzx edx, byte [ebp - 0x39]
mov byte [eax + 0x4c], dl
jmp 0x494be8
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.0049de30
mov eax, dword [ebp - 4]
cmp dword [eax + 0x50], 0
jne 0x49395a
mov eax, dword [ebp - 4]
movzx edx, byte [ebp - 0x39]
mov byte [eax + 0x4c], dl
jmp 0x494be8
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 0x494bdb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x49399d
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
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 0x4939d5
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
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.0049ded8
jmp 0x494bdb
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00491158
test al, al
je 0x494be8
cmp byte [ebp - 9], 0
je 0x493a1a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049de30
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.00491d24
test al, al
je 0x494be8
jmp 0x494bdb
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00491158
test al, al
je 0x494be8
cmp byte [ebp - 9], 0
je 0x493a5b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049de30
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.00492600
test al, al
je 0x494be8
jmp 0x494bdb
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00491158
test al, al
je 0x494be8
cmp byte [ebp - 9], 0
je 0x493a9c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049de30
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.00491bec
test al, al
je 0x494be8
jmp 0x494bdb
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00491158
test al, al
je 0x494be8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x493afe
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004884c8
cmp byte [ebp - 9], 0
je 0x494be8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049de30
jmp 0x494be8
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.0x493b27.0
jmp dword [eax*4 + 0x493b2e]
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x493bd6
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x493bd6
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x493bd6
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x493bd6
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x493bd6
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x493bd6
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.004884c8
cmp byte [ebp - 9], 0
je 0x494be8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049de30
jmp 0x494be8
cmp dword [ebp - 0x2c], 0
je 0x493beb
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 0x494bdb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049de30
jmp 0x494bdb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x493c25
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
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 0x494bdb
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x494bdb
mov dl, 1
mov eax, dword [0x4844e0]
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.00491ea4
test al, al
jne 0x493cac
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004884c8
mov eax, ebx
call fcn.00404098
jmp 0x494be8
lea edx, [ebx + 0x14]
mov eax, dword [ebp - 4]
call fcn.00491ea4
test al, al
jne 0x493cd1
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004884c8
mov eax, ebx
call fcn.00404098
jmp 0x494be8
lea edx, [ebx + 0x18]
mov eax, dword [ebp - 4]
call fcn.00491ea4
test al, al
jne 0x493cf6
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004884c8
mov eax, ebx
call fcn.00404098
jmp 0x494be8
lea edx, [ebx + 0x1c]
mov eax, dword [ebp - 4]
call fcn.00491ea4
test al, al
jne 0x493d1b
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004884c8
mov eax, ebx
call fcn.00404098
jmp 0x494be8
cmp dword [ebx + 0x10], 0xffffffff
je 0x493d2a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x10], eax
cmp dword [ebx + 0x14], 0xffffffff
je 0x493d39
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x14], eax
cmp dword [ebx + 0x18], 0xffffffff
je 0x493d48
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x18], eax
cmp dword [ebx + 0x1c], 0xffffffff
je 0x493d57
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x1c], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x493d68
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x493d9b
cmp dword [ebx + 0x14], 0xffffffff
je 0x493d79
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x493d9b
cmp dword [ebx + 0x18], 0xffffffff
je 0x493d8a
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x493d9b
cmp dword [ebx + 0x1c], 0xffffffff
je 0x493db1
mov eax, dword [ebx + 0x1c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x493db1
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004884c8
mov eax, ebx
call fcn.00404098
jmp 0x494be8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov edx, ebx
call fcn.00481fa8
jmp 0x494bdb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x493de0
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
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 0x493eba
je 0x493f9c
dec eax
je 0x493e1a
dec eax
je 0x4940c6
jmp 0x494bdb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
jne 0x493e35
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
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 0x493e5e
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
mov dword [ebx + 0x14], 0xffffffff
cmp dword [ebx + 0x18], 0xffffffff
je 0x493e80
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x494bdb
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.00481ff0
cmp dword [ebp - 0x38], 0xffffffff
je 0x493eac
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x494bdb
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x494bdb
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 0x493ee3
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
cmp dword [ebx + 0x10], 0xffffffff
je 0x493efe
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
jmp 0x494bdb
cmp dword [ebx + 0x18], 0xffffffff
je 0x493f19
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x494bdb
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.00481ff0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x493f7a
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 0x494bdb
cmp dword [ebp - 0x38], 0xffffffff
je 0x493f8e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x494bdb
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x494bdb
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 0x493fc5
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x494022
cmp dword [ebx + 0x14], 0xffffffff
je 0x494022
cmp dword [ebx + 0x14], 0xfffffffe
je 0x494022
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 0x494bdb
cmp dword [ebx + 0x18], 0xffffffff
je 0x49403d
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x494bdb
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.00481ff0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x4940a4
cmp dword [ebp - 0x2c], 0xffffffff
je 0x4940a4
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 0x494bdb
cmp dword [ebp - 0x38], 0xffffffff
je 0x4940b8
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x494bdb
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x494bdb
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 0x4940ef
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
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.00481ff0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x494150
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 0x494bdb
cmp dword [ebp - 0x38], 0xffffffff
je 0x494164
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x494bdb
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x494bdb
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.00491158
test al, al
je 0x494be8
cmp byte [ebp - 9], 0
je 0x4941a7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049de30
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x4941bf
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.00491158
test al, al
je 0x494be8
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x4941f1
mov eax, dword [ebp - 0x11]
add eax, 4
mov edx, dword [eax]
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
call fcn.004865a4
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x494296
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
je 0x494279
mov eax, dword [ebp - 0x1a]
add eax, 4
mov eax, dword [eax]
call fcn.00486588
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.00489ab4
test al, al
jne 0x4942f4
cmp byte [ebp - 0x12], 0
je 0x49426a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049de30
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
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 0x4942f4
mov eax, dword [ebp - 0x16]
call fcn.00486588
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.00489ab4
test al, al
jne 0x4942f4
cmp byte [ebp - 0x12], 0
je 0x4942e5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049de30
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
cmp byte [ebp - 0x12], 0
je 0x494bdb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049de30
jmp 0x494bdb
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00491158
test al, al
je 0x494be8
cmp byte [ebp - 9], 0
je 0x494343
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049de30
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x49434f.0
jmp dword [eax*4 + 0x494356]
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x494bdb
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x494bdb
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x494bdb
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x494bdb
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x494bdb
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x494bdb
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00491158
test al, al
je 0x494be8
cmp byte [ebp - 9], 0
je 0x4943f4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049de30
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x494400.0
jmp dword [eax*4 + 0x494407]
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x494bdb
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x494bdb
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x494bdb
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x494bdb
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x494bdb
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x494bdb
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.00491158
test al, al
je 0x494be8
cmp byte [ebp - 9], 0
je 0x4944a5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049de30
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x4944bd
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.00491158
test al, al
je 0x494be8
cmp byte [ebp - 0x12], 0
je 0x4944f2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049de30
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x49451a
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 0x494bdb
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 0x494bdb
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00491158
test al, al
je 0x494be8
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0x15
je 0x494570
cmp byte [ebp - 9], 0
je 0x494561
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049de30
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
cmp byte [ebp - 9], 0
je 0x494589
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049de30
cmp dword [ebp - 0x2c], 0
jne 0x4945c3
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x4945c3
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.0049c548
test al, al
je 0x494be8
jmp 0x494bdb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x2c]
jbe 0x4945dc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
cmp eax, dword [ebp - 0x2c]
jne 0x4945eb
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
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 [0x483b80]
jne 0x4947f0
xor eax, eax
push ebp
push 0x49466c
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 0x49465f
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x494652
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.004884c8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x494be8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x494bdb
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0049ded8
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 0x494bdb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x494889
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
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.00491158
test al, al
je 0x494be8
cmp byte [ebp - 0x1b], 0
je 0x494973
mov eax, dword [ebp - 0x1f]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4948d8
and eax, 0x7f
bt dword [0x494c7c], eax
jae 0x4948e5
mov edx, dword [ebp - 0x1f]
mov eax, dword [ebp - 0x23]
call fcn.004862ec
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 0x494933
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00481f44
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 0x494964
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049dbbc
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004884c8
jmp 0x494be8
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00491158
test al, al
je 0x494be8
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00491158
test al, al
jne 0x494a53
cmp byte [ebp - 0x12], 0
je 0x494be8
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4949be
and eax, 0x7f
bt dword [0x494c7c], eax
jae 0x4949cb
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.004862ec
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 0x494a19
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00481f44
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 0x494be8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049dbbc
jmp 0x494be8
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.0048b134
cmp byte [ebp - 9], 0
je 0x494b22
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x494a96
and eax, 0x7f
bt dword [0x494c7c], eax
jae 0x494aa3
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.004862ec
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 0x494af1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00481f44
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 0x494b22
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049dbbc
cmp byte [ebp - 0x12], 0
je 0x494bdb
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x494b43
and eax, 0x7f
bt dword [0x494c7c], eax
jae 0x494b50
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.004862ec
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 0x494b9e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00481f44
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 0x494bdb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049dbbc
jmp 0x494bdb
mov dl, 5
mov eax, dword [ebp - 4]
call fcn.004884c8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x492875
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x494c01
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x492869
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x494c46
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x494c2a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0049de30
dec esi
cmp esi, 0xffffffff
jne 0x494c19
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0049dbcc
mov eax, dword [ebp - 4]
cmp byte [eax + 0x11], 0
je 0x494c46
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 0x494c72
lea eax, [ebp - 0x80]
mov edx, 0xa
call fcn.004052a0
ret