Function at 0x49b5ac
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 0x49db6f
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 0x49b628
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x49b61e
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 0x49b605
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 0x49b659
sub al, 2
je 0x49b6e6
jmp 0x49b6ef
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x49b669
xor ebx, ebx
jmp 0x49db54
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 [0x48be58]
jne 0x49b6b4
mov dl, 7
mov eax, dword [ebp - 4]
call fcn.0049082c
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 1
jmp 0x49db54
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 0x49b6f6
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x49b6f6
xor ebx, ebx
jmp 0x49db54
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.0049b58c
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x49dadf
cmp dword [ebp - 0x48], 0
je 0x49b725
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 0x49b742
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
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 0x49b7ab
je 0x49d374
cmp esi, 0xd
ja case.default.0x49b7c2
jmp dword [esi*4 + 0x49b773]
cmp esi, 0x15
jg 0x49b7e1
je 0x49c8d9
add esi, 0xfffffff1
cmp esi, 5
ja case.default.0x49b7c2
jmp dword [esi*4 + 0x49b7c9]
cmp esi, 0x19
jg 0x49b808
je 0x49c2f0
sub esi, 0x16
je 0x49d016
dec esi
je 0x49d293
dec esi
je 0x49d1b2
jmp case.default.0x49b7c2
sub esi, 0x1a
je 0x49c344
sub esi, 0xe5
je 0x49dadf
jmp case.default.0x49b7c2
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00499f3c
test al, al
je 0x49daec
cmp byte [ebp - 9], 0
je 0x49b8f3
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x49b858
and eax, 0x7f
bt dword [0x49db80], eax
jae 0x49b865
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.0048e61c
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 0x49b8b3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0048a210
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 0x49b8e4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004a7154
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00499f3c
test al, al
je 0x49daec
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.00492904
test al, al
jne 0x49b9dc
cmp byte [ebp - 0x12], 0
je 0x49daec
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x49b947
and eax, 0x7f
bt dword [0x49db80], eax
jae 0x49b954
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.0048e61c
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 0x49b9a2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0048a210
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 0x49daec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004a7154
jmp 0x49daec
cmp byte [ebp - 0x12], 0
je 0x49dadf
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x49b9fd
and eax, 0x7f
bt dword [0x49db80], eax
jae 0x49ba0a
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.0048e61c
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 0x49ba58
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0048a210
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 0x49dadf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004a7154
jmp 0x49dadf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x49baaf
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
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.00499f3c
test al, al
je 0x49daec
cmp byte [ebp - 9], 0
je 0x49bb99
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x49bafe
and eax, 0x7f
bt dword [0x49db80], eax
jae 0x49bb0b
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.0048e61c
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 0x49bb59
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0048a210
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 0x49bb8a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004a7154
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00499f3c
test al, al
je 0x49daec
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.00495e34
test al, al
jne 0x49bc86
cmp byte [ebp - 0x12], 0
je 0x49daec
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x49bbf1
and eax, 0x7f
bt dword [0x49db80], eax
jae 0x49bbfe
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.0048e61c
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 0x49bc4c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0048a210
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 0x49daec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004a7154
jmp 0x49daec
cmp byte [ebp - 0x12], 0
je 0x49dadf
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x49bca7
and eax, 0x7f
bt dword [0x49db80], eax
jae 0x49bcb4
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.0048e61c
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 0x49bd02
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0048a210
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 0x49dadf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004a7154
jmp 0x49dadf
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00499f3c
test al, al
je 0x49daec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0x16]
call fcn.004a74c0
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.00492904
test al, al
jne 0x49be4b
cmp byte [ebp - 0x12], 0
je 0x49daec
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x49bdb6
and eax, 0x7f
bt dword [0x49db80], eax
jae 0x49bdc3
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.0048e61c
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 0x49be11
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0048a210
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 0x49daec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004a7154
jmp 0x49daec
cmp byte [ebp - 0x12], 0
je 0x49dadf
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x49be6c
and eax, 0x7f
bt dword [0x49db80], eax
jae 0x49be79
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.0048e61c
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 0x49bec7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0048a210
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 0x49dadf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004a7154
jmp 0x49dadf
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00499f3c
test al, al
je 0x49daec
cmp byte [ebp - 0x12], 0
je 0x49bf36
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004a7418
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
mov dl, 0xd
mov eax, dword [ebp - 4]
call fcn.0049b178
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004a74c0
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x49bf7f
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 0x49dadf
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 0x49dadf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
cmp dword [eax + 0xc], 0
jne 0x49bfb9
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
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 0x49bfe3
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
cmp byte [eax + 0xc], 0
jne 0x49bff2
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004a7418
jmp 0x49dadf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x49c022
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
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 0x49c05a
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
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 [0x48be58]
jne 0x49c25f
xor eax, eax
push ebp
push 0x49c0db
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 0x49c0ce
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x49c0c1
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.0049082c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x49daec
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x49dadf
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004a74c0
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 0x49dadf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004a7418
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x49c31b
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
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 0x49dadf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004a7418
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004a7418
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x49c37a
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
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 0x49dadf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x49c3c3
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
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 0x49dadf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x49c40c
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
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.00499f3c
test al, al
je 0x49daec
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x49c44e.0
jmp dword [eax*4 + 0x49c455]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x49c4df
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x49c4df
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x49c4df
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x49c4df
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x49c4df
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x49c4df
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.0049082c
cmp byte [ebp - 0x12], 0
je 0x49daec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004a7418
jmp 0x49daec
cmp byte [ebp - 0x12], 0
je 0x49c4f0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004a7418
cmp byte [ebp - 0x41], 0
je 0x49dadf
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x49dadf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x49c528
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
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.00499f3c
test al, al
je 0x49daec
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x49c56a.0
jmp dword [eax*4 + 0x49c571]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x49c5fb
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x49c5fb
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x49c5fb
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x49c5fb
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x49c5fb
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x49c5fb
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.0049082c
cmp byte [ebp - 0x12], 0
je 0x49daec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004a7418
jmp 0x49daec
cmp byte [ebp - 0x12], 0
je 0x49c60c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004a7418
cmp byte [ebp - 0x41], 0
je 0x49dadf
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x49dadf
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 0x49c730
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 0x49c70c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebx + 0xc]
jbe 0x49c691
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 0x49c691
dec edx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004a7418
inc dword [ebp - 0x4c]
jne 0x49c681
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x49c6b9
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 0x49c730
cmp dword [ebx + 0x18], 0xffffffff
je 0x49c6d8
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 0x49c730
mov eax, ebx
call fcn.00404098
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.0048a2bc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x49c730
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 0x49c65e
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
jbe 0x49c730
cmp dword [ebx + 8], 0xffffffff
jne 0x49c65e
cmp dword [ebp - 0x30], 0
jne 0x49dadf
mov dword [ebp - 0x38], 0xffffffff
mov eax, dword [ebp - 4]
cmp dword [eax + 0x60], 0xffffffff
jne 0x49c759
mov eax, dword [ebp - 4]
movzx edx, byte [ebp - 0x39]
mov byte [eax + 0x4c], dl
jmp 0x49daec
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 0x49c782
dec edx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004a7418
inc dword [ebp - 0x4c]
jne 0x49c772
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 0x49c7a2
mov eax, dword [ebp - 4]
movzx edx, byte [ebp - 0x39]
mov byte [eax + 0x4c], dl
jmp 0x49daec
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.004a7418
mov eax, dword [ebp - 4]
cmp dword [eax + 0x50], 0
jne 0x49c7fe
mov eax, dword [ebp - 4]
movzx edx, byte [ebp - 0x39]
mov byte [eax + 0x4c], dl
jmp 0x49daec
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 0x49dadf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x49c841
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
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 0x49c879
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
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.004a74c0
jmp 0x49dadf
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00499f3c
test al, al
je 0x49daec
cmp byte [ebp - 9], 0
je 0x49c8be
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004a7418
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.0049ab74
test al, al
je 0x49daec
jmp 0x49dadf
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00499f3c
test al, al
je 0x49daec
cmp byte [ebp - 9], 0
je 0x49c8ff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004a7418
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.0049b47c
test al, al
je 0x49daec
jmp 0x49dadf
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00499f3c
test al, al
je 0x49daec
cmp byte [ebp - 9], 0
je 0x49c940
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004a7418
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.0049aa14
test al, al
je 0x49daec
jmp 0x49dadf
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00499f3c
test al, al
je 0x49daec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x49c9a2
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049082c
cmp byte [ebp - 9], 0
je 0x49daec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004a7418
jmp 0x49daec
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.0x49c9cb.0
jmp dword [eax*4 + 0x49c9d2]
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x49ca7a
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x49ca7a
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x49ca7a
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x49ca7a
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x49ca7a
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x49ca7a
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.0049082c
cmp byte [ebp - 9], 0
je 0x49daec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004a7418
jmp 0x49daec
cmp dword [ebp - 0x2c], 0
je 0x49ca8f
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 0x49dadf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004a7418
jmp 0x49dadf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x49cac9
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
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 0x49dadf
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x49dadf
mov dl, 1
mov eax, dword [0x48c7b8]
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.0049ad20
test al, al
jne 0x49cb50
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049082c
mov eax, ebx
call fcn.00404098
jmp 0x49daec
lea edx, [ebx + 0x14]
mov eax, dword [ebp - 4]
call fcn.0049ad20
test al, al
jne 0x49cb75
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049082c
mov eax, ebx
call fcn.00404098
jmp 0x49daec
lea edx, [ebx + 0x18]
mov eax, dword [ebp - 4]
call fcn.0049ad20
test al, al
jne 0x49cb9a
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049082c
mov eax, ebx
call fcn.00404098
jmp 0x49daec
lea edx, [ebx + 0x1c]
mov eax, dword [ebp - 4]
call fcn.0049ad20
test al, al
jne 0x49cbbf
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049082c
mov eax, ebx
call fcn.00404098
jmp 0x49daec
cmp dword [ebx + 0x10], 0xffffffff
je 0x49cbce
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x10], eax
cmp dword [ebx + 0x14], 0xffffffff
je 0x49cbdd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x14], eax
cmp dword [ebx + 0x18], 0xffffffff
je 0x49cbec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x18], eax
cmp dword [ebx + 0x1c], 0xffffffff
je 0x49cbfb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x1c], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x49cc0c
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x49cc3f
cmp dword [ebx + 0x14], 0xffffffff
je 0x49cc1d
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x49cc3f
cmp dword [ebx + 0x18], 0xffffffff
je 0x49cc2e
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x49cc3f
cmp dword [ebx + 0x1c], 0xffffffff
je 0x49cc55
mov eax, dword [ebx + 0x1c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x49cc55
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049082c
mov eax, ebx
call fcn.00404098
jmp 0x49daec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov edx, ebx
call fcn.0048a274
jmp 0x49dadf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x49cc84
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
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 0x49cd5e
je 0x49ce40
dec eax
je 0x49ccbe
dec eax
je 0x49cf6a
jmp 0x49dadf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
jne 0x49ccd9
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
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 0x49cd02
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
mov dword [ebx + 0x14], 0xffffffff
cmp dword [ebx + 0x18], 0xffffffff
je 0x49cd24
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x49dadf
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.0048a2bc
cmp dword [ebp - 0x38], 0xffffffff
je 0x49cd50
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x49dadf
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x49dadf
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 0x49cd87
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
cmp dword [ebx + 0x10], 0xffffffff
je 0x49cda2
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
jmp 0x49dadf
cmp dword [ebx + 0x18], 0xffffffff
je 0x49cdbd
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x49dadf
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.0048a2bc
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x49ce1e
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 0x49dadf
cmp dword [ebp - 0x38], 0xffffffff
je 0x49ce32
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x49dadf
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x49dadf
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 0x49ce69
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x49cec6
cmp dword [ebx + 0x14], 0xffffffff
je 0x49cec6
cmp dword [ebx + 0x14], 0xfffffffe
je 0x49cec6
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 0x49dadf
cmp dword [ebx + 0x18], 0xffffffff
je 0x49cee1
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x49dadf
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.0048a2bc
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x49cf48
cmp dword [ebp - 0x2c], 0xffffffff
je 0x49cf48
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 0x49dadf
cmp dword [ebp - 0x38], 0xffffffff
je 0x49cf5c
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x49dadf
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x49dadf
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 0x49cf93
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
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.0048a2bc
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x49cff4
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 0x49dadf
cmp dword [ebp - 0x38], 0xffffffff
je 0x49d008
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x49dadf
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x49dadf
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.00499f3c
test al, al
je 0x49daec
cmp byte [ebp - 9], 0
je 0x49d04b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004a7418
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x49d063
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.00499f3c
test al, al
je 0x49daec
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x49d095
mov eax, dword [ebp - 0x11]
add eax, 4
mov edx, dword [eax]
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
call fcn.0048e8cc
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x49d13a
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
je 0x49d11d
mov eax, dword [ebp - 0x1a]
add eax, 4
mov eax, dword [eax]
call fcn.0048e8b0
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.00492190
test al, al
jne 0x49d198
cmp byte [ebp - 0x12], 0
je 0x49d10e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004a7418
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
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 0x49d198
mov eax, dword [ebp - 0x16]
call fcn.0048e8b0
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.00492190
test al, al
jne 0x49d198
cmp byte [ebp - 0x12], 0
je 0x49d189
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004a7418
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
cmp byte [ebp - 0x12], 0
je 0x49dadf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004a7418
jmp 0x49dadf
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00499f3c
test al, al
je 0x49daec
cmp byte [ebp - 9], 0
je 0x49d1e7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004a7418
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x49d1fe.0
movzx eax, byte [eax + 0x49d205]
jmp dword [eax*4 + 0x49d217]
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x49dadf
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x49dadf
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x49dadf
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x49dadf
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x49dadf
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x49dadf
mov eax, dword [ebp - 0x11]
sub dword [eax], 1
sbb dword [eax + 4], 0
jmp 0x49dadf
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00499f3c
test al, al
je 0x49daec
cmp byte [ebp - 9], 0
je 0x49d2c8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004a7418
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x49d2df.0
movzx eax, byte [eax + 0x49d2e6]
jmp dword [eax*4 + 0x49d2f8]
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x49dadf
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x49dadf
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x49dadf
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x49dadf
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x49dadf
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x49dadf
mov eax, dword [ebp - 0x11]
add dword [eax], 1
adc dword [eax + 4], 0
jmp 0x49dadf
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.00499f3c
test al, al
je 0x49daec
cmp byte [ebp - 9], 0
je 0x49d3a9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004a7418
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x49d3c1
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.00499f3c
test al, al
je 0x49daec
cmp byte [ebp - 0x12], 0
je 0x49d3f6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004a7418
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x49d41e
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 0x49dadf
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 0x49dadf
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00499f3c
test al, al
je 0x49daec
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0x15
je 0x49d474
cmp byte [ebp - 9], 0
je 0x49d465
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004a7418
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
cmp byte [ebp - 9], 0
je 0x49d48d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004a7418
cmp dword [ebp - 0x2c], 0
jne 0x49d4c7
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x49d4c7
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.004a5adc
test al, al
je 0x49daec
jmp 0x49dadf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x2c]
jbe 0x49d4e0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
cmp eax, dword [ebp - 0x2c]
jne 0x49d4ef
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
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 [0x48be58]
jne 0x49d6f4
xor eax, eax
push ebp
push 0x49d570
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 0x49d563
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x49d556
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.0049082c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x49daec
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x49dadf
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004a74c0
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 0x49dadf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x49d78d
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
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.00499f3c
test al, al
je 0x49daec
cmp byte [ebp - 0x1b], 0
je 0x49d877
mov eax, dword [ebp - 0x1f]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x49d7dc
and eax, 0x7f
bt dword [0x49db80], eax
jae 0x49d7e9
mov edx, dword [ebp - 0x1f]
mov eax, dword [ebp - 0x23]
call fcn.0048e61c
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 0x49d837
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0048a210
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 0x49d868
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004a7154
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0049082c
jmp 0x49daec
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00499f3c
test al, al
je 0x49daec
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00499f3c
test al, al
jne 0x49d957
cmp byte [ebp - 0x12], 0
je 0x49daec
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x49d8c2
and eax, 0x7f
bt dword [0x49db80], eax
jae 0x49d8cf
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.0048e61c
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 0x49d91d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0048a210
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 0x49daec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004a7154
jmp 0x49daec
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.004938e0
cmp byte [ebp - 9], 0
je 0x49da26
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x49d99a
and eax, 0x7f
bt dword [0x49db80], eax
jae 0x49d9a7
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.0048e61c
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 0x49d9f5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0048a210
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 0x49da26
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004a7154
cmp byte [ebp - 0x12], 0
je 0x49dadf
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x49da47
and eax, 0x7f
bt dword [0x49db80], eax
jae 0x49da54
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.0048e61c
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 0x49daa2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.0048a210
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 0x49dadf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004a7154
jmp 0x49dadf
mov dl, 5
mov eax, dword [ebp - 4]
call fcn.0049082c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x49b719
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x49db05
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x49b70d
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x49db4a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x49db2e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004a7418
dec esi
cmp esi, 0xffffffff
jne 0x49db1d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004a7180
mov eax, dword [ebp - 4]
cmp byte [eax + 0x11], 0
je 0x49db4a
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 0x49db76
lea eax, [ebp - 0x80]
mov edx, 0xa
call fcn.004052a0
ret