Function at 0x4a6560
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 0x4a8b23
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 0x4a65dc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x4a65d2
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 0x4a65b9
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 0x4a660d
sub al, 2
je 0x4a669a
jmp 0x4a66a3
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0xffffffff
jne 0x4a661d
xor ebx, ebx
jmp 0x4a8b08
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 [0x496e0c]
jne 0x4a6668
mov dl, 7
mov eax, dword [ebp - 4]
call fcn.0049b7e0
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 1
jmp 0x4a8b08
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 0x4a66aa
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x4a66aa
xor ebx, ebx
jmp 0x4a8b08
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.004a6540
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x4c], 2
jmp 0x4a8a93
cmp dword [ebp - 0x48], 0
je 0x4a66d9
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 0x4a66f6
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
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 0x4a675f
je 0x4a8328
cmp esi, 0xd
ja case.default.0x4a6776
jmp dword [esi*4 + 0x4a6727]
cmp esi, 0x15
jg 0x4a6795
je 0x4a788d
add esi, 0xfffffff1
cmp esi, 5
ja case.default.0x4a6776
jmp dword [esi*4 + 0x4a677d]
cmp esi, 0x19
jg 0x4a67bc
je 0x4a72a4
sub esi, 0x16
je 0x4a7fca
dec esi
je 0x4a8247
dec esi
je 0x4a8166
jmp case.default.0x4a6776
sub esi, 0x1a
je 0x4a72f8
sub esi, 0xe5
je 0x4a8a93
jmp case.default.0x4a6776
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004a4ef0
test al, al
je 0x4a8aa0
cmp byte [ebp - 9], 0
je 0x4a68a7
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4a680c
and eax, 0x7f
bt dword [0x4a8b34], eax
jae 0x4a6819
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.004995d0
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 0x4a6867
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004951c4
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 0x4a6898
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b2108
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004a4ef0
test al, al
je 0x4a8aa0
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.0049d8b8
test al, al
jne 0x4a6990
cmp byte [ebp - 0x12], 0
je 0x4a8aa0
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4a68fb
and eax, 0x7f
bt dword [0x4a8b34], eax
jae 0x4a6908
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.004995d0
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 0x4a6956
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004951c4
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 0x4a8aa0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b2108
jmp 0x4a8aa0
cmp byte [ebp - 0x12], 0
je 0x4a8a93
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4a69b1
and eax, 0x7f
bt dword [0x4a8b34], eax
jae 0x4a69be
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.004995d0
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 0x4a6a0c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004951c4
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 0x4a8a93
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b2108
jmp 0x4a8a93
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a6a63
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
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.004a4ef0
test al, al
je 0x4a8aa0
cmp byte [ebp - 9], 0
je 0x4a6b4d
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4a6ab2
and eax, 0x7f
bt dword [0x4a8b34], eax
jae 0x4a6abf
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.004995d0
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 0x4a6b0d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004951c4
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 0x4a6b3e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b2108
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004a4ef0
test al, al
je 0x4a8aa0
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.004a0de8
test al, al
jne 0x4a6c3a
cmp byte [ebp - 0x12], 0
je 0x4a8aa0
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4a6ba5
and eax, 0x7f
bt dword [0x4a8b34], eax
jae 0x4a6bb2
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.004995d0
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 0x4a6c00
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004951c4
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 0x4a8aa0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b2108
jmp 0x4a8aa0
cmp byte [ebp - 0x12], 0
je 0x4a8a93
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4a6c5b
and eax, 0x7f
bt dword [0x4a8b34], eax
jae 0x4a6c68
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.004995d0
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 0x4a6cb6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004951c4
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 0x4a8a93
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b2108
jmp 0x4a8a93
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004a4ef0
test al, al
je 0x4a8aa0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0x16]
call fcn.004b2474
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.0049d8b8
test al, al
jne 0x4a6dff
cmp byte [ebp - 0x12], 0
je 0x4a8aa0
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4a6d6a
and eax, 0x7f
bt dword [0x4a8b34], eax
jae 0x4a6d77
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.004995d0
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 0x4a6dc5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004951c4
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 0x4a8aa0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b2108
jmp 0x4a8aa0
cmp byte [ebp - 0x12], 0
je 0x4a8a93
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4a6e20
and eax, 0x7f
bt dword [0x4a8b34], eax
jae 0x4a6e2d
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.004995d0
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 0x4a6e7b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004951c4
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 0x4a8a93
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b2108
jmp 0x4a8a93
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004a4ef0
test al, al
je 0x4a8aa0
cmp byte [ebp - 0x12], 0
je 0x4a6eea
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b23cc
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
mov dl, 0xd
mov eax, dword [ebp - 4]
call fcn.004a612c
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004b2474
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x4a6f33
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 0x4a8a93
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 0x4a8a93
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
cmp dword [eax + 0xc], 0
jne 0x4a6f6d
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
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 0x4a6f97
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
cmp byte [eax + 0xc], 0
jne 0x4a6fa6
mov dl, 0xb
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004b23cc
jmp 0x4a8a93
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a6fd6
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
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 0x4a700e
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
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 [0x496e0c]
jne 0x4a7213
xor eax, eax
push ebp
push 0x4a708f
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 0x4a7082
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x4a7075
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.0049b7e0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a8aa0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a8a93
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004b2474
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 0x4a8a93
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004b23cc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a72cf
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
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 0x4a8a93
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004b23cc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004b23cc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a732e
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
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 0x4a8a93
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a7377
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
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 0x4a8a93
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a73c0
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
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.004a4ef0
test al, al
je 0x4a8aa0
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x4a7402.0
jmp dword [eax*4 + 0x4a7409]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x4a7493
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
setne byte [ebp - 0x41]
jmp 0x4a7493
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x4a7493
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
setne byte [ebp - 0x41]
jmp 0x4a7493
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x4a7493
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
setne byte [ebp - 0x41]
jmp 0x4a7493
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.0049b7e0
cmp byte [ebp - 0x12], 0
je 0x4a8aa0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b23cc
jmp 0x4a8aa0
cmp byte [ebp - 0x12], 0
je 0x4a74a4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b23cc
cmp byte [ebp - 0x41], 0
je 0x4a8a93
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x4a8a93
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a74dc
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
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.004a4ef0
test al, al
je 0x4a8aa0
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
cmp eax, 6
ja case.0x4a751e.0
jmp dword [eax*4 + 0x4a7525]
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x4a75af
mov eax, dword [ebp - 0x1a]
cmp byte [eax], 0
sete byte [ebp - 0x41]
jmp 0x4a75af
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x4a75af
mov eax, dword [ebp - 0x1a]
cmp word [eax], 0
sete byte [ebp - 0x41]
jmp 0x4a75af
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x4a75af
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
sete byte [ebp - 0x41]
jmp 0x4a75af
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.0049b7e0
cmp byte [ebp - 0x12], 0
je 0x4a8aa0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b23cc
jmp 0x4a8aa0
cmp byte [ebp - 0x12], 0
je 0x4a75c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b23cc
cmp byte [ebp - 0x41], 0
je 0x4a8a93
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x4a8a93
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 0x4a76e4
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 0x4a76c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebx + 0xc]
jbe 0x4a7645
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 0x4a7645
dec edx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004b23cc
inc dword [ebp - 0x4c]
jne 0x4a7635
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
mov dword [edx + 0x60], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x4a766d
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 0x4a76e4
cmp dword [ebx + 0x18], 0xffffffff
je 0x4a768c
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 0x4a76e4
mov eax, ebx
call fcn.00404098
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
call fcn.00495270
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x4a76e4
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 0x4a7612
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x60]
jbe 0x4a76e4
cmp dword [ebx + 8], 0xffffffff
jne 0x4a7612
cmp dword [ebp - 0x30], 0
jne 0x4a8a93
mov dword [ebp - 0x38], 0xffffffff
mov eax, dword [ebp - 4]
cmp dword [eax + 0x60], 0xffffffff
jne 0x4a770d
mov eax, dword [ebp - 4]
movzx edx, byte [ebp - 0x39]
mov byte [eax + 0x4c], dl
jmp 0x4a8aa0
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 0x4a7736
dec edx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004b23cc
inc dword [ebp - 0x4c]
jne 0x4a7726
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 0x4a7756
mov eax, dword [ebp - 4]
movzx edx, byte [ebp - 0x39]
mov byte [eax + 0x4c], dl
jmp 0x4a8aa0
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.004b23cc
mov eax, dword [ebp - 4]
cmp dword [eax + 0x50], 0
jne 0x4a77b2
mov eax, dword [ebp - 4]
movzx edx, byte [ebp - 0x39]
mov byte [eax + 0x4c], dl
jmp 0x4a8aa0
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 0x4a8a93
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a77f5
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
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 0x4a782d
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
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.004b2474
jmp 0x4a8a93
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004a4ef0
test al, al
je 0x4a8aa0
cmp byte [ebp - 9], 0
je 0x4a7872
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b23cc
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.004a5b28
test al, al
je 0x4a8aa0
jmp 0x4a8a93
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004a4ef0
test al, al
je 0x4a8aa0
cmp byte [ebp - 9], 0
je 0x4a78b3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b23cc
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.004a6430
test al, al
je 0x4a8aa0
jmp 0x4a8a93
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004a4ef0
test al, al
je 0x4a8aa0
cmp byte [ebp - 9], 0
je 0x4a78f4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b23cc
mov ecx, dword [ebp - 0xd]
mov edx, dword [ebp - 0x11]
mov eax, dword [ebp - 4]
call fcn.004a59c8
test al, al
je 0x4a8aa0
jmp 0x4a8a93
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004a4ef0
test al, al
je 0x4a8aa0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a7956
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049b7e0
cmp byte [ebp - 9], 0
je 0x4a8aa0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b23cc
jmp 0x4a8aa0
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.0x4a797f.0
jmp dword [eax*4 + 0x4a7986]
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x4a7a2e
mov eax, dword [ebp - 0x11]
cmp byte [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x4a7a2e
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x4a7a2e
mov eax, dword [ebp - 0x11]
cmp word [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x4a7a2e
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x4a7a2e
mov eax, dword [ebp - 0x11]
cmp dword [eax], 0
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0x10], al
jmp 0x4a7a2e
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.0049b7e0
cmp byte [ebp - 9], 0
je 0x4a8aa0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b23cc
jmp 0x4a8aa0
cmp dword [ebp - 0x2c], 0
je 0x4a7a43
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 0x4a8a93
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b23cc
jmp 0x4a8a93
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add eax, 3
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a7a7d
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
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 0x4a8a93
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
add dword [eax + 0x5c], edx
jmp 0x4a8a93
mov dl, 1
mov eax, dword [0x49776c]
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.004a5cd4
test al, al
jne 0x4a7b04
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049b7e0
mov eax, ebx
call fcn.00404098
jmp 0x4a8aa0
lea edx, [ebx + 0x14]
mov eax, dword [ebp - 4]
call fcn.004a5cd4
test al, al
jne 0x4a7b29
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049b7e0
mov eax, ebx
call fcn.00404098
jmp 0x4a8aa0
lea edx, [ebx + 0x18]
mov eax, dword [ebp - 4]
call fcn.004a5cd4
test al, al
jne 0x4a7b4e
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049b7e0
mov eax, ebx
call fcn.00404098
jmp 0x4a8aa0
lea edx, [ebx + 0x1c]
mov eax, dword [ebp - 4]
call fcn.004a5cd4
test al, al
jne 0x4a7b73
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049b7e0
mov eax, ebx
call fcn.00404098
jmp 0x4a8aa0
cmp dword [ebx + 0x10], 0xffffffff
je 0x4a7b82
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x10], eax
cmp dword [ebx + 0x14], 0xffffffff
je 0x4a7b91
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x14], eax
cmp dword [ebx + 0x18], 0xffffffff
je 0x4a7ba0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x18], eax
cmp dword [ebx + 0x1c], 0xffffffff
je 0x4a7baf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
add dword [ebx + 0x1c], eax
cmp dword [ebx + 0x10], 0xffffffff
je 0x4a7bc0
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x4a7bf3
cmp dword [ebx + 0x14], 0xffffffff
je 0x4a7bd1
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x4a7bf3
cmp dword [ebx + 0x18], 0xffffffff
je 0x4a7be2
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jae 0x4a7bf3
cmp dword [ebx + 0x1c], 0xffffffff
je 0x4a7c09
mov eax, dword [ebx + 0x1c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a7c09
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049b7e0
mov eax, ebx
call fcn.00404098
jmp 0x4a8aa0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov edx, ebx
call fcn.00495228
jmp 0x4a8a93
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a7c38
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
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 0x4a7d12
je 0x4a7df4
dec eax
je 0x4a7c72
dec eax
je 0x4a7f1e
jmp 0x4a8a93
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
jne 0x4a7c8d
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
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 0x4a7cb6
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
mov dword [ebx + 0x14], 0xffffffff
cmp dword [ebx + 0x18], 0xffffffff
je 0x4a7cd8
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x4a8a93
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.00495270
cmp dword [ebp - 0x38], 0xffffffff
je 0x4a7d04
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x4a8a93
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x4a8a93
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 0x4a7d3b
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
cmp dword [ebx + 0x10], 0xffffffff
je 0x4a7d56
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x10], 0xffffffff
jmp 0x4a8a93
cmp dword [ebx + 0x18], 0xffffffff
je 0x4a7d71
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x14], 0xffffffff
jmp 0x4a8a93
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.00495270
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x4a7dd2
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 0x4a8a93
cmp dword [ebp - 0x38], 0xffffffff
je 0x4a7de6
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x4a8a93
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x4a8a93
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 0x4a7e1d
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x4a7e7a
cmp dword [ebx + 0x14], 0xffffffff
je 0x4a7e7a
cmp dword [ebx + 0x14], 0xfffffffe
je 0x4a7e7a
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 0x4a8a93
cmp dword [ebx + 0x18], 0xffffffff
je 0x4a7e95
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 4]
mov dword [edx + 0x5c], eax
mov dword [ebx + 0x18], 0xffffffff
jmp 0x4a8a93
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.00495270
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x4a7efc
cmp dword [ebp - 0x2c], 0xffffffff
je 0x4a7efc
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 0x4a8a93
cmp dword [ebp - 0x38], 0xffffffff
je 0x4a7f10
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x4a8a93
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x4a8a93
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 0x4a7f47
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
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.00495270
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
je 0x4a7fa8
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 0x4a8a93
cmp dword [ebp - 0x38], 0xffffffff
je 0x4a7fbc
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x5c], edx
jmp 0x4a8a93
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
jmp 0x4a8a93
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004a4ef0
test al, al
je 0x4a8aa0
cmp byte [ebp - 9], 0
je 0x4a7fff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b23cc
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x4a8017
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004a4ef0
test al, al
je 0x4a8aa0
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x4a8049
mov eax, dword [ebp - 0x11]
add eax, 4
mov edx, dword [eax]
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
call fcn.00499880
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x4a80ee
mov eax, dword [ebp - 0x1a]
cmp dword [eax], 0
je 0x4a80d1
mov eax, dword [ebp - 0x1a]
add eax, 4
mov eax, dword [eax]
call fcn.00499864
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.0049d144
test al, al
jne 0x4a814c
cmp byte [ebp - 0x12], 0
je 0x4a80c2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b23cc
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
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 0x4a814c
mov eax, dword [ebp - 0x16]
call fcn.00499864
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.0049d144
test al, al
jne 0x4a814c
cmp byte [ebp - 0x12], 0
je 0x4a813d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b23cc
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
cmp byte [ebp - 0x12], 0
je 0x4a8a93
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b23cc
jmp 0x4a8a93
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004a4ef0
test al, al
je 0x4a8aa0
cmp byte [ebp - 9], 0
je 0x4a819b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b23cc
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x4a81b2.0
movzx eax, byte [eax + 0x4a81b9]
jmp dword [eax*4 + 0x4a81cb]
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x4a8a93
mov eax, dword [ebp - 0x11]
dec byte [eax]
jmp 0x4a8a93
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x4a8a93
mov eax, dword [ebp - 0x11]
dec word [eax]
jmp 0x4a8a93
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x4a8a93
mov eax, dword [ebp - 0x11]
dec dword [eax]
jmp 0x4a8a93
mov eax, dword [ebp - 0x11]
sub dword [eax], 1
sbb dword [eax + 4], 0
jmp 0x4a8a93
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004a4ef0
test al, al
je 0x4a8aa0
cmp byte [ebp - 9], 0
je 0x4a827c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b23cc
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
cmp eax, 0x11
ja case.0x4a8293.0
movzx eax, byte [eax + 0x4a829a]
jmp dword [eax*4 + 0x4a82ac]
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x4a8a93
mov eax, dword [ebp - 0x11]
inc byte [eax]
jmp 0x4a8a93
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x4a8a93
mov eax, dword [ebp - 0x11]
inc word [eax]
jmp 0x4a8a93
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x4a8a93
mov eax, dword [ebp - 0x11]
inc dword [eax]
jmp 0x4a8a93
mov eax, dword [ebp - 0x11]
add dword [eax], 1
adc dword [eax + 4], 0
jmp 0x4a8a93
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
lea edx, [ebp - 0x11]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004a4ef0
test al, al
je 0x4a8aa0
cmp byte [ebp - 9], 0
je 0x4a835d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b23cc
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0xd
je 0x4a8375
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
lea edx, [ebp - 0x1a]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004a4ef0
test al, al
je 0x4a8aa0
cmp byte [ebp - 0x12], 0
je 0x4a83aa
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b23cc
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
mov eax, dword [ebp - 0x16]
cmp byte [eax + 0xc], 0xd
jne 0x4a83d2
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 0x4a8a93
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 0x4a8a93
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004a4ef0
test al, al
je 0x4a8aa0
mov eax, dword [ebp - 0xd]
cmp byte [eax + 0xc], 0x15
je 0x4a8428
cmp byte [ebp - 9], 0
je 0x4a8419
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b23cc
mov dl, 0xc
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
mov eax, dword [ebp - 0x11]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
cmp byte [ebp - 9], 0
je 0x4a8441
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b23cc
cmp dword [ebp - 0x2c], 0
jne 0x4a847b
mov eax, dword [ebp - 0x11]
add eax, 8
cmp dword [eax], 0
je 0x4a847b
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.004b0a90
test al, al
je 0x4a8aa0
jmp 0x4a8a93
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x2c]
jbe 0x4a8494
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
cmp eax, dword [ebp - 0x2c]
jne 0x4a84a3
mov dl, 9
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
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 [0x496e0c]
jne 0x4a86a8
xor eax, eax
push ebp
push 0x4a8524
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 0x4a8517
mov eax, dword [ebp - 4]
cmp byte [eax + 0x7c], 0
jne 0x4a850a
mov dl, 0x11
mov eax, dword [ebp - 4]
call fcn.0049b7e0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a8aa0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a8a93
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004b2474
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 0x4a8a93
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x58]
jb 0x4a8741
mov dl, 0xa
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
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.004a4ef0
test al, al
je 0x4a8aa0
cmp byte [ebp - 0x1b], 0
je 0x4a882b
mov eax, dword [ebp - 0x1f]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4a8790
and eax, 0x7f
bt dword [0x4a8b34], eax
jae 0x4a879d
mov edx, dword [ebp - 0x1f]
mov eax, dword [ebp - 0x23]
call fcn.004995d0
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 0x4a87eb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004951c4
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 0x4a881c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b2108
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0049b7e0
jmp 0x4a8aa0
lea edx, [ebp - 0x1a]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004a4ef0
test al, al
je 0x4a8aa0
lea edx, [ebp - 0x11]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.004a4ef0
test al, al
jne 0x4a890b
cmp byte [ebp - 0x12], 0
je 0x4a8aa0
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4a8876
and eax, 0x7f
bt dword [0x4a8b34], eax
jae 0x4a8883
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.004995d0
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 0x4a88d1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004951c4
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 0x4a8aa0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b2108
jmp 0x4a8aa0
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.0049e894
cmp byte [ebp - 9], 0
je 0x4a89da
mov eax, dword [ebp - 0xd]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4a894e
and eax, 0x7f
bt dword [0x4a8b34], eax
jae 0x4a895b
mov edx, dword [ebp - 0xd]
mov eax, dword [ebp - 0x11]
call fcn.004995d0
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 0x4a89a9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004951c4
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 0x4a89da
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b2108
cmp byte [ebp - 0x12], 0
je 0x4a8a93
mov eax, dword [ebp - 0x16]
movzx eax, byte [eax + 0xc]
add al, 0xf8
cmp al, 0x1f
ja 0x4a89fb
and eax, 0x7f
bt dword [0x4a8b34], eax
jae 0x4a8a08
mov edx, dword [ebp - 0x16]
mov eax, dword [ebp - 0x1a]
call fcn.004995d0
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 0x4a8a56
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004951c4
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 0x4a8a93
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
call fcn.004b2108
jmp 0x4a8a93
mov dl, 5
mov eax, dword [ebp - 4]
call fcn.0049b7e0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x4a66cd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
cmp dword [eax + 0xc], 0
je 0x4a8ab9
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 2
je 0x4a66c1
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4c], 1
jne 0x4a8afe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + 0xc]
dec esi
cmp esi, 0
jl 0x4a8ae2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004b23cc
dec esi
cmp esi, 0xffffffff
jne 0x4a8ad1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.004b2134
mov eax, dword [ebp - 4]
cmp byte [eax + 0x11], 0
je 0x4a8afe
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 0x4a8b2a
lea eax, [ebp - 0x80]
mov edx, 0xa
call fcn.004052a0
ret