Function at 0x493f4c
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 0x49650f
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 0x493fc8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x493fbe
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 0x493fa5
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 0x493ff9
sub al, 2
je 0x494086
jmp 0x49408f
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x494009
xor ebx, ebx
jmp 0x4964f4
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 [0x4847f8]
jne 0x494054
mov dl, 7
mov eax, dword [ebp - 4]
call fcn.004891cc
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 1
jmp 0x4964f4
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 0x494096
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x494096
xor ebx, ebx
jmp 0x4964f4
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.00493f2c
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x49647f
cmp dword [ebp - 0x48], 0
je 0x4940c5
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 0x4940e2
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
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 0x49414b
je 0x495d14
cmp esi, 0xd
ja case.default.0x494162
jmp dword [esi*4 + 0x494113]
cmp esi, 0x15
jg 0x494181
je 0x495279
add esi, 0xfffffff1
cmp esi, 5
ja case.default.0x494162
jmp dword [esi*4 + 0x494169]
cmp esi, 0x19
jg 0x4941a8
je 0x494c90
sub esi, 0x16
je 0x4959b6
dec esi
je 0x495c33
dec esi
je 0x495b52
jmp case.default.0x494162
sub esi, 0x1a
je 0x494ce4
sub esi, 0xe5
je 0x49647f
jmp case.default.0x494162
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004928dc
test al, al
je 0x49648c
cmp byte [ebp - 9], 0
je 0x494293
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4941f8
and eax, 0x7f
bt dword [0x496520], eax
jae 0x494205
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.00486fbc
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 0x494253
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00482bb0
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 0x494284
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fab4
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004928dc
test al, al
je 0x49648c
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.0048b2a4
test al, al
jne 0x49437c
cmp byte [ebp - 0x12], 0
je 0x49648c
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4942e7
and eax, 0x7f
bt dword [0x496520], eax
jae 0x4942f4
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.00486fbc
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 0x494342
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00482bb0
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 0x49648c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fab4
jmp 0x49648c
cmp byte [ebp - 0x12], 0
je 0x49647f
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x49439d
and eax, 0x7f
bt dword [0x496520], eax
jae 0x4943aa
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.00486fbc
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 0x4943f8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00482bb0
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 0x49647f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fab4
jmp 0x49647f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x49444f
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
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.004928dc
test al, al
je 0x49648c
cmp byte [ebp - 9], 0
je 0x494539
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x49449e
and eax, 0x7f
bt dword [0x496520], eax
jae 0x4944ab
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.00486fbc
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 0x4944f9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00482bb0
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 0x49452a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fab4
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004928dc
test al, al
je 0x49648c
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.0048e7d4
test al, al
jne 0x494626
cmp byte [ebp - 0x12], 0
je 0x49648c
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x494591
and eax, 0x7f
bt dword [0x496520], eax
jae 0x49459e
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.00486fbc
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 0x4945ec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00482bb0
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 0x49648c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fab4
jmp 0x49648c
cmp byte [ebp - 0x12], 0
je 0x49647f
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x494647
and eax, 0x7f
bt dword [0x496520], eax
jae 0x494654
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.00486fbc
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 0x4946a2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00482bb0
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 0x49647f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fab4
jmp 0x49647f
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004928dc
test al, al
je 0x49648c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0x16]
call fcn.0049fe20
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.0048b2a4
test al, al
jne 0x4947eb
cmp byte [ebp - 0x12], 0
je 0x49648c
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x494756
and eax, 0x7f
bt dword [0x496520], eax
jae 0x494763
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.00486fbc
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 0x4947b1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00482bb0
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 0x49648c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fab4
jmp 0x49648c
cmp byte [ebp - 0x12], 0
je 0x49647f
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x49480c
and eax, 0x7f
bt dword [0x496520], eax
jae 0x494819
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.00486fbc
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 0x494867
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00482bb0
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 0x49647f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fab4
jmp 0x49647f
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004928dc
test al, al
je 0x49648c
cmp byte [ebp - 0x12], 0
je 0x4948d6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fd78
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
mov dl, 0xd
mov eax, dword [ebp - 4]
call fcn.00493b18
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0049fe20
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x49491f
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 0x49647f
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 0x49647f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
cmp dword [eax + 0xc], 0
jne 0x494959
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
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 0x494983
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
cmp byte [eax + 0xc], 0
jne 0x494992
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0049fd78
jmp 0x49647f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4949c2
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
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 0x4949fa
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
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 [0x4847f8]
jne 0x494bff
xor eax, eax
push ebp
push 0x494a7b
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 0x494a6e
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x494a61
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.004891cc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x49648c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x49647f
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0049fe20
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 0x49647f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0049fd78
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x494cbb
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
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 0x49647f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0049fd78
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0049fd78
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x494d1a
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
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 0x49647f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x494d63
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
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 0x49647f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x494dac
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
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.004928dc
test al, al
je 0x49648c
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x494dee.0
jmp dword [eax*4 + 0x494df5]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x494e7f
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x494e7f
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x494e7f
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x494e7f
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x494e7f
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x494e7f
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.004891cc
cmp byte [ebp - 0x12], 0
je 0x49648c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fd78
jmp 0x49648c
cmp byte [ebp - 0x12], 0
je 0x494e90
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fd78
cmp byte [ebp - 0x41], 0
je 0x49647f
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x49647f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x494ec8
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
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.004928dc
test al, al
je 0x49648c
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x494f0a.0
jmp dword [eax*4 + 0x494f11]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x494f9b
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x494f9b
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x494f9b
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x494f9b
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x494f9b
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x494f9b
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.004891cc
cmp byte [ebp - 0x12], 0
je 0x49648c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fd78
jmp 0x49648c
cmp byte [ebp - 0x12], 0
je 0x494fac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fd78
cmp byte [ebp - 0x41], 0
je 0x49647f
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x49647f
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 0x4950d0
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 0x4950ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebx + 0xc]
jbe 0x495031
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 0x495031
dec edx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0049fd78
inc dword [ebp - 0x4c]
jne 0x495021
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x495059
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 0x4950d0
cmp dword [ebx + 0x18], 0xffffffff
je 0x495078
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 0x4950d0
mov eax, ebx
call fcn.00404098
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00482c5c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x4950d0
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 0x494ffe
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
jbe 0x4950d0
cmp dword [ebx + 8], 0xffffffff
jne 0x494ffe
cmp dword [ebp - 0x30], 0
jne 0x49647f
mov dword [ebp - 0x38], 0xffffffff
mov eax, dword [ebp - 4]
cmp dword [eax + 0x60], 0xffffffff
jne 0x4950f9
mov eax, dword [ebp - 4]
movzx edx, byte [ebp - 0x39]
mov byte [eax + 0x4c], dl
jmp 0x49648c
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 0x495122
dec edx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0049fd78
inc dword [ebp - 0x4c]
jne 0x495112
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 0x495142
mov eax, dword [ebp - 4]
movzx edx, byte [ebp - 0x39]
mov byte [eax + 0x4c], dl
jmp 0x49648c
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.0049fd78
mov eax, dword [ebp - 4]
cmp dword [eax + 0x50], 0
jne 0x49519e
mov eax, dword [ebp - 4]
movzx edx, byte [ebp - 0x39]
mov byte [eax + 0x4c], dl
jmp 0x49648c
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 0x49647f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4951e1
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
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 0x495219
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
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.0049fe20
jmp 0x49647f
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004928dc
test al, al
je 0x49648c
cmp byte [ebp - 9], 0
je 0x49525e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fd78
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.00493514
test al, al
je 0x49648c
jmp 0x49647f
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004928dc
test al, al
je 0x49648c
cmp byte [ebp - 9], 0
je 0x49529f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fd78
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.00493e1c
test al, al
je 0x49648c
jmp 0x49647f
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004928dc
test al, al
je 0x49648c
cmp byte [ebp - 9], 0
je 0x4952e0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fd78
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.004933b4
test al, al
je 0x49648c
jmp 0x49647f
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004928dc
test al, al
je 0x49648c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x495342
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004891cc
cmp byte [ebp - 9], 0
je 0x49648c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fd78
jmp 0x49648c
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.0x49536b.0
jmp dword [eax*4 + 0x495372]
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x49541a
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x49541a
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x49541a
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x49541a
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x49541a
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x49541a
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.004891cc
cmp byte [ebp - 9], 0
je 0x49648c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fd78
jmp 0x49648c
cmp dword [ebp - 0x2c], 0
je 0x49542f
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 0x49647f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fd78
jmp 0x49647f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x495469
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
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 0x49647f
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x49647f
mov dl, 1
mov eax, dword [0x485158]
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.004936c0
test al, al
jne 0x4954f0
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004891cc
mov eax, ebx
ret
call fcn.00404098
jmp 0x49648c
lea edx, [ebx + 0x14]
mov eax, dword [ebp - 4]
call fcn.004936c0
test al, al
jne 0x495515
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004891cc
mov eax, ebx
call fcn.00404098
jmp 0x49648c
lea edx, [ebx + 0x18]
mov eax, dword [ebp - 4]
call fcn.004936c0
test al, al
jne 0x49553a
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004891cc
mov eax, ebx
call fcn.00404098
jmp 0x49648c
lea edx, [ebx + 0x1c]
mov eax, dword [ebp - 4]
call fcn.004936c0
test al, al
jne 0x49555f
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004891cc
mov eax, ebx
call fcn.00404098
jmp 0x49648c
cmp dword [ebx + 0x10], 0xffffffff
je 0x49556e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x10], eax
cmp dword [ebx + 0x14], 0xffffffff
je 0x49557d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x14], eax
cmp dword [ebx + 0x18], 0xffffffff
je 0x49558c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x18], eax
cmp dword [ebx + 0x1c], 0xffffffff
je 0x49559b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x1c], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x4955ac
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x4955df
cmp dword [ebx + 0x14], 0xffffffff
je 0x4955bd
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x4955df
cmp dword [ebx + 0x18], 0xffffffff
je 0x4955ce
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x4955df
cmp dword [ebx + 0x1c], 0xffffffff
je 0x4955f5
mov eax, dword [ebx + 0x1c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4955f5
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004891cc
mov eax, ebx
call fcn.00404098
jmp 0x49648c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov edx, ebx
call fcn.00482c14
jmp 0x49647f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x495624
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
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 0x4956fe
je 0x4957e0
dec eax
je 0x49565e
dec eax
je 0x49590a
jmp 0x49647f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
jne 0x495679
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
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 0x4956a2
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
mov dword [ebx + 0x14], 0xffffffff
cmp dword [ebx + 0x18], 0xffffffff
je 0x4956c4
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x49647f
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.00482c5c
cmp dword [ebp - 0x38], 0xffffffff
je 0x4956f0
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x49647f
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x49647f
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 0x495727
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
cmp dword [ebx + 0x10], 0xffffffff
je 0x495742
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
jmp 0x49647f
cmp dword [ebx + 0x18], 0xffffffff
je 0x49575d
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x49647f
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.00482c5c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x4957be
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 0x49647f
cmp dword [ebp - 0x38], 0xffffffff
je 0x4957d2
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x49647f
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x49647f
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 0x495809
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x495866
cmp dword [ebx + 0x14], 0xffffffff
je 0x495866
cmp dword [ebx + 0x14], 0xfffffffe
je 0x495866
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 0x49647f
cmp dword [ebx + 0x18], 0xffffffff
je 0x495881
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x49647f
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.00482c5c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x4958e8
cmp dword [ebp - 0x2c], 0xffffffff
je 0x4958e8
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 0x49647f
cmp dword [ebp - 0x38], 0xffffffff
je 0x4958fc
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x49647f
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x49647f
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 0x495933
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
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.00482c5c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x495994
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 0x49647f
cmp dword [ebp - 0x38], 0xffffffff
je 0x4959a8
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x49647f
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x49647f
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004928dc
test al, al
je 0x49648c
cmp byte [ebp - 9], 0
je 0x4959eb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fd78
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x495a03
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004928dc
test al, al
je 0x49648c
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x495a35
mov eax, dword [ebp - 0x11]
add eax, 4
mov edx, dword [eax]
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
call fcn.0048726c
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x495ada
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
je 0x495abd
mov eax, dword [ebp - 0x1a]
add eax, 4
mov eax, dword [eax]
call fcn.00487250
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.0048ab30
test al, al
jne 0x495b38
cmp byte [ebp - 0x12], 0
je 0x495aae
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fd78
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
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 0x495b38
mov eax, dword [ebp - 0x16]
call fcn.00487250
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.0048ab30
test al, al
jne 0x495b38
cmp byte [ebp - 0x12], 0
je 0x495b29
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fd78
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
cmp byte [ebp - 0x12], 0
je 0x49647f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fd78
jmp 0x49647f
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004928dc
test al, al
je 0x49648c
cmp byte [ebp - 9], 0
je 0x495b87
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fd78
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x495b9e.0
movzx eax, byte [eax + 0x495ba5]
jmp dword [eax*4 + 0x495bb7]
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x49647f
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x49647f
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x49647f
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x49647f
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x49647f
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x49647f
mov eax, dword [ebp - 0x11]
sub dword [eax], 1
sbb dword [eax + 4], 0
jmp 0x49647f
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004928dc
test al, al
je 0x49648c
cmp byte [ebp - 9], 0
je 0x495c68
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fd78
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x495c7f.0
movzx eax, byte [eax + 0x495c86]
jmp dword [eax*4 + 0x495c98]
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x49647f
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x49647f
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x49647f
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x49647f
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x49647f
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x49647f
mov eax, dword [ebp - 0x11]
add dword [eax], 1
adc dword [eax + 4], 0
jmp 0x49647f
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004928dc
test al, al
je 0x49648c
cmp byte [ebp - 9], 0
je 0x495d49
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fd78
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x495d61
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004928dc
test al, al
je 0x49648c
cmp byte [ebp - 0x12], 0
je 0x495d96
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fd78
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x495dbe
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 0x49647f
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 0x49647f
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004928dc
test al, al
je 0x49648c
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0x15
je 0x495e14
cmp byte [ebp - 9], 0
je 0x495e05
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fd78
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
cmp byte [ebp - 9], 0
je 0x495e2d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fd78
cmp dword [ebp - 0x2c], 0
jne 0x495e67
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x495e67
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.0049e43c
test al, al
je 0x49648c
jmp 0x49647f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x2c]
jbe 0x495e80
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
cmp eax, dword [ebp - 0x2c]
jne 0x495e8f
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
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 [0x4847f8]
jne 0x496094
xor eax, eax
push ebp
push 0x495f10
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 0x495f03
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x495ef6
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.004891cc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x49648c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x49647f
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0049fe20
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 0x49647f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x49612d
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
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.004928dc
test al, al
je 0x49648c
cmp byte [ebp - 0x1b], 0
je 0x496217
mov eax, dword [ebp - 0x1f]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x49617c
and eax, 0x7f
bt dword [0x496520], eax
jae 0x496189
mov edx, dword [ebp - 0x1f]
mov eax, dword [ebp - 0x23]
call fcn.00486fbc
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 0x4961d7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00482bb0
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 0x496208
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fab4
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.004891cc
jmp 0x49648c
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004928dc
test al, al
je 0x49648c
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004928dc
test al, al
jne 0x4962f7
cmp byte [ebp - 0x12], 0
je 0x49648c
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x496262
and eax, 0x7f
bt dword [0x496520], eax
jae 0x49626f
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.00486fbc
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 0x4962bd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00482bb0
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 0x49648c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fab4
jmp 0x49648c
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.0048c280
cmp byte [ebp - 9], 0
je 0x4963c6
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x49633a
and eax, 0x7f
bt dword [0x496520], eax
jae 0x496347
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.00486fbc
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 0x496395
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00482bb0
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 0x4963c6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fab4
cmp byte [ebp - 0x12], 0
je 0x49647f
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4963e7
and eax, 0x7f
bt dword [0x496520], eax
jae 0x4963f4
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.00486fbc
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 0x496442
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.00482bb0
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 0x49647f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0049fab4
jmp 0x49647f
mov dl, 5
mov eax, dword [ebp - 4]
call fcn.004891cc
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x4940b9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x4964a5
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x4940ad
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x4964ea
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x4964ce
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0049fd78
dec esi
cmp esi, 0xffffffff
jne 0x4964bd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0049fae0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x11], 0
je 0x4964ea
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 0x496516
lea eax, [ebp - 0x80]
mov edx, 0xa
call fcn.004052a0
ret