Function at 0x460840
Capabilities:
Allocate thread local storage

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x4c
mov dword [esp], 0
call sub.KERNEL32.dll_GetModuleHandleW
sub esp, 4
mov dword [0x69416c], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x1000
mov dword [esp], 0
call sub.KERNEL32.dll_HeapCreate
sub esp, 0xc
mov dword [0x694170], eax
call fcn.004c0b54
mov dword [0x694168], 0x685240
call fcn.00523680
call fcn.0052267a
call fcn.00522470
call fcn.005206d0
call fcn.0051e4da
call fcn.0051dbf0
call fcn.0051d4c1
call fcn.0051cb36
call fcn.0051c2ca
call fcn.00513780
call fcn.00512cd3
call fcn.0051286e
call fcn.0051248f
call fcn.00511bef
call fcn.00510e30
call fcn.0050fea2
call fcn.0050fd32
call fcn.0050e34f
call fcn.0050da87
call fcn.0050a893
call fcn.00504f3b
call fcn.00504de9
call fcn.00502211
call fcn.00501fa4
call fcn.00500d4a
call fcn.00500739
call fcn.004e5190
call fcn.004e4f38
call fcn.004e41bf
call fcn.004e3e87
call fcn.004e3d8e
mov dword [esp + 0x10], 0x6939d8
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x15
mov dword [esp + 4], 0x100
mov dword [esp], 4
call fcn.00512cfc
sub esp, 0x14
mov dword [esp + 0x10], 0x693988
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x15
mov dword [esp + 4], 0x1f
mov dword [esp], 4
call fcn.00512cfc
sub esp, 0x14
call fcn.00418140
call fcn.00418f90
mov dword [esp], 0xbb8
call fcn.00522160
sub esp, 4
mov dword [0x693e6c], eax
mov dword [esp], 0x3e80
call fcn.00522160
sub esp, 4
mov dword [0x693fbc], eax
mov dword [esp + 0x10], 0x694104
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x15
mov dword [esp + 4], 0x11
mov dword [esp], 4
call fcn.00512cfc
sub esp, 0x14
mov dword [esp + 0x10], 0x694100
mov dword [esp + 0xc], 0
mov dword [esp + 8], 9
mov dword [esp + 4], 0x11
mov dword [esp], 4
call fcn.00512cfc
sub esp, 0x14
mov dword [esp + 0x10], 0x6940fc
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x15
mov dword [esp + 4], 0x13
mov dword [esp], 4
call fcn.00512cfc
sub esp, 0x14
mov dword [0x693e50], 1
mov eax, dword [0x694104]
mov dword [eax], 0xff
mov eax, dword [0x694104]
mov dword [eax + 4], 0xf
mov dword [eax + 8], 0xff
mov dword [eax + 0xc], 0xf
mov dword [eax + 0x10], 0xff
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x18], 0x1f
mov dword [eax + 0x1c], 0xff
mov dword [eax + 0x20], 0x1f
mov dword [eax + 0x24], 0x1f
mov dword [eax + 0x28], 0x1f
mov dword [eax + 0x2c], 0xff
mov dword [eax + 0x30], 0xff
mov dword [eax + 0x34], 0xf
mov dword [eax + 0x38], 0xff
mov dword [eax + 0x3c], 0xff
mov eax, dword [0x694100]
mov dword [eax], 0
mov eax, dword [0x694100]
mov dword [eax + 4], 0x3c6075f7
mov dword [eax + 8], 0x3ca7ef9e
mov dword [eax + 0xc], 0x3cee6320
mov dword [eax + 0x10], 0x3d2d42c4
mov dword [eax + 0x14], 0x3d7d21ff
mov dword [eax + 0x18], 0x3dad7732
mov dword [eax + 0x1c], 0x3e0c2f83
mov dword [eax + 0x20], 0x3e2d288d
mov dword [eax + 0x24], 0x3e8786c2
mov dword [eax + 0x28], 0x3eb49518
mov dword [eax + 0x2c], 0x3ee6594b
mov dword [eax + 0x30], 0x3f1205bc
mov dword [eax + 0x34], 0x3f2ff2e5
mov dword [eax + 0x38], 0x3f5923a3
mov dword [eax + 0x3c], 0x3f800000
mov dword [esp + 0x10], 0x6940f8
mov dword [esp + 0xc], 0
mov dword [esp + 8], 7
mov dword [esp + 4], 2
mov dword [esp], 8
call fcn.00512cfc
sub esp, 0x14
mov dword [0x693c9c], 2
mov dword [0x6940a8], 1
mov dword [esp], 0x100
call fcn.00522160
sub esp, 4
mov dword [0x693d34], eax
mov dword [esp], 0x100
call fcn.00522160
sub esp, 4
mov dword [0x693ecc], eax
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp], eax
call fcn.005100ad
sub esp, 4
mov dword [esp], str.wd1793.dll
call fcn.00523370
sub esp, 4
call fcn.005233c0
call fcn.005232b0
mov dword [esp + 4], eax
mov dword [esp], 0xffffffff
call fcn.00502285
sub esp, 8
mov ebx, eax
call fcn.00523250
mov dword [0x693e88], ebx
call fcn.004195b0
mov dword [0x6940f0], 5
mov dword [0x6940f4], 0x4001
mov dword [esp + 0x10], 0x6940ec
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x18
mov dword [esp + 4], 1
mov dword [esp], 2
call fcn.00512d98
sub esp, 0x14
mov dword [0x6940e4], 8
mov dword [0x6940e8], 0x4001
mov dword [esp + 0x10], 0x6940e0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x18
mov dword [esp + 4], 1
mov dword [esp], 2
call fcn.00512d98
sub esp, 0x14
mov dword [0x693c48], 0
mov dword [0x693afc], 0
mov dword [0x693c44], 5
mov dword [0x693dfc], 2
mov dword [0x693f68], 0
mov dword [0x694048], 5
mov dword [0x693c84], 0
mov dword [0x693e94], 1
mov dword [esp + 0x10], 0x6940d0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x15
mov dword [esp + 4], 0x300d
mov dword [esp], 4
call fcn.00512cfc
sub esp, 0x14
mov dword [esp + 0x10], 0x6940cc
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x15
mov dword [esp + 4], 0x25d79
mov dword [esp], 4
call fcn.00512cfc
sub esp, 0x14
mov dword [esp + 0x10], 0x6940c8
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x15
mov dword [esp + 4], 1
mov dword [esp], 4
call fcn.00512cfc
sub esp, 0x14
call fcn.004197a0
call fcn.0041a3d0
call fcn.00446cf0
mov dword [esp], 0x457d70
call fcn.0050eaee
sub esp, 4
mov dword [esp + 4], 1
mov eax, dword [0x693e6c]
mov dword [esp], eax
call fcn.00521fc0
sub esp, 8
mov dword [esp + 4], 2
mov eax, dword [0x693e6c]
add eax, 2
mov dword [esp], eax
call fcn.00521fc0
sub esp, 8
mov dword [esp + 4], 0x6e8c
mov eax, dword [0x693e6c]
add eax, 4
mov dword [esp], eax
call fcn.00522490
sub esp, 8
mov dword [esp + 4], 0x1ba30
mov eax, dword [0x693e6c]
add eax, 8
mov dword [esp], eax
call fcn.00522490
sub esp, 8
mov dword [esp + 4], 4
mov eax, dword [0x693e6c]
add eax, 0xc
mov dword [esp], eax
call fcn.00521fc0
sub esp, 8
mov dword [esp + 4], 0x10
mov eax, dword [0x693e6c]
add eax, 0xe
mov dword [esp], eax
call fcn.00521fc0
sub esp, 8
call fcn.004598d0
mov dword [esp + 4], 0
mov dword [esp], 0x415510
call fcn.004e3da2
sub esp, 8
mov dword [0x693c4c], eax
jmp 0x4be673
movzx eax, word [0x693f80]
cmp word [0x693cd8], ax
je 0x4be790
cmp byte [0x693bee], 0
jne 0x460f30
mov eax, dword [0x693e04]
add eax, 1
mov dword [0x693e04], eax
cmp eax, 1
jle 0x4be790
call fcn.005232e0
call fcn.005232e0
movzx eax, word [0x693f80]
sub eax, 1
mov esi, eax
mov edi, eax
sar edi, 0x1f
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
mov dword [esp], 0x684ff0
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
mov eax, dword [0x693e64]
mov esi, eax
mov edi, eax
sar edi, 0x1f
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.00523210
call fcn.00523210
mov dword [esp + 4], eax
mov edx, dword [0x693bf8]
mov eax, dword [0x694110]
lea eax, [eax + edx*4]
mov dword [esp], eax
call fcn.00523300
sub esp, 8
add dword [0x693bf8], 1
jmp 0x4be790
call fcn.005232e0
call fcn.005232e0
movzx eax, word [0x693f80]
mov esi, eax
xor edi, edi
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
mov dword [esp], 0x684ff0
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
mov eax, dword [0x693e64]
mov esi, eax
mov edi, eax
sar edi, 0x1f
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.00523210
call fcn.00523210
mov dword [esp + 4], eax
mov edx, dword [0x693bf8]
mov eax, dword [0x694110]
lea eax, [eax + edx*4]
mov dword [esp], eax
call fcn.00523300
sub esp, 8
mov eax, dword [0x693bf8]
add eax, 1
mov dword [0x693bf8], eax
mov dword [0x693e04], 0
cmp eax, 0xa
jne 0x4be790
mov dword [0x693fb4], 0
mov dword [0x693ec8], 1
mov dword [esp + 4], 0
mov dword [esp], 0x401f30
call fcn.004e3da2
sub esp, 8
mov dword [0x6940b8], eax
jmp 0x4be790
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
sub esp, 8
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4610db
cmp dword [0x693b44], 4
jle 0x461090
cmp bx, 0x4000
jbe 0x4610c2
cmp bx, 0x8000
jbe 0x46109c
cmp bx, 0xc000
jbe 0x4610c2
test byte [0x693f68], 1
je 0x4610c2
jmp 0x46109c
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4610c2
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
sub esp, 4
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x461020
mov dword [esp], 4
call fcn.00416240
sub esp, 4
mov byte [0x693bee], 1
mov eax, dword [0x6940a0]
test eax, eax
je 0x461138
mov ebp, dword [0x693c90]
test ebp, ebp
jne 0x4bbf40
mov ebx, dword [0x693e00]
test ebx, ebx
jne 0x4bbff8
mov eax, dword [0x693fe4]
cmp dword [0x693e64], eax
jle 0x461138
call fcn.0041e6f0
mov dword [0x6940a0], eax
add eax, dword [0x693e64]
mov dword [0x693fe4], eax
mov eax, dword [0x693b44]
cmp eax, 6
je 0x4bc030
mov edx, dword [0x693ebc]
test edx, edx
je 0x4bc0d8
movzx edx, word [0x693f80]
cmp dx, 0x3fff
jbe 0x4bc0b8
mov edi, dword [0x693e40]
test edi, edi
jne 0x4bc0d8
mov edx, dword [0x694034]
cmp edx, 1
je 0x4bc0a8
test edx, edx
jne 0x4bc0d8
mov dword [0x693c48], 0
cmp eax, 4
jle 0x4bc0d8
mov dword [0x694034], 1
jmp 0x4bc0d8
cmp byte [0x693f40], 0
jne 0x461212
movzx eax, bx
sub eax, 1
cmp dword [0x693b44], 4
jle 0x4611e4
test ah, 0xc0
je 0x4611cf
test ah, 0x80
je 0x4611ee
movzx eax, ax
cmp eax, 0xbfff
jle 0x461212
test byte [0x693f68], 1
je 0x461212
jmp 0x4611ee
test ah, 0xc0
je 0x461212
test ah, 0x80
jne 0x461212
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x461264
mov dword [esp], 4
call fcn.00416240
push edx
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4612a3
cmp ax, 0x3fff
jbe 0x4612d1
test ax, ax
jns 0x4612ad
cmp ax, 0xbfff
jbe 0x4612d1
test byte [0x693f68], 1
je 0x4612d1
jmp 0x4612ad
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x461227
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4612d1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov byte [0x693bee], 1
sub word [0x693f80], 1
mov byte [0x693f40], 1
jmp case.0x4be7fa.0
cmp dword [0x693b44], 4
jle 0x461315
cmp bx, 0x4000
jbe 0x461345
cmp bx, 0x8000
jbe 0x461321
cmp bx, 0xc000
jbe 0x461345
test byte [0x693f68], 1
je 0x461345
jmp 0x461321
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x461345
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x461397
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4613d6
cmp ax, 0x3fff
jbe 0x461404
test ax, ax
jns 0x4613e0
cmp ax, 0xbfff
jbe 0x461404
test byte [0x693f68], 1
je 0x461404
jmp 0x4613e0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46135a
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x461404
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46145b
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x46149d
cmp ax, 0x3ffe
jbe 0x4614cb
cmp ax, 0x7ffe
jbe 0x4614a7
add ax, 0x4001
cmp ax, 0x3fff
ja 0x4614cb
test byte [0x693f68], 1
je 0x4614cb
jmp 0x4614a7
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x461419
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x4614cb
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x461533
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov byte [0x693f25], al
lea eax, [ebx + 1]
mov word [0x693f80], ax
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ecx
mov byte [0x693f26], al
lea eax, [ebx + 2]
mov word [0x693f80], ax
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4614e0
cmp dword [0x693b44], 4
jle 0x46159e
cmp bx, 0x4000
jbe 0x4615ce
cmp bx, 0x8000
jbe 0x4615aa
cmp bx, 0xc000
jbe 0x4615ce
test byte [0x693f68], 1
je 0x4615ce
jmp 0x4615aa
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4615ce
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x461620
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x46165f
cmp ax, 0x3fff
jbe 0x46168d
test ax, ax
jns 0x461669
cmp ax, 0xbfff
jbe 0x46168d
test byte [0x693f68], 1
je 0x46168d
jmp 0x461669
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4615e3
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x46168d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4616e4
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x461726
cmp ax, 0x3ffe
jbe 0x461754
cmp ax, 0x7ffe
jbe 0x461730
add ax, 0x4001
cmp ax, 0x3fff
ja 0x461754
test byte [0x693f68], 1
je 0x461754
jmp 0x461730
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4616a2
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x461754
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4617bc
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov byte [0x693f1c], al
lea eax, [ebx + 1]
mov word [0x693f80], ax
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ecx
mov byte [0x693f24], al
lea eax, [ebx + 2]
mov word [0x693f80], ax
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x461769
cmp byte [0x693bee], 0
jne 0x461854
cmp byte [0x693bbc], 0
je 0x461ad6
cmp dword [0x693b44], 4
jle 0x461b7c
cmp bx, 0x4000
jbe 0x461bac
cmp bx, 0x8000
jbe 0x461b88
cmp bx, 0xc000
jbe 0x461bac
test byte [0x693f68], 1
je 0x461bac
jmp 0x461b88
cmp dword [0x693b44], 4
jle 0x46187d
cmp bx, 0x4000
jbe 0x4618ad
cmp bx, 0x8000
jbe 0x461889
cmp bx, 0xc000
jbe 0x4618ad
test byte [0x693f68], 1
je 0x4618ad
jmp 0x461889
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4618ad
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4618ff
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x46193e
cmp ax, 0x3fff
jbe 0x46196c
test ax, ax
jns 0x461948
cmp ax, 0xbfff
jbe 0x46196c
test byte [0x693f68], 1
je 0x46196c
jmp 0x461948
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4618c2
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x46196c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4619c3
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x461a05
cmp ax, 0x3ffe
jbe 0x461a33
cmp ax, 0x7ffe
jbe 0x461a0f
add ax, 0x4001
cmp ax, 0x3fff
ja 0x461a33
test byte [0x693f68], 1
je 0x461a33
jmp 0x461a0f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x461981
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x461a33
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x461a94
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov byte [0x693f01], al
lea eax, [ebx + 1]
mov word [0x693f80], ax
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ecx
mov byte [0x693f11], al
lea eax, [ebx + 2]
mov word [0x693f80], ax
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x461a48
cmp dword [0x693b44], 4
jg 0x461dd5
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x461b13
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x461e08
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x461e4a
cmp ax, 0x3fff
jbe 0x461e78
test ax, ax
jns 0x461e54
cmp ax, 0xbfff
jbe 0x461e78
test byte [0x693f68], 1
je 0x461e78
jmp 0x461e54
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x461bac
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x461bfe
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x461c3d
cmp ax, 0x3fff
jbe 0x461c6b
test ax, ax
jns 0x461c47
cmp ax, 0xbfff
jbe 0x461c6b
test byte [0x693f68], 1
je 0x461c6b
jmp 0x461c47
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x461bc1
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x461c6b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x461cc2
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x461d04
cmp ax, 0x3ffe
jbe 0x461d32
cmp ax, 0x7ffe
jbe 0x461d0e
add ax, 0x4001
cmp ax, 0x3fff
ja 0x461d32
test byte [0x693f68], 1
je 0x461d32
jmp 0x461d0e
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x461c80
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x461d32
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x461d93
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov byte [0x693c00], al
lea eax, [ebx + 1]
mov word [0x693f80], ax
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ecx
mov byte [0x693c08], al
lea eax, [ebx + 2]
mov word [0x693f80], ax
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x461d47
cmp bx, 0x4000
jbe 0x461b13
cmp bx, 0x8000
jbe 0x461aef
cmp bx, 0xc000
jbe 0x461b13
test byte [0x693f68], 1
je 0x461b13
jmp 0x461aef
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x461b2c
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x461e78
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x461ecf
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x461f11
cmp ax, 0x3ffe
jbe 0x461f3f
cmp ax, 0x7ffe
jbe 0x461f1b
add ax, 0x4001
cmp ax, 0x3fff
ja 0x461f3f
test byte [0x693f68], 1
je 0x461f3f
jmp 0x461f1b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x461e8d
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x461f3f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x461fa0
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov byte [0x693c5d], al
lea eax, [ebx + 1]
mov word [0x693f80], ax
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ecx
mov byte [0x693c5e], al
lea eax, [ebx + 2]
mov word [0x693f80], ax
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x461f54
cmp dword [0x693b44], 4
jle 0x46200b
cmp bx, 0x4000
jbe 0x46203b
cmp bx, 0x8000
jbe 0x462017
cmp bx, 0xc000
jbe 0x46203b
test byte [0x693f68], 1
je 0x46203b
jmp 0x462017
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46203b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46208d
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4620cc
cmp ax, 0x3fff
jbe 0x4620fa
test ax, ax
jns 0x4620d6
cmp ax, 0xbfff
jbe 0x4620fa
test byte [0x693f68], 1
je 0x4620fa
jmp 0x4620d6
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x462050
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4620fa
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x462151
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x462193
cmp ax, 0x3ffe
jbe 0x4621c1
cmp ax, 0x7ffe
jbe 0x46219d
add ax, 0x4001
cmp ax, 0x3fff
ja 0x4621c1
test byte [0x693f68], 1
je 0x4621c1
jmp 0x46219d
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46210f
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x4621c1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x462232
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov esi, eax
mov word [0x693e70], ax
lea eax, [ebx + 1]
mov word [0x693f80], ax
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ecx
shl eax, 8
or eax, esi
mov word [0x693e70], ax
lea eax, [ebx + 2]
mov word [0x693f80], ax
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4621d6
cmp dword [0x693b44], 4
jle 0x46229d
cmp bx, 0x4000
jbe 0x4622cd
cmp bx, 0x8000
jbe 0x4622a9
cmp bx, 0xc000
jbe 0x4622cd
test byte [0x693f68], 1
je 0x4622cd
jmp 0x4622a9
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4622cd
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x462331
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f26]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f25]
or eax, edx
cmp dword [0x693b44], 4
jle 0x462373
cmp eax, 0x3fff
jle 0x4623a3
cmp eax, 0x7fff
jle 0x46237f
cmp eax, 0xbfff
jle 0x4623a3
test byte [0x693f68], 1
je 0x4623a3
jmp 0x46237f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4622e2
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4623a3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x462440
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, byte [0x693f26]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f25]
or eax, edx
mov word [0x693efe], ax
movzx edx, byte [0x693f2a]
mov dword [esp + 4], edx
movzx eax, ax
mov dword [esp], eax
call fcn.004015c0
push esi
push esi
movzx eax, word [0x693efe]
cmp eax, dword [0x693fd4]
jne 0x462415
mov dword [0x693bf0], 0x1a90
mov byte [0x693bee], 1
movzx eax, byte [0x693f25]
add eax, 1
movzx eax, al
movzx edx, byte [0x693f2a]
shl edx, 8
or eax, edx
mov word [0x69407c], ax
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4623bc
cmp dword [0x693b44], 4
jle 0x4624ab
cmp bx, 0x4000
jbe 0x4624db
cmp bx, 0x8000
jbe 0x4624b7
cmp bx, 0xc000
jbe 0x4624db
test byte [0x693f68], 1
je 0x4624db
jmp 0x4624b7
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4624db
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46253f
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f24]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f1c]
or eax, edx
cmp dword [0x693b44], 4
jle 0x462581
cmp eax, 0x3fff
jle 0x4625b1
cmp eax, 0x7fff
jle 0x46258d
cmp eax, 0xbfff
jle 0x4625b1
test byte [0x693f68], 1
je 0x4625b1
jmp 0x46258d
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4624f0
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4625b1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46264e
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f24]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f1c]
or eax, edx
mov word [0x693efe], ax
movzx edx, byte [0x693f2a]
mov dword [esp + 4], edx
movzx eax, ax
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x693efe]
cmp eax, dword [0x693fd4]
jne 0x462623
mov dword [0x693bf0], 0x1a90
mov byte [0x693bee], 1
movzx eax, byte [0x693f1c]
add eax, 1
movzx eax, al
movzx edx, byte [0x693f2a]
shl edx, 8
or eax, edx
mov word [0x69407c], ax
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4625ca
cmp dword [0x693b44], 4
jle 0x4626b9
cmp bx, 0x4000
jbe 0x4626e9
cmp bx, 0x8000
jbe 0x4626c5
cmp bx, 0xc000
jbe 0x4626e9
test byte [0x693f68], 1
je 0x4626e9
jmp 0x4626c5
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4626e9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46274d
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, byte [0x693f26]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f25]
or eax, edx
cmp dword [0x693b44], 4
jle 0x46278f
cmp eax, 0x3fff
jle 0x4627bf
cmp eax, 0x7fff
jle 0x46279b
cmp eax, 0xbfff
jle 0x4627bf
test byte [0x693f68], 1
je 0x4627bf
jmp 0x46279b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4626fe
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4627bf
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x462837
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f26]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f25]
or eax, edx
movzx esi, ax
mov ebx, esi
mov word [0x693efe], si
mov dword [esp], esi
call fcn.004010a0
push edx
mov byte [0x693f2a], al
cmp esi, dword [0x693fe0]
jne 0x462822
mov dword [0x693bf0], 0x1a90
mov byte [0x693bee], 1
lea eax, [ebx + 1]
mov word [0x69407c], ax
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4627d4
cmp dword [0x693b44], 4
jle 0x4628a2
cmp bx, 0x4000
jbe 0x4628d2
cmp bx, 0x8000
jbe 0x4628ae
cmp bx, 0xc000
jbe 0x4628d2
test byte [0x693f68], 1
je 0x4628d2
jmp 0x4628ae
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4628d2
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x462936
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, byte [0x693f24]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f1c]
or eax, edx
cmp dword [0x693b44], 4
jle 0x462978
cmp eax, 0x3fff
jle 0x4629a8
cmp eax, 0x7fff
jle 0x462984
cmp eax, 0xbfff
jle 0x4629a8
test byte [0x693f68], 1
je 0x4629a8
jmp 0x462984
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4628e7
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4629a8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x462a20
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f24]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f1c]
or eax, edx
movzx esi, ax
mov ebx, esi
mov word [0x693efe], si
mov dword [esp], esi
call fcn.004010a0
push edx
mov byte [0x693f2a], al
cmp esi, dword [0x693fe0]
jne 0x462a0b
mov dword [0x693bf0], 0x1a90
mov byte [0x693bee], 1
lea eax, [ebx + 1]
mov word [0x69407c], ax
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4629bd
cmp byte [0x693bee], 0
jne 0x462ab8
cmp byte [0x693bbc], 0
je 0x462f15
cmp dword [0x693b44], 4
jle 0x462fbb
cmp bx, 0x4000
jbe 0x462feb
cmp bx, 0x8000
jbe 0x462fc7
cmp bx, 0xc000
jbe 0x462feb
test byte [0x693f68], 1
je 0x462feb
jmp 0x462fc7
cmp dword [0x693b44], 4
jle 0x462ae1
cmp bx, 0x4000
jbe 0x462b11
cmp bx, 0x8000
jbe 0x462aed
cmp bx, 0xc000
jbe 0x462b11
test byte [0x693f68], 1
je 0x462b11
jmp 0x462aed
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x462b11
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x462b63
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x462ba2
cmp ax, 0x3fff
jbe 0x462bd0
test ax, ax
jns 0x462bac
cmp ax, 0xbfff
jbe 0x462bd0
test byte [0x693f68], 1
je 0x462bd0
jmp 0x462bac
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x462b26
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x462bd0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x462c27
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x462c69
cmp ax, 0x3ffe
jbe 0x462c97
cmp ax, 0x7ffe
jbe 0x462c73
add ax, 0x4001
cmp ax, 0x3fff
ja 0x462c97
test byte [0x693f68], 1
je 0x462c97
jmp 0x462c73
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x462be5
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x462c97
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x462d26
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov esi, eax
mov word [0x693efe], ax
lea eax, [ebx + 1]
mov word [0x693f80], ax
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ecx
shl eax, 8
or eax, esi
mov word [0x693efe], ax
lea edx, [ebx + 2]
mov word [0x693f80], dx
cmp dword [0x693b44], 4
jle 0x462d68
cmp ax, 0x3fff
jbe 0x462d96
test ax, ax
jns 0x462d72
cmp ax, 0xbfff
jbe 0x462d96
test byte [0x693f68], 1
je 0x462d96
jmp 0x462d72
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x462cac
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x462d96
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x462e21
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, byte [0x693f01]
mov dword [esp + 4], eax
movzx eax, word [0x693efe]
mov dword [esp], eax
call fcn.004015c0
push edi
push edi
movzx eax, word [0x693efe]
mov edx, eax
cmp eax, dword [0x693fd4]
jne 0x462def
mov dword [0x693bf0], 0x1a90
lea eax, [edx + 1]
mov word [0x69407c], ax
cmp dword [0x693b44], 4
jle 0x462e63
cmp ax, 0x3fff
jbe 0x462e93
test ax, ax
jns 0x462e6f
cmp ax, 0xbfff
jbe 0x462e93
test byte [0x693f68], 1
je 0x462e93
jmp 0x462e6f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x462dab
lea eax, [edx - 0x3fff]
cmp ax, 0x3fff
ja 0x462e93
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x462ed6
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edx
push edx
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x462ea8
cmp dword [0x693b44], 4
jg 0x4633ef
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x462f52
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x463422
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x463464
cmp ax, 0x3fff
jbe 0x463492
test ax, ax
jns 0x46346e
cmp ax, 0xbfff
jbe 0x463492
test byte [0x693f68], 1
je 0x463492
jmp 0x46346e
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x462feb
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46303d
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x46307c
cmp ax, 0x3fff
jbe 0x4630aa
test ax, ax
jns 0x463086
cmp ax, 0xbfff
jbe 0x4630aa
test byte [0x693f68], 1
je 0x4630aa
jmp 0x463086
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x463000
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4630aa
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x463101
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x463143
cmp ax, 0x3ffe
jbe 0x463171
cmp ax, 0x7ffe
jbe 0x46314d
add ax, 0x4001
cmp ax, 0x3fff
ja 0x463171
test byte [0x693f68], 1
je 0x463171
jmp 0x46314d
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4630bf
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x463171
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x463200
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov esi, eax
mov word [0x693efe], ax
lea eax, [ebx + 1]
mov word [0x693f80], ax
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ecx
shl eax, 8
or eax, esi
mov word [0x693efe], ax
lea edx, [ebx + 2]
mov word [0x693f80], dx
cmp dword [0x693b44], 4
jle 0x463242
cmp ax, 0x3fff
jbe 0x463270
test ax, ax
jns 0x46324c
cmp ax, 0xbfff
jbe 0x463270
test byte [0x693f68], 1
je 0x463270
jmp 0x46324c
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x463186
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x463270
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4632fb
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693c00]
mov dword [esp + 4], eax
movzx eax, word [0x693efe]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x693efe]
mov edx, eax
cmp eax, dword [0x693fd4]
jne 0x4632c9
mov dword [0x693bf0], 0x1a90
lea eax, [edx + 1]
mov word [0x69407c], ax
cmp dword [0x693b44], 4
jle 0x46333d
cmp ax, 0x3fff
jbe 0x46336d
test ax, ax
jns 0x463349
cmp ax, 0xbfff
jbe 0x46336d
test byte [0x693f68], 1
je 0x46336d
jmp 0x463349
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x463285
lea eax, [edx - 0x3fff]
cmp ax, 0x3fff
ja 0x46336d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4633b0
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, byte [0x693c08]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push esi
push esi
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x463382
cmp bx, 0x4000
jbe 0x462f52
cmp bx, 0x8000
jbe 0x462f2e
cmp bx, 0xc000
jbe 0x462f52
test byte [0x693f68], 1
je 0x462f52
jmp 0x462f2e
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x462f6b
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x463492
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4634e9
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x46352b
cmp ax, 0x3ffe
jbe 0x463559
cmp ax, 0x7ffe
jbe 0x463535
add ax, 0x4001
cmp ax, 0x3fff
ja 0x463559
test byte [0x693f68], 1
je 0x463559
jmp 0x463535
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4634a7
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x463559
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4635e8
mov dword [esp], 3
call fcn.00416240
push edx
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push ecx
mov esi, eax
mov word [0x693efe], ax
lea eax, [ebx + 1]
mov word [0x693f80], ax
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push edi
shl eax, 8
or eax, esi
mov word [0x693efe], ax
lea edx, [ebx + 2]
mov word [0x693f80], dx
cmp dword [0x693b44], 4
jle 0x46362a
cmp ax, 0x3fff
jbe 0x463658
test ax, ax
jns 0x463634
cmp ax, 0xbfff
jbe 0x463658
test byte [0x693f68], 1
je 0x463658
jmp 0x463634
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46356e
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x463658
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4636e3
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693c5d]
mov dword [esp + 4], eax
movzx eax, word [0x693efe]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x693efe]
mov edx, eax
cmp eax, dword [0x693fd4]
jne 0x4636b1
mov dword [0x693bf0], 0x1a90
lea eax, [edx + 1]
mov word [0x69407c], ax
cmp dword [0x693b44], 4
jle 0x463725
cmp ax, 0x3fff
jbe 0x463755
test ax, ax
jns 0x463731
cmp ax, 0xbfff
jbe 0x463755
test byte [0x693f68], 1
je 0x463755
jmp 0x463731
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46366d
lea eax, [edx - 0x3fff]
cmp ax, 0x3fff
ja 0x463755
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x463798
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, byte [0x693c5e]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edi
push edi
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46376a
cmp dword [0x693b44], 4
jle 0x463800
cmp bx, 0x4000
jbe 0x463830
cmp bx, 0x8000
jbe 0x46380c
cmp bx, 0xc000
jbe 0x463830
test byte [0x693f68], 1
je 0x463830
jmp 0x46380c
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x463830
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x463882
mov dword [esp], 4
call fcn.00416240
push edx
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4638c1
cmp ax, 0x3fff
jbe 0x4638ef
test ax, ax
jns 0x4638cb
cmp ax, 0xbfff
jbe 0x4638ef
test byte [0x693f68], 1
je 0x4638ef
jmp 0x4638cb
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x463845
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4638ef
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x463946
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x463988
cmp ax, 0x3ffe
jbe 0x4639b6
cmp ax, 0x7ffe
jbe 0x463992
add ax, 0x4001
cmp ax, 0x3fff
ja 0x4639b6
test byte [0x693f68], 1
je 0x4639b6
jmp 0x463992
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x463904
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x4639b6
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x463a3b
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693f80]
mov esi, eax
mov dword [esp], eax
call fcn.004010a0
push edi
mov ebx, eax
mov word [0x693efe], ax
lea eax, [esi + 1]
mov word [0x693f80], ax
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ebp
shl eax, 8
or eax, ebx
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x463a7d
cmp ax, 0x3fff
jbe 0x463aab
test ax, ax
jns 0x463a87
cmp ax, 0xbfff
jbe 0x463aab
test byte [0x693f68], 1
je 0x463aab
jmp 0x463a87
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4639cb
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x463aab
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x463b30
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f2a]
mov dword [esp + 4], eax
movzx eax, word [0x693efe]
mov dword [esp], eax
call fcn.004015c0
push edx
push edx
movzx edx, word [0x693efe]
mov eax, edx
cmp edx, dword [0x693fd4]
jne 0x463b04
mov dword [0x693bf0], 0x1a90
add word [0x693f80], 1
movzx edx, byte [0x693f2a]
shl edx, 8
add eax, 1
movzx eax, al
or eax, edx
mov word [0x69407c], ax
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x463ac0
cmp byte [0x693bee], 0
jne 0x463bc8
cmp byte [0x693bbc], 0
je 0x463fd7
cmp dword [0x693b44], 4
jle 0x46407d
cmp bx, 0x4000
jbe 0x4640ad
cmp bx, 0x8000
jbe 0x464089
cmp bx, 0xc000
jbe 0x4640ad
test byte [0x693f68], 1
je 0x4640ad
jmp 0x464089
cmp dword [0x693b44], 4
jle 0x463bf1
cmp bx, 0x4000
jbe 0x463c21
cmp bx, 0x8000
jbe 0x463bfd
cmp bx, 0xc000
jbe 0x463c21
test byte [0x693f68], 1
je 0x463c21
jmp 0x463bfd
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x463c21
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x463c73
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x463cb2
cmp ax, 0x3fff
jbe 0x463ce0
test ax, ax
jns 0x463cbc
cmp ax, 0xbfff
jbe 0x463ce0
test byte [0x693f68], 1
je 0x463ce0
jmp 0x463cbc
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x463c36
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x463ce0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x463d37
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x463d79
cmp ax, 0x3ffe
jbe 0x463da7
cmp ax, 0x7ffe
jbe 0x463d83
add ax, 0x4001
cmp ax, 0x3fff
ja 0x463da7
test byte [0x693f68], 1
je 0x463da7
jmp 0x463d83
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x463cf5
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x463da7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x463e45
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
mov esi, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov ebx, eax
mov word [0x693efe], ax
lea eax, [esi + 1]
mov word [0x693f80], ax
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ecx
shl eax, 8
or eax, ebx
mov word [0x693efe], ax
movzx edx, ax
cmp edx, dword [0x693fe0]
jne 0x463e1c
mov dword [0x693bf0], 0x1a90
cmp dword [0x693b44], 4
jle 0x463e87
cmp ax, 0x3fff
jbe 0x463eb5
test ax, ax
jns 0x463e91
cmp ax, 0xbfff
jbe 0x463eb5
test byte [0x693f68], 1
je 0x463eb5
jmp 0x463e91
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x463dc0
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x463eb5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x463f53
mov dword [esp], 3
call fcn.00416240
push ecx
add word [0x693f80], 1
movzx eax, word [0x693efe]
mov esi, eax
mov dword [esp], eax
call fcn.004010a0
push ebx
mov byte [0x693f01], al
lea ebx, [esi + 1]
mov word [0x69407c], bx
movzx eax, bx
mov dword [esp], eax
call fcn.004010a0
push edi
mov byte [0x693f11], al
cmp dword [0x693b44], 4
jle 0x4643ae
cmp bx, 0x3fff
jbe 0x4643de
test bx, bx
jns 0x4643ba
cmp bx, 0xbfff
jbe 0x4643de
test byte [0x693f68], 1
je 0x4643de
jmp 0x4643ba
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x463ece
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4643f7
cmp dword [0x693b44], 4
jg 0x46444b
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x464014
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46447e
mov dword [esp], 4
call fcn.00416240
push edx
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4644c0
cmp ax, 0x3fff
jbe 0x4644ee
test ax, ax
jns 0x4644ca
cmp ax, 0xbfff
jbe 0x4644ee
test byte [0x693f68], 1
je 0x4644ee
jmp 0x4644ca
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4640ad
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4640ff
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x46413e
cmp ax, 0x3fff
jbe 0x46416c
test ax, ax
jns 0x464148
cmp ax, 0xbfff
jbe 0x46416c
test byte [0x693f68], 1
je 0x46416c
jmp 0x464148
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4640c2
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x46416c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4641c3
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x464205
cmp ax, 0x3ffe
jbe 0x464233
cmp ax, 0x7ffe
jbe 0x46420f
add ax, 0x4001
cmp ax, 0x3fff
ja 0x464233
test byte [0x693f68], 1
je 0x464233
jmp 0x46420f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x464181
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x464233
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4642d1
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
mov esi, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov ebx, eax
mov word [0x693efe], ax
lea eax, [esi + 1]
mov word [0x693f80], ax
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ecx
shl eax, 8
or eax, ebx
mov word [0x693efe], ax
movzx edx, ax
cmp edx, dword [0x693fe0]
jne 0x4642a8
mov dword [0x693bf0], 0x1a90
cmp dword [0x693b44], 4
jle 0x464313
cmp ax, 0x3fff
jbe 0x464341
test ax, ax
jns 0x46431d
cmp ax, 0xbfff
jbe 0x464341
test byte [0x693f68], 1
je 0x464341
jmp 0x46431d
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46424c
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x464341
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x464409
mov dword [esp], 3
call fcn.00416240
push esi
add word [0x693f80], 1
movzx eax, word [0x693efe]
mov esi, eax
mov dword [esp], eax
call fcn.004010a0
push edi
mov byte [0x693c00], al
lea ebx, [esi + 1]
mov word [0x69407c], bx
movzx eax, bx
mov dword [esp], eax
call fcn.004010a0
push ebp
mov byte [0x693c08], al
cmp dword [0x693b44], 4
jg 0x463f22
lea eax, [esi - 0x3fff]
cmp ax, 0x3fff
ja 0x4643de
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x463f95
mov dword [esp], 3
call fcn.00416240
push eax
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46435a
cmp bx, 0x4000
jbe 0x464014
cmp bx, 0x8000
jbe 0x463ff0
cmp bx, 0xc000
jbe 0x464014
test byte [0x693f68], 1
je 0x464014
jmp 0x463ff0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46402d
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4644ee
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x464545
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x464587
cmp ax, 0x3ffe
jbe 0x4645b5
cmp ax, 0x7ffe
jbe 0x464591
add ax, 0x4001
cmp ax, 0x3fff
ja 0x4645b5
test byte [0x693f68], 1
je 0x4645b5
jmp 0x464591
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x464503
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x4645b5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x464653
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693f80]
mov esi, eax
mov dword [esp], eax
call fcn.004010a0
push edi
mov ebx, eax
mov word [0x693efe], ax
lea eax, [esi + 1]
mov word [0x693f80], ax
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ebp
shl eax, 8
or eax, ebx
mov word [0x693efe], ax
movzx edx, ax
cmp edx, dword [0x693fe0]
jne 0x46462a
mov dword [0x693bf0], 0x1a90
cmp dword [0x693b44], 4
jle 0x464695
cmp ax, 0x3fff
jbe 0x4646c3
test ax, ax
jns 0x46469f
cmp ax, 0xbfff
jbe 0x4646c3
test byte [0x693f68], 1
je 0x4646c3
jmp 0x46469f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4645ce
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4646c3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x464731
mov dword [esp], 3
call fcn.00416240
push edi
add word [0x693f80], 1
movzx eax, word [0x693efe]
mov esi, eax
mov dword [esp], eax
call fcn.004010a0
push ebp
mov byte [0x693c5d], al
lea ebx, [esi + 1]
mov word [0x69407c], bx
movzx eax, bx
mov dword [esp], eax
call fcn.004010a0
push edx
mov byte [0x693c5e], al
cmp dword [0x693b44], 4
jle 0x4643ae
jmp 0x463f22
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4646d8
cmp dword [0x693b44], 4
jle 0x46479c
cmp bx, 0x4000
jbe 0x4647cc
cmp bx, 0x8000
jbe 0x4647a8
cmp bx, 0xc000
jbe 0x4647cc
test byte [0x693f68], 1
je 0x4647cc
jmp 0x4647a8
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4647cc
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46481e
mov dword [esp], 4
call fcn.00416240
push edx
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x46485d
cmp ax, 0x3fff
jbe 0x46488b
test ax, ax
jns 0x464867
cmp ax, 0xbfff
jbe 0x46488b
test byte [0x693f68], 1
je 0x46488b
jmp 0x464867
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4647e1
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x46488b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4648e2
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x464924
cmp ax, 0x3ffe
jbe 0x464952
cmp ax, 0x7ffe
jbe 0x46492e
add ax, 0x4001
cmp ax, 0x3fff
ja 0x464952
test byte [0x693f68], 1
je 0x464952
jmp 0x46492e
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4648a0
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x464952
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4649fa
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edi
mov esi, eax
mov word [0x69407c], ax
lea eax, [ebx + 1]
mov word [0x693f80], ax
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ebp
shl eax, 8
or eax, esi
mov word [0x69407c], ax
movzx edx, ax
cmp edx, dword [0x693fe0]
jne 0x4649c7
mov dword [0x693bf0], 0x1a90
lea edx, [ebx + 2]
mov word [0x693f80], dx
cmp dword [0x693b44], 4
jle 0x464a3c
cmp ax, 0x3fff
jbe 0x464a6a
test ax, ax
jns 0x464a46
cmp ax, 0xbfff
jbe 0x464a6a
test byte [0x693f68], 1
je 0x464a6a
jmp 0x464a46
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46496b
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x464a6a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x464ab8
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x69407c]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov byte [0x693f2a], al
lea eax, [ebx + 1]
mov word [0x69407c], ax
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x464a7f
cmp dword [0x693b44], 4
jle 0x464b20
cmp bx, 0x4000
jbe 0x464b50
cmp bx, 0x8000
jbe 0x464b2c
cmp bx, 0xc000
jbe 0x464b50
test byte [0x693f68], 1
je 0x464b50
jmp 0x464b2c
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x464b50
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x464bd6
mov dword [esp], 4
call fcn.00416240
push eax
mov dword [esp + 8], 2
mov dword [esp + 4], 1
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, byte [0x693f25]
add eax, 1
mov byte [0x693f25], al
cmp al, 1
adc byte [0x693f26], 0
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x464b65
cmp dword [0x693b44], 4
jle 0x464c41
cmp bx, 0x4000
jbe 0x464c71
cmp bx, 0x8000
jbe 0x464c4d
cmp bx, 0xc000
jbe 0x464c71
test byte [0x693f68], 1
je 0x464c71
jmp 0x464c4d
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x464c71
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x464cf7
mov dword [esp], 4
call fcn.00416240
push esi
mov dword [esp + 8], 2
mov dword [esp + 4], 1
movzx edx, byte [0x693f38]
and edx, 0xffffff80
movzx eax, byte [0x693f00]
and eax, 0x7f
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, byte [0x693f1c]
add eax, 1
mov byte [0x693f1c], al
cmp al, 1
adc byte [0x693f24], 0
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x464c86
cmp byte [0x693bee], 0
jne 0x464d8f
cmp byte [0x693bbc], 0
je 0x464ea9
cmp dword [0x693b44], 4
jle 0x464f69
cmp bx, 0x4000
jbe 0x464f99
cmp bx, 0x8000
jbe 0x464f75
cmp bx, 0xc000
jbe 0x464f99
test byte [0x693f68], 1
je 0x464f99
jmp 0x464f75
cmp dword [0x693b44], 4
jle 0x464db8
cmp bx, 0x4000
jbe 0x464de8
cmp bx, 0x8000
jbe 0x464dc4
cmp bx, 0xc000
jbe 0x464de8
test byte [0x693f68], 1
je 0x464de8
jmp 0x464dc4
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x464de8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x464e67
mov dword [esp], 4
call fcn.00416240
push edx
mov dword [esp + 8], 2
mov dword [esp + 4], 1
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, byte [0x693f01]
add eax, 1
mov byte [0x693f01], al
cmp al, 1
adc byte [0x693f11], 0
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x464dfd
cmp dword [0x693b44], 4
jg 0x46505a
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x464ee6
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46508d
mov dword [esp], 4
call fcn.00416240
push ebp
mov dword [esp + 8], 2
mov dword [esp + 4], 1
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, byte [0x693c5d]
add eax, 1
mov byte [0x693c5d], al
cmp al, 1
adc byte [0x693c5e], 0
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x464f99
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x465018
mov dword [esp], 4
call fcn.00416240
push eax
mov dword [esp + 8], 2
mov dword [esp + 4], 1
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, byte [0x693c00]
add eax, 1
mov byte [0x693c00], al
cmp al, 1
adc byte [0x693c08], 0
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x464fae
cmp bx, 0x4000
jbe 0x464ee6
cmp bx, 0x8000
jbe 0x464ec2
cmp bx, 0xc000
jbe 0x464ee6
test byte [0x693f68], 1
je 0x464ee6
jmp 0x464ec2
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x464eff
cmp dword [0x693b44], 4
jle 0x4650f8
cmp bx, 0x4000
jbe 0x465128
cmp bx, 0x8000
jbe 0x465104
cmp bx, 0xc000
jbe 0x465128
test byte [0x693f68], 1
je 0x465128
jmp 0x465104
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x465128
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46519e
mov dword [esp], 4
call fcn.00416240
push ebx
mov dword [esp + 8], 2
mov dword [esp + 4], 1
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
add word [0x693e70], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46513d
cmp dword [0x693b44], 4
jle 0x465209
cmp bx, 0x4000
jbe 0x465239
cmp bx, 0x8000
jbe 0x465215
cmp bx, 0xc000
jbe 0x465239
test byte [0x693f68], 1
je 0x465239
jmp 0x465215
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x465239
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4652bf
mov dword [esp], 4
call fcn.00416240
push eax
mov dword [esp + 8], 2
mov dword [esp + 4], 1
movzx edx, byte [0x693f38]
and edx, 0xffffff80
movzx eax, byte [0x693f00]
and eax, 0x7f
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, byte [0x693f25]
cmp al, 1
sbb byte [0x693f26], 0
sub eax, 1
mov byte [0x693f25], al
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46524e
cmp dword [0x693b44], 4
jle 0x46532a
cmp bx, 0x4000
jbe 0x46535a
cmp bx, 0x8000
jbe 0x465336
cmp bx, 0xc000
jbe 0x46535a
test byte [0x693f68], 1
je 0x46535a
jmp 0x465336
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46535a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4653e0
mov dword [esp], 4
call fcn.00416240
push eax
mov dword [esp + 8], 2
mov dword [esp + 4], 1
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, byte [0x693f1c]
cmp al, 1
sbb byte [0x693f24], 0
sub eax, 1
mov byte [0x693f1c], al
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46536f
cmp byte [0x693bee], 0
jne 0x465478
cmp byte [0x693bbc], 0
je 0x465592
cmp dword [0x693b44], 4
jle 0x465652
cmp bx, 0x4000
jbe 0x465682
cmp bx, 0x8000
jbe 0x46565e
cmp bx, 0xc000
jbe 0x465682
test byte [0x693f68], 1
je 0x465682
jmp 0x46565e
cmp dword [0x693b44], 4
jle 0x4654a1
cmp bx, 0x4000
jbe 0x4654d1
cmp bx, 0x8000
jbe 0x4654ad
cmp bx, 0xc000
jbe 0x4654d1
test byte [0x693f68], 1
je 0x4654d1
jmp 0x4654ad
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4654d1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x465550
mov dword [esp], 4
call fcn.00416240
push edi
mov dword [esp + 8], 2
mov dword [esp + 4], 1
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, byte [0x693f01]
cmp al, 1
sbb byte [0x693f11], 0
sub eax, 1
mov byte [0x693f01], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4654e6
cmp dword [0x693b44], 4
jg 0x465743
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4655cf
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x465776
mov dword [esp], 4
call fcn.00416240
push eax
mov dword [esp + 8], 2
mov dword [esp + 4], 1
movzx edx, byte [0x693f38]
and edx, 0xffffff80
movzx eax, byte [0x693f00]
and eax, 0x7f
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, byte [0x693c5d]
cmp al, 1
sbb byte [0x693c5e], 0
sub eax, 1
mov byte [0x693c5d], al
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x465682
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x465701
mov dword [esp], 4
call fcn.00416240
push ecx
mov dword [esp + 8], 2
mov dword [esp + 4], 1
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, byte [0x693c00]
cmp al, 1
sbb byte [0x693c08], 0
sub eax, 1
mov byte [0x693c00], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x465697
cmp bx, 0x4000
jbe 0x4655cf
cmp bx, 0x8000
jbe 0x4655ab
cmp bx, 0xc000
jbe 0x4655cf
test byte [0x693f68], 1
je 0x4655cf
jmp 0x4655ab
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4655e8
cmp dword [0x693b44], 4
jle 0x4657e1
cmp bx, 0x4000
jbe 0x465811
cmp bx, 0x8000
jbe 0x4657ed
cmp bx, 0xc000
jbe 0x465811
test byte [0x693f68], 1
je 0x465811
jmp 0x4657ed
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x465811
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x465887
mov dword [esp], 4
call fcn.00416240
push eax
mov dword [esp + 8], 2
mov dword [esp + 4], 1
movzx edx, byte [0x693f38]
and edx, 0xffffff80
movzx eax, byte [0x693f00]
and eax, 0x7f
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
sub word [0x693e70], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x465826
cmp dword [0x693b44], 4
jle 0x4658f2
cmp bx, 0x4000
jbe 0x465922
cmp bx, 0x8000
jbe 0x4658fe
cmp bx, 0xc000
jbe 0x465922
test byte [0x693f68], 1
je 0x465922
jmp 0x4658fe
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x465922
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x465997
mov dword [esp], 4
call fcn.00416240
push esi
mov word [0x693d1e], 1
movzx eax, byte [0x693f26]
mov edx, eax
mov word [0x693d20], ax
lea eax, [edx + 1]
mov byte [0x693f26], al
movzx eax, al
mov word [0x693d00], ax
movzx edx, word [0x693d1c]
and dx, 0x100
or eax, edx
mov word [0x693d1c], ax
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x465937
cmp dword [0x693b44], 4
jle 0x465a02
cmp bx, 0x4000
jbe 0x465a32
cmp bx, 0x8000
jbe 0x465a0e
cmp bx, 0xc000
jbe 0x465a32
test byte [0x693f68], 1
je 0x465a32
jmp 0x465a0e
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x465a32
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x465aa7
mov dword [esp], 4
call fcn.00416240
push edx
mov word [0x693d1e], 1
movzx eax, byte [0x693f25]
mov edx, eax
mov word [0x693d20], ax
lea eax, [edx + 1]
mov byte [0x693f25], al
movzx eax, al
mov word [0x693d00], ax
movzx edx, word [0x693d1c]
and dx, 0x100
or eax, edx
mov word [0x693d1c], ax
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x465a47
cmp dword [0x693b44], 4
jle 0x465b12
cmp bx, 0x4000
jbe 0x465b42
cmp bx, 0x8000
jbe 0x465b1e
cmp bx, 0xc000
jbe 0x465b42
test byte [0x693f68], 1
je 0x465b42
jmp 0x465b1e
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x465b42
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x465bb7
mov dword [esp], 4
call fcn.00416240
push eax
mov word [0x693d1e], 1
movzx eax, byte [0x693f24]
mov edx, eax
mov word [0x693d20], ax
lea eax, [edx + 1]
mov byte [0x693f24], al
movzx eax, al
mov word [0x693d00], ax
movzx edx, word [0x693d1c]
and dx, 0x100
or eax, edx
mov word [0x693d1c], ax
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x465b57
cmp dword [0x693b44], 4
jle 0x465c22
cmp bx, 0x4000
jbe 0x465c52
cmp bx, 0x8000
jbe 0x465c2e
cmp bx, 0xc000
jbe 0x465c52
test byte [0x693f68], 1
je 0x465c52
jmp 0x465c2e
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x465c52
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x465cc7
mov dword [esp], 4
call fcn.00416240
push ebp
mov word [0x693d1e], 1
movzx eax, byte [0x693f1c]
mov edx, eax
mov word [0x693d20], ax
lea eax, [edx + 1]
mov byte [0x693f1c], al
movzx eax, al
mov word [0x693d00], ax
movzx edx, word [0x693d1c]
and dx, 0x100
or eax, edx
mov word [0x693d1c], ax
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x465c67
cmp byte [0x693bee], 0
jne 0x465d5f
cmp byte [0x693bbc], 0
je 0x465e68
cmp dword [0x693b44], 4
jle 0x465f17
cmp bx, 0x4000
jbe 0x465f47
cmp bx, 0x8000
jbe 0x465f23
cmp bx, 0xc000
jbe 0x465f47
test byte [0x693f68], 1
je 0x465f47
jmp 0x465f23
cmp dword [0x693b44], 4
jle 0x465d88
cmp bx, 0x4000
jbe 0x465db8
cmp bx, 0x8000
jbe 0x465d94
cmp bx, 0xc000
jbe 0x465db8
test byte [0x693f68], 1
je 0x465db8
jmp 0x465d94
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x465db8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x465e26
mov dword [esp], 4
call fcn.00416240
push ebx
mov word [0x693d1e], 1
movzx eax, byte [0x693f11]
mov edx, eax
mov word [0x693d20], ax
lea eax, [edx + 1]
mov byte [0x693f11], al
movzx eax, al
mov word [0x693d00], ax
movzx edx, word [0x693d1c]
and dx, 0x100
or eax, edx
mov word [0x693d1c], ax
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x465dcd
cmp dword [0x693b44], 4
jg 0x465ff7
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x465ea5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46602a
mov dword [esp], 4
call fcn.00416240
push eax
mov word [0x693d1e], 1
movzx eax, byte [0x693c5e]
mov edx, eax
mov word [0x693d20], ax
lea eax, [edx + 1]
mov byte [0x693c5e], al
movzx eax, al
mov word [0x693d00], ax
movzx edx, word [0x693d1c]
and dx, 0x100
or eax, edx
mov word [0x693d1c], ax
mov dword [0x693c88], 1
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x465f47
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x465fb5
mov dword [esp], 4
call fcn.00416240
push eax
mov word [0x693d1e], 1
movzx eax, byte [0x693c08]
mov edx, eax
mov word [0x693d20], ax
lea eax, [edx + 1]
mov byte [0x693c08], al
movzx eax, al
mov word [0x693d00], ax
movzx edx, word [0x693d1c]
and dx, 0x100
or eax, edx
mov word [0x693d1c], ax
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x465f5c
cmp bx, 0x4000
jbe 0x465ea5
cmp bx, 0x8000
jbe 0x465e81
cmp bx, 0xc000
jbe 0x465ea5
test byte [0x693f68], 1
je 0x465ea5
jmp 0x465e81
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x465ebe
cmp byte [0x693bee], 0
jne 0x4660c2
cmp byte [0x693bbc], 0
je 0x4661cb
cmp dword [0x693b44], 4
jle 0x46627a
cmp bx, 0x4000
jbe 0x4662aa
cmp bx, 0x8000
jbe 0x466286
cmp bx, 0xc000
jbe 0x4662aa
test byte [0x693f68], 1
je 0x4662aa
jmp 0x466286
cmp dword [0x693b44], 4
jle 0x4660eb
cmp bx, 0x4000
jbe 0x46611b
cmp bx, 0x8000
jbe 0x4660f7
cmp bx, 0xc000
jbe 0x46611b
test byte [0x693f68], 1
je 0x46611b
jmp 0x4660f7
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46611b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x466189
mov dword [esp], 4
call fcn.00416240
push edi
mov word [0x693d1e], 1
movzx eax, byte [0x693f01]
mov edx, eax
mov word [0x693d20], ax
lea eax, [edx + 1]
mov byte [0x693f01], al
movzx eax, al
mov word [0x693d00], ax
movzx edx, word [0x693d1c]
and dx, 0x100
or eax, edx
mov word [0x693d1c], ax
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x466130
cmp dword [0x693b44], 4
jg 0x46635a
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x466208
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46638d
mov dword [esp], 4
call fcn.00416240
push eax
mov word [0x693d1e], 1
movzx eax, byte [0x693c5d]
mov edx, eax
mov word [0x693d20], ax
lea eax, [edx + 1]
mov byte [0x693c5d], al
movzx eax, al
mov word [0x693d00], ax
movzx edx, word [0x693d1c]
and dx, 0x100
or eax, edx
mov word [0x693d1c], ax
mov dword [0x693c88], 1
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4662aa
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x466318
mov dword [esp], 4
call fcn.00416240
push ecx
mov word [0x693d1e], 1
movzx eax, byte [0x693c00]
mov edx, eax
mov word [0x693d20], ax
lea eax, [edx + 1]
mov byte [0x693c00], al
movzx eax, al
mov word [0x693d00], ax
movzx edx, word [0x693d1c]
and dx, 0x100
or eax, edx
mov word [0x693d1c], ax
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4662bf
cmp bx, 0x4000
jbe 0x466208
cmp bx, 0x8000
jbe 0x4661e4
cmp bx, 0xc000
jbe 0x466208
test byte [0x693f68], 1
je 0x466208
jmp 0x4661e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x466221
cmp byte [0x693bee], 0
jne 0x466425
cmp byte [0x693bbc], 0
je 0x4667e9
cmp dword [0x693b44], 4
jle 0x46688f
cmp bx, 0x4000
jbe 0x4668bf
cmp bx, 0x8000
jbe 0x46689b
cmp bx, 0xc000
jbe 0x4668bf
test byte [0x693f68], 1
je 0x4668bf
jmp 0x46689b
cmp dword [0x693b44], 4
jle 0x46644e
cmp bx, 0x4000
jbe 0x46647e
cmp bx, 0x8000
jbe 0x46645a
cmp bx, 0xc000
jbe 0x46647e
test byte [0x693f68], 1
je 0x46647e
jmp 0x46645a
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46647e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x466568
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x4665aa
cmp ax, 0x3fff
jbe 0x4664ff
test ax, ax
js 0x4665b9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4665d5
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x466617
cmp ax, 0x3fff
jbe 0x466645
test ax, ax
jns 0x466621
cmp ax, 0xbfff
jbe 0x466645
test byte [0x693f68], 1
je 0x466645
jmp 0x466621
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x466497
cmp ax, 0x3fff
jle 0x4664ff
jmp 0x4664db
cmp ax, 0xbfff
jbe 0x4664ff
test byte [0x693f68], 1
je 0x4664ff
jmp 0x4664db
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x466518
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x466645
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4666aa
mov dword [esp], 1
call fcn.00416240
push ebp
movzx eax, word [0x693efe]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov word [0x693d20], ax
cmp dword [0x693b44], 4
jle 0x4666ec
cmp bx, 0x3fff
jbe 0x46671c
test bx, bx
jns 0x4666f8
cmp bx, 0xbfff
jbe 0x46671c
test byte [0x693f68], 1
je 0x46671c
jmp 0x4666f8
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46665a
lea eax, [ebx - 0x4000]
cmp ax, 0x3fff
ja 0x46671c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4667a7
mov dword [esp], 3
call fcn.00416240
push ecx
movzx eax, word [0x693d20]
add eax, 1
mov dword [esp + 4], eax
movzx eax, word [0x693efe]
mov dword [esp], eax
call fcn.004015c0
push ebx
push ebx
movzx eax, word [0x693efe]
cmp eax, dword [0x693fd4]
jne 0x466776
mov dword [0x693bf0], 0x1a90
mov word [0x693d1e], 1
mov dword [esp], eax
call fcn.004010a0
push edx
mov word [0x693d00], ax
movzx edx, word [0x693d1c]
and dx, 0x100
or eax, edx
mov word [0x693d1c], ax
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x466731
cmp dword [0x693b44], 4
jg 0x466d0e
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x466826
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x466d41
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x466d83
cmp ax, 0x3fff
jbe 0x466db1
test ax, ax
jns 0x466d8d
cmp ax, 0xbfff
jbe 0x466db1
test byte [0x693f68], 1
je 0x466db1
jmp 0x466d8d
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4668bf
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x466911
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x466950
cmp ax, 0x3fff
jbe 0x46697e
test ax, ax
jns 0x46695a
cmp ax, 0xbfff
jbe 0x46697e
test byte [0x693f68], 1
je 0x46697e
jmp 0x46695a
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4668d4
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x46697e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x466a27
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
push edx
movzx edx, byte [0x693c08]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c00]
or edx, ecx
xor al, 0x80
add edx, eax
lea eax, [edx - 0x80]
mov word [0x693efe], ax
mov word [0x69407c], ax
cmp dword [0x693b44], 4
jle 0x466a69
cmp ax, 0x3fff
jbe 0x466a99
test ax, ax
jns 0x466a75
cmp ax, 0xbfff
jbe 0x466a99
test byte [0x693f68], 1
je 0x466a99
jmp 0x466a75
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x466997
lea eax, [edx - 0x4080]
cmp ax, 0x3fff
ja 0x466a99
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x466aeb
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x466b2a
cmp ax, 0x3fff
jbe 0x466b58
test ax, ax
jns 0x466b34
cmp ax, 0xbfff
jbe 0x466b58
test byte [0x693f68], 1
je 0x466b58
jmp 0x466b34
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x466aae
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x466b58
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x466bc6
mov dword [esp], 1
call fcn.00416240
push ebp
mov word [0x693d1e], 1
movzx eax, word [0x693efe]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov word [0x693d20], ax
cmp dword [0x693b44], 4
jle 0x466c08
cmp bx, 0x3fff
jbe 0x466c38
test bx, bx
jns 0x466c14
cmp bx, 0xbfff
jbe 0x466c38
test byte [0x693f68], 1
je 0x466c38
jmp 0x466c14
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x466b6d
lea eax, [ebx - 0x4000]
cmp ax, 0x3fff
ja 0x466c38
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x466ccc
mov dword [esp], 3
call fcn.00416240
push ecx
movzx eax, word [0x693d20]
add eax, 1
mov dword [esp + 4], eax
movzx eax, word [0x693efe]
mov dword [esp], eax
call fcn.004015c0
push ebx
push ebx
movzx eax, word [0x693efe]
cmp eax, dword [0x693fd4]
jne 0x466c92
mov dword [0x693bf0], 0x1a90
mov dword [esp], eax
call fcn.004010a0
push edx
mov word [0x693d00], ax
movzx edx, word [0x693d1c]
and dx, 0x100
or eax, edx
mov word [0x693d1c], ax
add word [0x693f80], 1
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x466c4d
cmp bx, 0x4000
jbe 0x466826
cmp bx, 0x8000
jbe 0x466802
cmp bx, 0xc000
jbe 0x466826
test byte [0x693f68], 1
je 0x466826
jmp 0x466802
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46683f
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x466db1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x466e5a
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
push edx
movzx edx, byte [0x693c5e]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c5d]
or edx, ecx
xor al, 0x80
add edx, eax
lea eax, [edx - 0x80]
mov word [0x693efe], ax
mov word [0x69407c], ax
cmp dword [0x693b44], 4
jle 0x466e9c
cmp ax, 0x3fff
jbe 0x466ecc
test ax, ax
jns 0x466ea8
cmp ax, 0xbfff
jbe 0x466ecc
test byte [0x693f68], 1
je 0x466ecc
jmp 0x466ea8
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x466dca
lea eax, [edx - 0x4080]
cmp ax, 0x3fff
ja 0x466ecc
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x466f1e
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x466f5d
cmp ax, 0x3fff
jbe 0x466f8b
test ax, ax
jns 0x466f67
cmp ax, 0xbfff
jbe 0x466f8b
test byte [0x693f68], 1
je 0x466f8b
jmp 0x466f67
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x466ee1
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x466f8b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x466ff9
mov dword [esp], 1
call fcn.00416240
push ebp
mov word [0x693d1e], 1
movzx eax, word [0x693efe]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov word [0x693d20], ax
cmp dword [0x693b44], 4
jle 0x46703b
cmp bx, 0x3fff
jbe 0x46706b
test bx, bx
jns 0x467047
cmp bx, 0xbfff
jbe 0x46706b
test byte [0x693f68], 1
je 0x46706b
jmp 0x467047
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x466fa0
lea eax, [ebx - 0x4000]
cmp ax, 0x3fff
ja 0x46706b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4670ff
mov dword [esp], 3
call fcn.00416240
push ecx
movzx eax, word [0x693d20]
add eax, 1
mov dword [esp + 4], eax
movzx eax, word [0x693efe]
mov dword [esp], eax
call fcn.004015c0
push ebx
push ebx
movzx eax, word [0x693efe]
cmp eax, dword [0x693fd4]
jne 0x4670c5
mov dword [0x693bf0], 0x1a90
mov dword [esp], eax
call fcn.004010a0
push edx
mov word [0x693d00], ax
movzx edx, word [0x693d1c]
and dx, 0x100
or eax, edx
mov word [0x693d1c], ax
add word [0x693f80], 1
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x467080
cmp dword [0x693b44], 4
jle 0x46716a
cmp bx, 0x4000
jbe 0x46719a
cmp bx, 0x8000
jbe 0x467176
cmp bx, 0xc000
jbe 0x46719a
test byte [0x693f68], 1
je 0x46719a
jmp 0x467176
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46719a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46720f
mov dword [esp], 4
call fcn.00416240
push eax
mov word [0x693d1e], 1
movzx eax, byte [0x693f2a]
mov edx, eax
mov word [0x693d20], ax
lea eax, [edx + 1]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
movzx edx, word [0x693d1c]
and dx, 0x100
or eax, edx
mov word [0x693d1c], ax
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4671af
cmp dword [0x693b44], 4
jle 0x46727a
cmp bx, 0x4000
jbe 0x4672aa
cmp bx, 0x8000
jbe 0x467286
cmp bx, 0xc000
jbe 0x4672aa
test byte [0x693f68], 1
je 0x4672aa
jmp 0x467286
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4672aa
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46731f
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, byte [0x693f26]
mov edx, eax
mov word [0x693d20], ax
lea eax, [edx - 1]
mov byte [0x693f26], al
mov word [0x693d1e], 0xffff
movzx eax, al
mov word [0x693d00], ax
movzx edx, word [0x693d1c]
and dx, 0x100
or eax, edx
mov word [0x693d1c], ax
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4672bf
cmp dword [0x693b44], 4
jle 0x46738a
cmp bx, 0x4000
jbe 0x4673ba
cmp bx, 0x8000
jbe 0x467396
cmp bx, 0xc000
jbe 0x4673ba
test byte [0x693f68], 1
je 0x4673ba
jmp 0x467396
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4673ba
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46742f
mov dword [esp], 4
call fcn.00416240
push edx
movzx eax, byte [0x693f25]
mov edx, eax
mov word [0x693d20], ax
lea eax, [edx - 1]
mov byte [0x693f25], al
mov word [0x693d1e], 0xffff
movzx eax, al
mov word [0x693d00], ax
movzx edx, word [0x693d1c]
and dx, 0x100
or eax, edx
mov word [0x693d1c], ax
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4673cf
cmp dword [0x693b44], 4
jle 0x46749a
cmp bx, 0x4000
jbe 0x4674ca
cmp bx, 0x8000
jbe 0x4674a6
cmp bx, 0xc000
jbe 0x4674ca
test byte [0x693f68], 1
je 0x4674ca
jmp 0x4674a6
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4674ca
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46753f
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f24]
mov edx, eax
mov word [0x693d20], ax
lea eax, [edx - 1]
mov byte [0x693f24], al
mov word [0x693d1e], 0xffff
movzx eax, al
mov word [0x693d00], ax
movzx edx, word [0x693d1c]
and dx, 0x100
or eax, edx
mov word [0x693d1c], ax
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4674df
cmp dword [0x693b44], 4
jle 0x4675aa
cmp bx, 0x4000
jbe 0x4675da
cmp bx, 0x8000
jbe 0x4675b6
cmp bx, 0xc000
jbe 0x4675da
test byte [0x693f68], 1
je 0x4675da
jmp 0x4675b6
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4675da
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46764f
mov dword [esp], 4
call fcn.00416240
push ebp
movzx eax, byte [0x693f1c]
mov edx, eax
mov word [0x693d20], ax
lea eax, [edx - 1]
mov byte [0x693f1c], al
mov word [0x693d1e], 0xffff
movzx eax, al
mov word [0x693d00], ax
movzx edx, word [0x693d1c]
and dx, 0x100
or eax, edx
mov word [0x693d1c], ax
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4675ef
cmp byte [0x693bee], 0
jne 0x4676e7
cmp byte [0x693bbc], 0
je 0x4677f0
cmp dword [0x693b44], 4
jle 0x46789f
cmp bx, 0x4000
jbe 0x4678cf
cmp bx, 0x8000
jbe 0x4678ab
cmp bx, 0xc000
jbe 0x4678cf
test byte [0x693f68], 1
je 0x4678cf
jmp 0x4678ab
cmp dword [0x693b44], 4
jle 0x467710
cmp bx, 0x4000
jbe 0x467740
cmp bx, 0x8000
jbe 0x46771c
cmp bx, 0xc000
jbe 0x467740
test byte [0x693f68], 1
je 0x467740
jmp 0x46771c
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x467740
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4677ae
mov dword [esp], 4
call fcn.00416240
push ebx
movzx eax, byte [0x693f11]
mov edx, eax
mov word [0x693d20], ax
lea eax, [edx - 1]
mov byte [0x693f11], al
mov word [0x693d1e], 0xffff
movzx eax, al
mov word [0x693d00], ax
movzx edx, word [0x693d1c]
and dx, 0x100
or eax, edx
mov word [0x693d1c], ax
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x467755
cmp dword [0x693b44], 4
jg 0x46797f
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46782d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4679b2
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693c5e]
mov edx, eax
mov word [0x693d20], ax
lea eax, [edx - 1]
mov byte [0x693c5e], al
mov word [0x693d1e], 0xffff
movzx eax, al
mov word [0x693d00], ax
movzx edx, word [0x693d1c]
and dx, 0x100
or eax, edx
mov word [0x693d1c], ax
mov dword [0x693c88], 1
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4678cf
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46793d
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693c08]
mov edx, eax
mov word [0x693d20], ax
lea eax, [edx - 1]
mov byte [0x693c08], al
mov word [0x693d1e], 0xffff
movzx eax, al
mov word [0x693d00], ax
movzx edx, word [0x693d1c]
and dx, 0x100
or eax, edx
mov word [0x693d1c], ax
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4678e4
cmp bx, 0x4000
jbe 0x46782d
cmp bx, 0x8000
jbe 0x467809
cmp bx, 0xc000
jbe 0x46782d
test byte [0x693f68], 1
je 0x46782d
jmp 0x467809
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x467846
cmp byte [0x693bee], 0
jne 0x467a4a
cmp byte [0x693bbc], 0
je 0x467b53
cmp dword [0x693b44], 4
jle 0x467c02
cmp bx, 0x4000
jbe 0x467c32
cmp bx, 0x8000
jbe 0x467c0e
cmp bx, 0xc000
jbe 0x467c32
test byte [0x693f68], 1
je 0x467c32
jmp 0x467c0e
cmp dword [0x693b44], 4
jle 0x467a73
cmp bx, 0x4000
jbe 0x467aa3
cmp bx, 0x8000
jbe 0x467a7f
cmp bx, 0xc000
jbe 0x467aa3
test byte [0x693f68], 1
je 0x467aa3
jmp 0x467a7f
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x467aa3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x467b11
mov dword [esp], 4
call fcn.00416240
push edi
movzx eax, byte [0x693f01]
mov edx, eax
mov word [0x693d20], ax
lea eax, [edx - 1]
mov byte [0x693f01], al
mov word [0x693d1e], 0xffff
movzx eax, al
mov word [0x693d00], ax
movzx edx, word [0x693d1c]
and dx, 0x100
or eax, edx
mov word [0x693d1c], ax
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x467ab8
cmp dword [0x693b44], 4
jg 0x467ce2
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x467b90
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x467d15
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693c5d]
mov edx, eax
mov word [0x693d20], ax
lea eax, [edx - 1]
mov byte [0x693c5d], al
mov word [0x693d1e], 0xffff
movzx eax, al
mov word [0x693d00], ax
movzx edx, word [0x693d1c]
and dx, 0x100
or eax, edx
mov word [0x693d1c], ax
mov dword [0x693c88], 1
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x467c32
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x467ca0
mov dword [esp], 4
call fcn.00416240
push ecx
movzx eax, byte [0x693c00]
mov edx, eax
mov word [0x693d20], ax
lea eax, [edx - 1]
mov byte [0x693c00], al
mov word [0x693d1e], 0xffff
movzx eax, al
mov word [0x693d00], ax
movzx edx, word [0x693d1c]
and dx, 0x100
or eax, edx
mov word [0x693d1c], ax
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x467c47
cmp bx, 0x4000
jbe 0x467b90
cmp bx, 0x8000
jbe 0x467b6c
cmp bx, 0xc000
jbe 0x467b90
test byte [0x693f68], 1
je 0x467b90
jmp 0x467b6c
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x467ba9
cmp byte [0x693bee], 0
jne 0x467dad
cmp byte [0x693bbc], 0
je 0x46817f
cmp dword [0x693b44], 4
jle 0x468225
cmp bx, 0x4000
jbe 0x468255
cmp bx, 0x8000
jbe 0x468231
cmp bx, 0xc000
jbe 0x468255
test byte [0x693f68], 1
je 0x468255
jmp 0x468231
cmp dword [0x693b44], 4
jle 0x467dd6
cmp bx, 0x4000
jbe 0x467e06
cmp bx, 0x8000
jbe 0x467de2
cmp bx, 0xc000
jbe 0x467e06
test byte [0x693f68], 1
je 0x467e06
jmp 0x467de2
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x467e06
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x467ef0
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x467f32
cmp ax, 0x3fff
jbe 0x467e87
test ax, ax
js 0x467f41
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x467f5d
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x467f9f
cmp ax, 0x3fff
jbe 0x467fcd
test ax, ax
jns 0x467fa9
cmp ax, 0xbfff
jbe 0x467fcd
test byte [0x693f68], 1
je 0x467fcd
jmp 0x467fa9
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x467e1f
cmp ax, 0x3fff
jle 0x467e87
jmp 0x467e63
cmp ax, 0xbfff
jbe 0x467e87
test byte [0x693f68], 1
je 0x467e87
jmp 0x467e63
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x467ea0
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x467fcd
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x468032
mov dword [esp], 1
call fcn.00416240
push ebp
movzx eax, word [0x693efe]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov word [0x693d20], ax
cmp dword [0x693b44], 4
jle 0x468074
cmp bx, 0x3fff
jbe 0x4680a4
test bx, bx
jns 0x468080
cmp bx, 0xbfff
jbe 0x4680a4
test byte [0x693f68], 1
je 0x4680a4
jmp 0x468080
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x467fe2
lea eax, [ebx - 0x4000]
cmp ax, 0x3fff
ja 0x4680a4
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46813d
mov dword [esp], 3
call fcn.00416240
push ecx
movzx eax, word [0x693d20]
sub eax, 1
mov dword [esp + 4], eax
movzx eax, word [0x693efe]
mov dword [esp], eax
call fcn.004015c0
push ebx
push ebx
movzx eax, word [0x693efe]
cmp eax, dword [0x693fd4]
jne 0x468102
mov dword [0x693bf0], 0x1a90
mov word [0x693d1e], 0xffff
mov dword [esp], eax
call fcn.004010a0
push edx
mov word [0x693d00], ax
movzx edx, word [0x693d1c]
and dx, 0x100
or eax, edx
mov word [0x693d1c], ax
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4680bd
cmp dword [0x693b44], 4
jg 0x46869e
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4681bc
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4686d1
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x468713
cmp ax, 0x3fff
jbe 0x468741
test ax, ax
jns 0x46871d
cmp ax, 0xbfff
jbe 0x468741
test byte [0x693f68], 1
je 0x468741
jmp 0x46871d
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x468255
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4682a7
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4682e6
cmp ax, 0x3fff
jbe 0x468314
test ax, ax
jns 0x4682f0
cmp ax, 0xbfff
jbe 0x468314
test byte [0x693f68], 1
je 0x468314
jmp 0x4682f0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46826a
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x468314
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4683b7
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
push edx
movzx edx, byte [0x693c08]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c00]
or edx, ecx
xor al, 0x80
add edx, eax
lea eax, [edx - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x4683f9
cmp ax, 0x3fff
jbe 0x468429
test ax, ax
jns 0x468405
cmp ax, 0xbfff
jbe 0x468429
test byte [0x693f68], 1
je 0x468429
jmp 0x468405
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46832d
lea eax, [edx - 0x4080]
cmp ax, 0x3fff
ja 0x468429
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46847b
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x4684ba
cmp ax, 0x3fff
jbe 0x4684e8
test ax, ax
jns 0x4684c4
cmp ax, 0xbfff
jbe 0x4684e8
test byte [0x693f68], 1
je 0x4684e8
jmp 0x4684c4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46843e
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4684e8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x468556
mov dword [esp], 1
call fcn.00416240
push ebp
mov word [0x693d1e], 0xffff
movzx eax, word [0x693efe]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov word [0x693d20], ax
cmp dword [0x693b44], 4
jle 0x468598
cmp bx, 0x3fff
jbe 0x4685c8
test bx, bx
jns 0x4685a4
cmp bx, 0xbfff
jbe 0x4685c8
test byte [0x693f68], 1
je 0x4685c8
jmp 0x4685a4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4684fd
lea eax, [ebx - 0x4000]
cmp ax, 0x3fff
ja 0x4685c8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46865c
mov dword [esp], 3
call fcn.00416240
push ecx
movzx eax, word [0x693d20]
sub eax, 1
mov dword [esp + 4], eax
movzx eax, word [0x693efe]
mov dword [esp], eax
call fcn.004015c0
push ebx
push ebx
movzx eax, word [0x693efe]
cmp eax, dword [0x693fd4]
jne 0x468622
mov dword [0x693bf0], 0x1a90
mov dword [esp], eax
call fcn.004010a0
push edx
mov word [0x693d00], ax
movzx edx, word [0x693d1c]
and dx, 0x100
or eax, edx
mov word [0x693d1c], ax
add word [0x693f80], 1
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4685dd
cmp bx, 0x4000
jbe 0x4681bc
cmp bx, 0x8000
jbe 0x468198
cmp bx, 0xc000
jbe 0x4681bc
test byte [0x693f68], 1
je 0x4681bc
jmp 0x468198
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4681d5
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x468741
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4687e4
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
push edx
movzx edx, byte [0x693c5e]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c5d]
or edx, ecx
xor al, 0x80
add edx, eax
lea eax, [edx - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x468826
cmp ax, 0x3fff
jbe 0x468856
test ax, ax
jns 0x468832
cmp ax, 0xbfff
jbe 0x468856
test byte [0x693f68], 1
je 0x468856
jmp 0x468832
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46875a
lea eax, [edx - 0x4080]
cmp ax, 0x3fff
ja 0x468856
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4688a8
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x4688e7
cmp ax, 0x3fff
jbe 0x468915
test ax, ax
jns 0x4688f1
cmp ax, 0xbfff
jbe 0x468915
test byte [0x693f68], 1
je 0x468915
jmp 0x4688f1
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46886b
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x468915
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x468983
mov dword [esp], 1
call fcn.00416240
push ebp
mov word [0x693d1e], 0xffff
movzx eax, word [0x693efe]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov word [0x693d20], ax
cmp dword [0x693b44], 4
jle 0x4689c5
cmp bx, 0x3fff
jbe 0x4689f5
test bx, bx
jns 0x4689d1
cmp bx, 0xbfff
jbe 0x4689f5
test byte [0x693f68], 1
je 0x4689f5
jmp 0x4689d1
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46892a
lea eax, [ebx - 0x4000]
cmp ax, 0x3fff
ja 0x4689f5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x468a89
mov dword [esp], 3
call fcn.00416240
push ecx
movzx eax, word [0x693d20]
sub eax, 1
mov dword [esp + 4], eax
movzx eax, word [0x693efe]
mov dword [esp], eax
call fcn.004015c0
push ebx
push ebx
movzx eax, word [0x693efe]
cmp eax, dword [0x693fd4]
jne 0x468a4f
mov dword [0x693bf0], 0x1a90
mov dword [esp], eax
call fcn.004010a0
push edx
mov word [0x693d00], ax
movzx edx, word [0x693d1c]
and dx, 0x100
or eax, edx
mov word [0x693d1c], ax
add word [0x693f80], 1
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x468a0a
cmp dword [0x693b44], 4
jle 0x468af4
cmp bx, 0x4000
jbe 0x468b24
cmp bx, 0x8000
jbe 0x468b00
cmp bx, 0xc000
jbe 0x468b24
test byte [0x693f68], 1
je 0x468b24
jmp 0x468b00
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x468b24
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x468b99
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f2a]
mov edx, eax
mov word [0x693d20], ax
lea eax, [edx - 1]
mov byte [0x693f2a], al
mov word [0x693d1e], 0xffff
movzx eax, al
mov word [0x693d00], ax
movzx edx, word [0x693d1c]
and dx, 0x100
or eax, edx
mov word [0x693d1c], ax
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x468b39
cmp dword [0x693b44], 4
jle 0x468c04
cmp bx, 0x4000
jbe 0x468c34
cmp bx, 0x8000
jbe 0x468c10
cmp bx, 0xc000
jbe 0x468c34
test byte [0x693f68], 1
je 0x468c34
jmp 0x468c10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x468c34
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x468c86
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x468cc5
cmp ax, 0x3fff
jbe 0x468cf3
test ax, ax
jns 0x468ccf
cmp ax, 0xbfff
jbe 0x468cf3
test byte [0x693f68], 1
je 0x468cf3
jmp 0x468ccf
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x468c49
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x468cf3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x468d41
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov byte [0x693f26], al
lea eax, [ebx + 1]
mov word [0x693f80], ax
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x468d08
cmp dword [0x693b44], 4
jle 0x468da9
cmp bx, 0x4000
jbe 0x468dd9
cmp bx, 0x8000
jbe 0x468db5
cmp bx, 0xc000
jbe 0x468dd9
test byte [0x693f68], 1
je 0x468dd9
jmp 0x468db5
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x468dd9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x468e2b
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x468e6a
cmp ax, 0x3fff
jbe 0x468e98
test ax, ax
jns 0x468e74
cmp ax, 0xbfff
jbe 0x468e98
test byte [0x693f68], 1
je 0x468e98
jmp 0x468e74
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x468dee
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x468e98
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x468ee6
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov byte [0x693f25], al
lea eax, [ebx + 1]
mov word [0x693f80], ax
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x468ead
cmp dword [0x693b44], 4
jle 0x468f4e
cmp bx, 0x4000
jbe 0x468f7e
cmp bx, 0x8000
jbe 0x468f5a
cmp bx, 0xc000
jbe 0x468f7e
test byte [0x693f68], 1
je 0x468f7e
jmp 0x468f5a
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x468f7e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x468fd0
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x46900f
cmp ax, 0x3fff
jbe 0x46903d
test ax, ax
jns 0x469019
cmp ax, 0xbfff
jbe 0x46903d
test byte [0x693f68], 1
je 0x46903d
jmp 0x469019
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x468f93
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x46903d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46908b
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov byte [0x693f24], al
lea eax, [ebx + 1]
mov word [0x693f80], ax
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x469052
cmp dword [0x693b44], 4
jle 0x4690f3
cmp bx, 0x4000
jbe 0x469123
cmp bx, 0x8000
jbe 0x4690ff
cmp bx, 0xc000
jbe 0x469123
test byte [0x693f68], 1
je 0x469123
jmp 0x4690ff
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x469123
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x469175
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4691b4
cmp ax, 0x3fff
jbe 0x4691e2
test ax, ax
jns 0x4691be
cmp ax, 0xbfff
jbe 0x4691e2
test byte [0x693f68], 1
je 0x4691e2
jmp 0x4691be
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x469138
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4691e2
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x469230
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov byte [0x693f1c], al
lea eax, [ebx + 1]
mov word [0x693f80], ax
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4691f7
cmp byte [0x693bee], 0
jne 0x4692c5
cmp byte [0x693bbc], 0
je 0x469463
cmp dword [0x693b44], 4
jle 0x469509
cmp bx, 0x4000
jbe 0x469539
cmp bx, 0x8000
jbe 0x469515
cmp bx, 0xc000
jbe 0x469539
test byte [0x693f68], 1
je 0x469539
jmp 0x469515
cmp dword [0x693b44], 4
jle 0x4692ee
cmp bx, 0x4000
jbe 0x46931e
cmp bx, 0x8000
jbe 0x4692fa
cmp bx, 0xc000
jbe 0x46931e
test byte [0x693f68], 1
je 0x46931e
jmp 0x4692fa
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46931e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x469370
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4693af
cmp ax, 0x3fff
jbe 0x4693dd
test ax, ax
jns 0x4693b9
cmp ax, 0xbfff
jbe 0x4693dd
test byte [0x693f68], 1
je 0x4693dd
jmp 0x4693b9
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x469333
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4693dd
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x469424
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov byte [0x693f11], al
lea eax, [ebx + 1]
mov word [0x693f80], ax
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4693f2
cmp dword [0x693b44], 4
jg 0x46967e
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4694a0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4696b1
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4696f3
cmp ax, 0x3fff
jbe 0x469721
test ax, ax
jns 0x4696fd
cmp ax, 0xbfff
jbe 0x469721
test byte [0x693f68], 1
je 0x469721
jmp 0x4696fd
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x469539
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46958b
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4695ca
cmp ax, 0x3fff
jbe 0x4695f8
test ax, ax
jns 0x4695d4
cmp ax, 0xbfff
jbe 0x4695f8
test byte [0x693f68], 1
je 0x4695f8
jmp 0x4695d4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46954e
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4695f8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46963f
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov byte [0x693c08], al
lea eax, [ebx + 1]
mov word [0x693f80], ax
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46960d
cmp bx, 0x4000
jbe 0x4694a0
cmp bx, 0x8000
jbe 0x46947c
cmp bx, 0xc000
jbe 0x4694a0
test byte [0x693f68], 1
je 0x4694a0
jmp 0x46947c
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4694b9
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x469721
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x469768
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov byte [0x693c5e], al
lea eax, [ebx + 1]
mov word [0x693f80], ax
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x469736
cmp byte [0x693bee], 0
jne 0x4697fd
cmp byte [0x693bbc], 0
je 0x46999b
cmp dword [0x693b44], 4
jle 0x469a41
cmp bx, 0x4000
jbe 0x469a71
cmp bx, 0x8000
jbe 0x469a4d
cmp bx, 0xc000
jbe 0x469a71
test byte [0x693f68], 1
je 0x469a71
jmp 0x469a4d
cmp dword [0x693b44], 4
jle 0x469826
cmp bx, 0x4000
jbe 0x469856
cmp bx, 0x8000
jbe 0x469832
cmp bx, 0xc000
jbe 0x469856
test byte [0x693f68], 1
je 0x469856
jmp 0x469832
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x469856
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4698a8
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4698e7
cmp ax, 0x3fff
jbe 0x469915
test ax, ax
jns 0x4698f1
cmp ax, 0xbfff
jbe 0x469915
test byte [0x693f68], 1
je 0x469915
jmp 0x4698f1
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46986b
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x469915
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46995c
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov byte [0x693f01], al
lea eax, [ebx + 1]
mov word [0x693f80], ax
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46992a
cmp dword [0x693b44], 4
jg 0x469bb6
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4699d8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x469be9
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x469c2b
cmp ax, 0x3fff
jbe 0x469c59
test ax, ax
jns 0x469c35
cmp ax, 0xbfff
jbe 0x469c59
test byte [0x693f68], 1
je 0x469c59
jmp 0x469c35
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x469a71
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x469ac3
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x469b02
cmp ax, 0x3fff
jbe 0x469b30
test ax, ax
jns 0x469b0c
cmp ax, 0xbfff
jbe 0x469b30
test byte [0x693f68], 1
je 0x469b30
jmp 0x469b0c
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x469a86
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x469b30
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x469b77
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov byte [0x693c00], al
lea eax, [ebx + 1]
mov word [0x693f80], ax
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x469b45
cmp bx, 0x4000
jbe 0x4699d8
cmp bx, 0x8000
jbe 0x4699b4
cmp bx, 0xc000
jbe 0x4699d8
test byte [0x693f68], 1
je 0x4699d8
jmp 0x4699b4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4699f1
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x469c59
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x469ca0
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov byte [0x693c5d], al
lea eax, [ebx + 1]
mov word [0x693f80], ax
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x469c6e
cmp byte [0x693bee], 0
jne 0x469d35
cmp byte [0x693bbc], 0
je 0x469fee
cmp dword [0x693b44], 4
jle 0x46a094
cmp bx, 0x4000
jbe 0x46a0c4
cmp bx, 0x8000
jbe 0x46a0a0
cmp bx, 0xc000
jbe 0x46a0c4
test byte [0x693f68], 1
je 0x46a0c4
jmp 0x46a0a0
cmp dword [0x693b44], 4
jle 0x469d5e
cmp bx, 0x4000
jbe 0x469d8e
cmp bx, 0x8000
jbe 0x469d6a
cmp bx, 0xc000
jbe 0x469d8e
test byte [0x693f68], 1
je 0x469d8e
jmp 0x469d6a
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x469d8e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x469de0
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x469e1f
cmp ax, 0x3fff
jbe 0x469e4d
test ax, ax
jns 0x469e29
cmp ax, 0xbfff
jbe 0x469e4d
test byte [0x693f68], 1
je 0x469e4d
jmp 0x469e29
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x469da3
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x469e4d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x469eb1
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x469ef3
cmp eax, 0x3fff
jle 0x469f23
cmp eax, 0x7fff
jle 0x469eff
cmp eax, 0xbfff
jle 0x469f23
test byte [0x693f68], 1
je 0x469f23
jmp 0x469eff
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x469e62
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x469f23
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x469fac
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
push edx
mov dword [esp + 4], eax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov dword [esp], eax
call fcn.004015c0
push ecx
push ecx
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp eax, dword [0x693fd4]
jne 0x469f9f
mov dword [0x693bf0], 0x1a90
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x469f38
cmp dword [0x693b44], 4
jg 0x46a42c
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46a02b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46a45f
mov dword [esp], 4
call fcn.00416240
push edx
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x46a4a1
cmp ax, 0x3fff
jbe 0x46a4cf
test ax, ax
jns 0x46a4ab
cmp ax, 0xbfff
jbe 0x46a4cf
test byte [0x693f68], 1
je 0x46a4cf
jmp 0x46a4ab
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46a0c4
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46a116
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x46a155
cmp ax, 0x3fff
jbe 0x46a183
test ax, ax
jns 0x46a15f
cmp ax, 0xbfff
jbe 0x46a183
test byte [0x693f68], 1
je 0x46a183
jmp 0x46a15f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46a0d9
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x46a183
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46a1da
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x46a21c
cmp ax, 0x3ffe
jbe 0x46a24a
cmp ax, 0x7ffe
jbe 0x46a226
add ax, 0x4001
cmp ax, 0x3fff
ja 0x46a24a
test byte [0x693f68], 1
je 0x46a24a
jmp 0x46a226
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46a198
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x46a24a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46a30e
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 2
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
add eax, 1
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov word [0x693efe], ax
lea edx, [ebx + 1]
mov word [0x693f80], dx
movzx edx, byte [0x693c08]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c00]
or edx, ecx
xor al, 0x80
movzx eax, ax
add edx, eax
lea eax, [edx - 0x80]
mov dword [0x693f04], eax
cmp dword [0x693b44], 4
jle 0x46a350
cmp eax, 0x3fff
jle 0x46a381
cmp eax, 0x7fff
jle 0x46a35d
lea eax, [edx - 0xc080]
cmp eax, 0x3fff
ja 0x46a381
test byte [0x693f68], 1
je 0x46a381
jmp 0x46a35d
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46a263
lea eax, [edx - 0x4080]
cmp eax, 0x3fff
ja 0x46a381
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46a3ea
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
push edi
mov dword [esp + 4], eax
mov eax, dword [0x693f04]
mov dword [esp], eax
call fcn.004015c0
push ebp
push ebp
mov eax, dword [0x693fd4]
cmp dword [0x693f04], eax
jne 0x46a3dd
mov dword [0x693bf0], 0x1a90
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46a396
cmp bx, 0x4000
jbe 0x46a02b
cmp bx, 0x8000
jbe 0x46a007
cmp bx, 0xc000
jbe 0x46a02b
test byte [0x693f68], 1
je 0x46a02b
jmp 0x46a007
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46a044
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x46a4cf
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46a526
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x46a568
cmp ax, 0x3ffe
jbe 0x46a596
cmp ax, 0x7ffe
jbe 0x46a572
add ax, 0x4001
cmp ax, 0x3fff
ja 0x46a596
test byte [0x693f68], 1
je 0x46a596
jmp 0x46a572
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46a4e4
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x46a596
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46a65a
mov dword [esp], 3
call fcn.00416240
push edi
mov dword [esp + 8], 2
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
add eax, 1
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push ebp
mov word [0x693efe], ax
lea edx, [ebx + 1]
mov word [0x693f80], dx
movzx edx, byte [0x693c5e]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c5d]
or edx, ecx
xor al, 0x80
movzx eax, ax
add edx, eax
lea eax, [edx - 0x80]
mov dword [0x693f04], eax
cmp dword [0x693b44], 4
jle 0x46a69c
cmp eax, 0x3fff
jle 0x46a6cd
cmp eax, 0x7fff
jle 0x46a6a9
lea eax, [edx - 0xc080]
cmp eax, 0x3fff
ja 0x46a6cd
test byte [0x693f68], 1
je 0x46a6cd
jmp 0x46a6a9
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46a5af
lea eax, [edx - 0x4080]
cmp eax, 0x3fff
ja 0x46a6cd
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46a736
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
push edx
mov dword [esp + 4], eax
mov eax, dword [0x693f04]
mov dword [esp], eax
call fcn.004015c0
push ecx
push ecx
mov eax, dword [0x693fd4]
cmp dword [0x693f04], eax
jne 0x46a729
mov dword [0x693bf0], 0x1a90
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46a6e2
cmp dword [0x693b44], 4
jle 0x46a7a1
cmp bx, 0x4000
jbe 0x46a7d1
cmp bx, 0x8000
jbe 0x46a7ad
cmp bx, 0xc000
jbe 0x46a7d1
test byte [0x693f68], 1
je 0x46a7d1
jmp 0x46a7ad
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46a7d1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46a823
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x46a862
cmp ax, 0x3fff
jbe 0x46a890
test ax, ax
jns 0x46a86c
cmp ax, 0xbfff
jbe 0x46a890
test byte [0x693f68], 1
je 0x46a890
jmp 0x46a86c
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46a7e6
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x46a890
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46a8de
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov byte [0x693f2a], al
lea eax, [ebx + 1]
mov word [0x693f80], ax
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46a8a5
cmp dword [0x693b44], 4
jle 0x46a946
cmp bx, 0x4000
jbe 0x46a976
cmp bx, 0x8000
jbe 0x46a952
cmp bx, 0xc000
jbe 0x46a976
test byte [0x693f68], 1
je 0x46a976
jmp 0x46a952
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46a976
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46a9fd
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f2a]
imul eax, eax, 0x101
sar eax, 7
mov word [0x693efe], ax
mov byte [0x693f2a], al
movzx edx, word [0x693d1c]
and dx, 0xd7
and ax, 0x128
or eax, edx
mov word [0x693d1c], ax
movzx eax, word [0x693d20]
xor ax, word [0x693d00]
and eax, 0x10
mov edx, eax
movzx eax, word [0x693d1e]
and ax, 0x80
or eax, edx
mov word [0x693d1e], ax
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46a98b
cmp dword [0x693b44], 4
jle 0x46aa68
cmp bx, 0x4000
jbe 0x46aa98
cmp bx, 0x8000
jbe 0x46aa74
cmp bx, 0xc000
jbe 0x46aa98
test byte [0x693f68], 1
je 0x46aa98
jmp 0x46aa74
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46aa98
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46ab2b
mov dword [esp], 4
call fcn.00416240
push edi
movzx eax, byte [0x693f2a]
mov edx, eax
and edx, 1
add edx, 1
shl edx, 7
xor dl, 0x80
shr al, 1
movzx eax, al
or eax, edx
mov word [0x693efe], ax
mov byte [0x693f2a], al
movzx edx, word [0x693d1c]
and dx, 0xd7
and ax, 0x128
or eax, edx
mov word [0x693d1c], ax
movzx eax, word [0x693d20]
xor ax, word [0x693d00]
and eax, 0x10
mov edx, eax
movzx eax, word [0x693d1e]
and ax, 0x80
or eax, edx
mov word [0x693d1e], ax
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46aaad
cmp dword [0x693b44], 4
jle 0x46ab96
cmp bx, 0x4000
jbe 0x46abc6
cmp bx, 0x8000
jbe 0x46aba2
cmp bx, 0xc000
jbe 0x46abc6
test byte [0x693f68], 1
je 0x46abc6
jmp 0x46aba2
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46abc6
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46ac55
mov dword [esp], 4
call fcn.00416240
push ecx
movzx ecx, word [0x693d1c]
mov eax, ecx
shr ax, 8
and eax, 1
mov edx, eax
movzx eax, byte [0x693f2a]
add eax, eax
or eax, edx
mov word [0x693efe], ax
mov byte [0x693f2a], al
and cx, 0xd7
mov edx, ecx
and ax, 0x128
or eax, edx
mov word [0x693d1c], ax
movzx eax, word [0x693d20]
xor ax, word [0x693d00]
and eax, 0x10
mov edx, eax
movzx eax, word [0x693d1e]
and ax, 0x80
or eax, edx
mov word [0x693d1e], ax
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46abdb
cmp dword [0x693b44], 4
jle 0x46acc0
cmp bx, 0x4000
jbe 0x46acf0
cmp bx, 0x8000
jbe 0x46accc
cmp bx, 0xc000
jbe 0x46acf0
test byte [0x693f68], 1
je 0x46acf0
jmp 0x46accc
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46acf0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46ad80
mov dword [esp], 4
call fcn.00416240
push eax
movzx edx, word [0x693d1c]
movzx eax, byte [0x693f2a]
imul eax, eax, 0x201
mov ecx, edx
and ecx, 0x100
or eax, ecx
sar eax, 1
mov word [0x693efe], ax
mov byte [0x693f2a], al
and dx, 0xd7
and ax, 0x128
or eax, edx
mov word [0x693d1c], ax
movzx eax, word [0x693d20]
xor ax, word [0x693d00]
and eax, 0x10
mov edx, eax
movzx eax, word [0x693d1e]
and ax, 0x80
or eax, edx
mov word [0x693d1e], ax
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46ad05
cmp byte [0x693bee], 0
jne 0x46ae18
cmp byte [0x693bbc], 0
je 0x46afd1
cmp dword [0x693b44], 4
jle 0x46b12c
cmp bx, 0x4000
jbe 0x46b15c
cmp bx, 0x8000
jbe 0x46b138
cmp bx, 0xc000
jbe 0x46b15c
test byte [0x693f68], 1
je 0x46b15c
jmp 0x46b138
cmp dword [0x693b44], 4
jle 0x46ae41
cmp bx, 0x4000
jbe 0x46ae71
cmp bx, 0x8000
jbe 0x46ae4d
cmp bx, 0xc000
jbe 0x46ae71
test byte [0x693f68], 1
je 0x46ae71
jmp 0x46ae4d
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46ae71
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46af8f
mov dword [esp], 4
call fcn.00416240
push eax
mov dword [esp + 8], 7
mov dword [esp + 4], 1
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx ecx, byte [0x693f11]
movzx edi, byte [0x693f26]
movzx edx, byte [0x693f25]
movzx eax, byte [0x693f01]
lea ebx, [edx + eax]
movzx edx, cl
mov eax, edi
movzx eax, al
add eax, edx
shl eax, 8
add eax, ebx
mov dword [0x693ef8], eax
mov edx, eax
sar edx, 8
movzx ebx, word [0x693d1c]
and bx, 0x80
mov esi, edx
and si, 0x128
or ebx, esi
mov word [0x693d1c], bx
movzx esi, word [0x693d00]
xor si, word [0x693d20]
mov ebx, edi
xor ebx, ecx
movzx ebx, bl
xor ebx, esi
xor ebx, edx
mov esi, ebx
and esi, 0x10
movzx ebx, word [0x693d1e]
and bx, 0x80
or ebx, esi
mov word [0x693d1e], bx
mov ebx, ecx
shl ebx, 8
movzx ecx, byte [0x693f01]
lea ecx, [ebx + ecx + 1]
mov word [0x69407c], cx
mov byte [0x693f11], dl
mov byte [0x693f01], al
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46ae8a
cmp dword [0x693b44], 4
jg 0x46b2bc
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46b00e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46b2ef
mov dword [esp], 4
call fcn.00416240
push edx
mov dword [esp + 8], 7
mov dword [esp + 4], 1
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx ecx, byte [0x693c5e]
movzx edi, byte [0x693f26]
movzx edx, byte [0x693f25]
movzx eax, byte [0x693c5d]
lea ebx, [edx + eax]
movzx edx, cl
mov eax, edi
movzx eax, al
add eax, edx
shl eax, 8
add eax, ebx
mov dword [0x693ef8], eax
mov edx, eax
sar edx, 8
movzx ebx, word [0x693d1c]
and bx, 0x80
mov esi, edx
and si, 0x128
or ebx, esi
mov word [0x693d1c], bx
movzx esi, word [0x693d00]
xor si, word [0x693d20]
mov ebx, edi
xor ebx, ecx
movzx ebx, bl
xor ebx, esi
xor ebx, edx
mov esi, ebx
and esi, 0x10
movzx ebx, word [0x693d1e]
and bx, 0x80
or ebx, esi
mov word [0x693d1e], bx
mov ebx, ecx
shl ebx, 8
movzx ecx, byte [0x693c5d]
lea ecx, [ebx + ecx + 1]
mov word [0x69407c], cx
mov byte [0x693c5e], dl
mov byte [0x693c5d], al
mov dword [0x693c88], 1
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46b15c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46b27a
mov dword [esp], 4
call fcn.00416240
push esi
mov dword [esp + 8], 7
mov dword [esp + 4], 1
movzx edx, byte [0x693f38]
and edx, 0xffffff80
movzx eax, byte [0x693f00]
and eax, 0x7f
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx ecx, byte [0x693c08]
movzx edi, byte [0x693f26]
movzx edx, byte [0x693f25]
movzx eax, byte [0x693c00]
lea ebx, [edx + eax]
movzx edx, cl
mov eax, edi
movzx eax, al
add eax, edx
shl eax, 8
add eax, ebx
mov dword [0x693ef8], eax
mov edx, eax
sar edx, 8
movzx ebx, word [0x693d1c]
and bx, 0x80
mov esi, edx
and si, 0x128
or ebx, esi
mov word [0x693d1c], bx
movzx esi, word [0x693d00]
xor si, word [0x693d20]
mov ebx, edi
xor ebx, ecx
movzx ebx, bl
xor ebx, esi
xor ebx, edx
mov esi, ebx
and esi, 0x10
movzx ebx, word [0x693d1e]
and bx, 0x80
or ebx, esi
mov word [0x693d1e], bx
mov ebx, ecx
shl ebx, 8
movzx ecx, byte [0x693c00]
lea ecx, [ebx + ecx + 1]
mov word [0x69407c], cx
mov byte [0x693c08], dl
mov byte [0x693c00], al
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46b175
cmp bx, 0x4000
jbe 0x46b00e
cmp bx, 0x8000
jbe 0x46afea
cmp bx, 0xc000
jbe 0x46b00e
test byte [0x693f68], 1
je 0x46b00e
jmp 0x46afea
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46b027
cmp byte [0x693bee], 0
jne 0x46b387
cmp byte [0x693bbc], 0
je 0x46b540
cmp dword [0x693b44], 4
jle 0x46b69b
cmp bx, 0x4000
jbe 0x46b6cb
cmp bx, 0x8000
jbe 0x46b6a7
cmp bx, 0xc000
jbe 0x46b6cb
test byte [0x693f68], 1
je 0x46b6cb
jmp 0x46b6a7
cmp dword [0x693b44], 4
jle 0x46b3b0
cmp bx, 0x4000
jbe 0x46b3e0
cmp bx, 0x8000
jbe 0x46b3bc
cmp bx, 0xc000
jbe 0x46b3e0
test byte [0x693f68], 1
je 0x46b3e0
jmp 0x46b3bc
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46b3e0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46b4fe
mov dword [esp], 4
call fcn.00416240
push eax
mov dword [esp + 8], 7
mov dword [esp + 4], 1
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx ecx, byte [0x693f11]
movzx edi, byte [0x693f24]
movzx edx, byte [0x693f1c]
movzx eax, byte [0x693f01]
lea ebx, [edx + eax]
movzx edx, cl
mov eax, edi
movzx eax, al
add eax, edx
shl eax, 8
add eax, ebx
mov dword [0x693ef8], eax
mov edx, eax
sar edx, 8
movzx ebx, word [0x693d1c]
and bx, 0x80
mov esi, edx
and si, 0x128
or ebx, esi
mov word [0x693d1c], bx
movzx esi, word [0x693d00]
xor si, word [0x693d20]
mov ebx, edi
xor ebx, ecx
movzx ebx, bl
xor ebx, esi
xor ebx, edx
mov esi, ebx
and esi, 0x10
movzx ebx, word [0x693d1e]
and bx, 0x80
or ebx, esi
mov word [0x693d1e], bx
mov ebx, ecx
shl ebx, 8
movzx ecx, byte [0x693f01]
lea ecx, [ebx + ecx + 1]
mov word [0x69407c], cx
mov byte [0x693f11], dl
mov byte [0x693f01], al
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46b3f9
cmp dword [0x693b44], 4
jg 0x46b82b
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46b57d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46b85e
mov dword [esp], 4
call fcn.00416240
push ebx
mov dword [esp + 8], 7
mov dword [esp + 4], 1
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx ecx, byte [0x693c5e]
movzx edi, byte [0x693f24]
movzx edx, byte [0x693f1c]
movzx eax, byte [0x693c5d]
lea ebx, [edx + eax]
movzx edx, cl
mov eax, edi
movzx eax, al
add eax, edx
shl eax, 8
add eax, ebx
mov dword [0x693ef8], eax
mov edx, eax
sar edx, 8
movzx ebx, word [0x693d1c]
and bx, 0x80
mov esi, edx
and si, 0x128
or ebx, esi
mov word [0x693d1c], bx
movzx esi, word [0x693d00]
xor si, word [0x693d20]
mov ebx, edi
xor ebx, ecx
movzx ebx, bl
xor ebx, esi
xor ebx, edx
mov esi, ebx
and esi, 0x10
movzx ebx, word [0x693d1e]
and bx, 0x80
or ebx, esi
mov word [0x693d1e], bx
mov ebx, ecx
shl ebx, 8
movzx ecx, byte [0x693c5d]
lea ecx, [ebx + ecx + 1]
mov word [0x69407c], cx
mov byte [0x693c5e], dl
mov byte [0x693c5d], al
mov dword [0x693c88], 1
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46b6cb
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46b7e9
mov dword [esp], 4
call fcn.00416240
push ebp
mov dword [esp + 8], 7
mov dword [esp + 4], 1
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx ecx, byte [0x693c08]
movzx edi, byte [0x693f24]
movzx edx, byte [0x693f1c]
movzx eax, byte [0x693c00]
lea ebx, [edx + eax]
movzx edx, cl
mov eax, edi
movzx eax, al
add eax, edx
shl eax, 8
add eax, ebx
mov dword [0x693ef8], eax
mov edx, eax
sar edx, 8
movzx ebx, word [0x693d1c]
and bx, 0x80
mov esi, edx
and si, 0x128
or ebx, esi
mov word [0x693d1c], bx
movzx esi, word [0x693d00]
xor si, word [0x693d20]
mov ebx, edi
xor ebx, ecx
movzx ebx, bl
xor ebx, esi
xor ebx, edx
mov esi, ebx
and esi, 0x10
movzx ebx, word [0x693d1e]
and bx, 0x80
or ebx, esi
mov word [0x693d1e], bx
mov ebx, ecx
shl ebx, 8
movzx ecx, byte [0x693c00]
lea ecx, [ebx + ecx + 1]
mov word [0x69407c], cx
mov byte [0x693c08], dl
mov byte [0x693c00], al
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46b6e4
cmp bx, 0x4000
jbe 0x46b57d
cmp bx, 0x8000
jbe 0x46b559
cmp bx, 0xc000
jbe 0x46b57d
test byte [0x693f68], 1
je 0x46b57d
jmp 0x46b559
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46b596
cmp byte [0x693bee], 0
jne 0x46b8f6
cmp byte [0x693bbc], 0
je 0x46ba91
cmp dword [0x693b44], 4
jle 0x46bbce
cmp bx, 0x4000
jbe 0x46bbfe
cmp bx, 0x8000
jbe 0x46bbda
cmp bx, 0xc000
jbe 0x46bbfe
test byte [0x693f68], 1
je 0x46bbfe
jmp 0x46bbda
cmp dword [0x693b44], 4
jle 0x46b91f
cmp bx, 0x4000
jbe 0x46b94f
cmp bx, 0x8000
jbe 0x46b92b
cmp bx, 0xc000
jbe 0x46b94f
test byte [0x693f68], 1
je 0x46b94f
jmp 0x46b92b
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46b94f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46ba4f
mov dword [esp], 4
call fcn.00416240
push eax
mov dword [esp + 8], 7
mov dword [esp + 4], 1
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, byte [0x693f11]
mov ecx, eax
shl eax, 9
mov edx, eax
movzx eax, byte [0x693f01]
add eax, eax
add eax, edx
mov dword [0x693ef8], eax
mov edx, eax
sar edx, 8
movzx ebx, word [0x693d1c]
and bx, 0x80
mov esi, edx
and si, 0x128
or ebx, esi
mov word [0x693d1c], bx
movzx ebx, word [0x693d00]
xor bx, word [0x693d20]
xor ebx, edx
mov esi, ebx
and esi, 0x10
movzx ebx, word [0x693d1e]
and bx, 0x80
or ebx, esi
mov word [0x693d1e], bx
mov ebx, ecx
shl ebx, 8
movzx ecx, byte [0x693f01]
lea ecx, [ebx + ecx + 1]
mov word [0x69407c], cx
mov byte [0x693f11], dl
mov byte [0x693f01], al
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46b968
cmp dword [0x693b44], 4
jg 0x46bd40
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46bace
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46bd73
mov dword [esp], 4
call fcn.00416240
push edi
mov dword [esp + 8], 7
mov dword [esp + 4], 1
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, byte [0x693c5e]
mov ecx, eax
shl eax, 9
mov edx, eax
movzx eax, byte [0x693c5d]
add eax, eax
add eax, edx
mov dword [0x693ef8], eax
mov edx, eax
sar edx, 8
movzx ebx, word [0x693d1c]
and bx, 0x80
mov esi, edx
and si, 0x128
or ebx, esi
mov word [0x693d1c], bx
movzx ebx, word [0x693d00]
xor bx, word [0x693d20]
xor ebx, edx
mov esi, ebx
and esi, 0x10
movzx ebx, word [0x693d1e]
and bx, 0x80
or ebx, esi
mov word [0x693d1e], bx
mov ebx, ecx
shl ebx, 8
movzx ecx, byte [0x693c5d]
lea ecx, [ebx + ecx + 1]
mov word [0x69407c], cx
mov byte [0x693c5e], dl
mov byte [0x693c5d], al
mov dword [0x693c88], 1
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46bbfe
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46bcfe
mov dword [esp], 4
call fcn.00416240
push eax
mov dword [esp + 8], 7
mov dword [esp + 4], 1
movzx edx, byte [0x693f38]
and edx, 0xffffff80
movzx eax, byte [0x693f00]
and eax, 0x7f
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, byte [0x693c08]
mov ecx, eax
shl eax, 9
mov edx, eax
movzx eax, byte [0x693c00]
add eax, eax
add eax, edx
mov dword [0x693ef8], eax
mov edx, eax
sar edx, 8
movzx ebx, word [0x693d1c]
and bx, 0x80
mov esi, edx
and si, 0x128
or ebx, esi
mov word [0x693d1c], bx
movzx ebx, word [0x693d00]
xor bx, word [0x693d20]
xor ebx, edx
mov esi, ebx
and esi, 0x10
movzx ebx, word [0x693d1e]
and bx, 0x80
or ebx, esi
mov word [0x693d1e], bx
mov ebx, ecx
shl ebx, 8
movzx ecx, byte [0x693c00]
lea ecx, [ebx + ecx + 1]
mov word [0x69407c], cx
mov byte [0x693c08], dl
mov byte [0x693c00], al
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46bc17
cmp bx, 0x4000
jbe 0x46bace
cmp bx, 0x8000
jbe 0x46baaa
cmp bx, 0xc000
jbe 0x46bace
test byte [0x693f68], 1
je 0x46bace
jmp 0x46baaa
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46bae7
cmp byte [0x693bee], 0
jne 0x46be0b
cmp byte [0x693bbc], 0
je 0x46bfbd
cmp dword [0x693b44], 4
jle 0x46c111
cmp bx, 0x4000
jbe 0x46c141
cmp bx, 0x8000
jbe 0x46c11d
cmp bx, 0xc000
jbe 0x46c141
test byte [0x693f68], 1
je 0x46c141
jmp 0x46c11d
cmp dword [0x693b44], 4
jle 0x46be34
cmp bx, 0x4000
jbe 0x46be64
cmp bx, 0x8000
jbe 0x46be40
cmp bx, 0xc000
jbe 0x46be64
test byte [0x693f68], 1
je 0x46be64
jmp 0x46be40
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46be64
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46bf7b
mov dword [esp], 4
call fcn.00416240
push ecx
mov dword [esp + 8], 7
mov dword [esp + 4], 1
movzx edx, byte [0x693f38]
and edx, 0xffffff80
movzx eax, byte [0x693f00]
and eax, 0x7f
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx esi, word [0x693e70]
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or edx, eax
movzx eax, si
add eax, edx
mov dword [0x693ef8], eax
mov edx, eax
sar edx, 8
movzx ecx, word [0x693d1c]
and cx, 0x80
mov ebx, edx
and bx, 0x128
or ecx, ebx
mov word [0x693d1c], cx
movzx ecx, byte [0x693f11]
movzx ebx, word [0x693d00]
xor bx, word [0x693d20]
shr si, 8
xor ebx, esi
xor ebx, ecx
xor ebx, edx
mov esi, ebx
and esi, 0x10
movzx ebx, word [0x693d1e]
and bx, 0x80
or ebx, esi
mov word [0x693d1e], bx
mov ebx, ecx
shl ebx, 8
movzx ecx, byte [0x693f01]
lea ecx, [ebx + ecx + 1]
mov word [0x69407c], cx
mov byte [0x693f11], dl
mov byte [0x693f01], al
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46be7d
cmp dword [0x693b44], 4
jg 0x46c29a
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46bffa
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46c2cd
mov dword [esp], 4
call fcn.00416240
push eax
mov dword [esp + 8], 7
mov dword [esp + 4], 1
movzx edx, byte [0x693f38]
and edx, 0xffffff80
movzx eax, byte [0x693f00]
and eax, 0x7f
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx esi, word [0x693e70]
movzx eax, byte [0x693c5e]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693c5d]
or edx, eax
movzx eax, si
add eax, edx
mov dword [0x693ef8], eax
mov edx, eax
sar edx, 8
movzx ecx, word [0x693d1c]
and cx, 0x80
mov ebx, edx
and bx, 0x128
or ecx, ebx
mov word [0x693d1c], cx
movzx ecx, byte [0x693c5e]
movzx ebx, word [0x693d00]
xor bx, word [0x693d20]
shr si, 8
xor ebx, esi
xor ebx, ecx
xor ebx, edx
mov esi, ebx
and esi, 0x10
movzx ebx, word [0x693d1e]
and bx, 0x80
or ebx, esi
mov word [0x693d1e], bx
mov ebx, ecx
shl ebx, 8
movzx ecx, byte [0x693c5d]
lea ecx, [ebx + ecx + 1]
mov word [0x69407c], cx
mov byte [0x693c5e], dl
mov byte [0x693c5d], al
mov dword [0x693c88], 1
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46c141
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46c258
mov dword [esp], 4
call fcn.00416240
push eax
mov dword [esp + 8], 7
mov dword [esp + 4], 1
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx esi, word [0x693e70]
movzx eax, byte [0x693c08]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693c00]
or edx, eax
movzx eax, si
add eax, edx
mov dword [0x693ef8], eax
mov edx, eax
sar edx, 8
movzx ecx, word [0x693d1c]
and cx, 0x80
mov ebx, edx
and bx, 0x128
or ecx, ebx
mov word [0x693d1c], cx
movzx ecx, byte [0x693c08]
movzx ebx, word [0x693d00]
xor bx, word [0x693d20]
shr si, 8
xor ebx, esi
xor ebx, ecx
xor ebx, edx
mov esi, ebx
and esi, 0x10
movzx ebx, word [0x693d1e]
and bx, 0x80
or ebx, esi
mov word [0x693d1e], bx
mov ebx, ecx
shl ebx, 8
movzx ecx, byte [0x693c00]
lea ecx, [ebx + ecx + 1]
mov word [0x69407c], cx
mov byte [0x693c08], dl
mov byte [0x693c00], al
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46c15a
cmp bx, 0x4000
jbe 0x46bffa
cmp bx, 0x8000
jbe 0x46bfd6
cmp bx, 0xc000
jbe 0x46bffa
test byte [0x693f68], 1
je 0x46bffa
jmp 0x46bfd6
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46c013
cmp dword [0x693b44], 4
jle 0x46c338
cmp bx, 0x4000
jbe 0x46c368
cmp bx, 0x8000
jbe 0x46c344
cmp bx, 0xc000
jbe 0x46c368
test byte [0x693f68], 1
je 0x46c368
jmp 0x46c344
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46c368
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46c3ba
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x46c3f9
cmp ax, 0x3fff
jbe 0x46c427
test ax, ax
jns 0x46c403
cmp ax, 0xbfff
jbe 0x46c427
test byte [0x693f68], 1
je 0x46c427
jmp 0x46c403
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46c37d
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x46c427
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46c49b
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
xor al, 0x80
lea eax, [ebx + eax - 0x7f]
mov word [0x693f80], ax
mov word [0x69407c], ax
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46c43c
cmp word [0x693d00], 0
jne 0x46c591
cmp dword [0x693b44], 4
jg 0x46c758
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46c528
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46c78b
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x46c7cd
cmp ax, 0x3fff
jbe 0x46c7fb
test ax, ax
jns 0x46c7d7
cmp ax, 0xbfff
jbe 0x46c7fb
test byte [0x693f68], 1
je 0x46c7fb
jmp 0x46c7d7
cmp dword [0x693b44], 4
jle 0x46c5ba
cmp bx, 0x4000
jbe 0x46c5ea
cmp bx, 0x8000
jbe 0x46c5c6
cmp bx, 0xc000
jbe 0x46c5ea
test byte [0x693f68], 1
je 0x46c5ea
jmp 0x46c5c6
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46c5ea
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46c63c
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x46c67b
cmp ax, 0x3fff
jbe 0x46c6a9
test ax, ax
jns 0x46c685
cmp ax, 0xbfff
jbe 0x46c6a9
test byte [0x693f68], 1
je 0x46c6a9
jmp 0x46c685
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46c5ff
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x46c6a9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46c716
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
xor al, 0x80
lea eax, [ebx + eax - 0x7f]
mov word [0x693f80], ax
mov word [0x69407c], ax
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46c6be
cmp bx, 0x4000
jbe 0x46c528
cmp bx, 0x8000
jbe 0x46c504
cmp bx, 0xc000
jbe 0x46c528
test byte [0x693f68], 1
je 0x46c528
jmp 0x46c504
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46c541
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x46c7fb
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46c82a
mov dword [esp], 3
call fcn.00416240
push edi
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46c810
cmp word [0x693d00], 0
jne 0x46c91d
cmp dword [0x693b44], 4
jg 0x46caa3
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46c8b4
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46cad6
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x46cb18
cmp ax, 0x3fff
jbe 0x46cb46
test ax, ax
jns 0x46cb22
cmp ax, 0xbfff
jbe 0x46cb46
test byte [0x693f68], 1
je 0x46cb46
jmp 0x46cb22
cmp dword [0x693b44], 4
jle 0x46c946
cmp bx, 0x4000
jbe 0x46c976
cmp bx, 0x8000
jbe 0x46c952
cmp bx, 0xc000
jbe 0x46c976
test byte [0x693f68], 1
je 0x46c976
jmp 0x46c952
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46c976
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46c9c8
mov dword [esp], 4
call fcn.00416240
push ecx
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x46ca07
cmp ax, 0x3fff
jbe 0x46ca35
test ax, ax
jns 0x46ca11
cmp ax, 0xbfff
jbe 0x46ca35
test byte [0x693f68], 1
je 0x46ca35
jmp 0x46ca11
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46c98b
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x46ca35
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46ca64
mov dword [esp], 3
call fcn.00416240
push eax
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46ca4a
cmp bx, 0x4000
jbe 0x46c8b4
cmp bx, 0x8000
jbe 0x46c890
cmp bx, 0xc000
jbe 0x46c8b4
test byte [0x693f68], 1
je 0x46c8b4
jmp 0x46c890
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46c8cd
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x46cb46
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46cbb3
mov dword [esp], 3
call fcn.00416240
push ecx
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push esi
xor al, 0x80
lea eax, [ebx + eax - 0x7f]
mov word [0x693f80], ax
mov word [0x69407c], ax
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46cb5b
test byte [0x693d1d], 1
jne 0x46cca8
cmp dword [0x693b44], 4
jg 0x46ce2e
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46cc3f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46ce61
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x46cea3
cmp ax, 0x3fff
jbe 0x46ced1
test ax, ax
jns 0x46cead
cmp ax, 0xbfff
jbe 0x46ced1
test byte [0x693f68], 1
je 0x46ced1
jmp 0x46cead
cmp dword [0x693b44], 4
jle 0x46ccd1
cmp bx, 0x4000
jbe 0x46cd01
cmp bx, 0x8000
jbe 0x46ccdd
cmp bx, 0xc000
jbe 0x46cd01
test byte [0x693f68], 1
je 0x46cd01
jmp 0x46ccdd
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46cd01
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46cd53
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x46cd92
cmp ax, 0x3fff
jbe 0x46cdc0
test ax, ax
jns 0x46cd9c
cmp ax, 0xbfff
jbe 0x46cdc0
test byte [0x693f68], 1
je 0x46cdc0
jmp 0x46cd9c
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46cd16
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x46cdc0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46cdef
mov dword [esp], 3
call fcn.00416240
push eax
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46cdd5
cmp bx, 0x4000
jbe 0x46cc3f
cmp bx, 0x8000
jbe 0x46cc1b
cmp bx, 0xc000
jbe 0x46cc3f
test byte [0x693f68], 1
je 0x46cc3f
jmp 0x46cc1b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46cc58
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x46ced1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46cf3e
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
xor al, 0x80
lea eax, [ebx + eax - 0x7f]
mov word [0x693f80], ax
mov word [0x69407c], ax
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46cee6
test byte [0x693d1d], 1
jne 0x46d033
cmp dword [0x693b44], 4
jg 0x46d1fa
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46cfca
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46d22d
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x46d26f
cmp ax, 0x3fff
jbe 0x46d29d
test ax, ax
jns 0x46d279
cmp ax, 0xbfff
jbe 0x46d29d
test byte [0x693f68], 1
je 0x46d29d
jmp 0x46d279
cmp dword [0x693b44], 4
jle 0x46d05c
cmp bx, 0x4000
jbe 0x46d08c
cmp bx, 0x8000
jbe 0x46d068
cmp bx, 0xc000
jbe 0x46d08c
test byte [0x693f68], 1
je 0x46d08c
jmp 0x46d068
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46d08c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46d0de
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x46d11d
cmp ax, 0x3fff
jbe 0x46d14b
test ax, ax
jns 0x46d127
cmp ax, 0xbfff
jbe 0x46d14b
test byte [0x693f68], 1
je 0x46d14b
jmp 0x46d127
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46d0a1
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x46d14b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46d1b8
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
xor al, 0x80
lea eax, [ebx + eax - 0x7f]
mov word [0x693f80], ax
mov word [0x69407c], ax
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46d160
cmp bx, 0x4000
jbe 0x46cfca
cmp bx, 0x8000
jbe 0x46cfa6
cmp bx, 0xc000
jbe 0x46cfca
test byte [0x693f68], 1
je 0x46cfca
jmp 0x46cfa6
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46cfe3
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x46d29d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46d2cc
mov dword [esp], 3
call fcn.00416240
push edi
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46d2b2
cmp dword [0x693b44], 4
jle 0x46d334
cmp bx, 0x4000
jbe 0x46d364
cmp bx, 0x8000
jbe 0x46d340
cmp bx, 0xc000
jbe 0x46d364
test byte [0x693f68], 1
je 0x46d364
jmp 0x46d340
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46d364
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46d41b
mov dword [esp], 4
call fcn.00416240
push ecx
movzx eax, byte [0x693f2a]
movzx edx, byte [0x693f48]
mov byte [0x693f2a], dl
mov byte [0x693f48], al
movzx eax, word [0x693d1c]
movzx edx, word [0x694064]
mov word [0x693d1c], dx
mov word [0x694064], ax
movzx eax, word [0x693d00]
movzx edx, word [0x693bec]
mov word [0x693d00], dx
mov word [0x693bec], ax
movzx eax, word [0x693d20]
movzx edx, word [0x693c38]
mov word [0x693d20], dx
mov word [0x693c38], ax
movzx eax, word [0x693d1e]
movzx edx, word [0x693bb8]
mov word [0x693d1e], dx
mov word [0x693bb8], ax
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46d37d
cmp byte [0x693f26], 1
je 0x46d4a6
cmp dword [0x693b44], 4
jle 0x46d575
cmp bx, 0x4000
jbe 0x46d5a5
cmp bx, 0x8000
jbe 0x46d581
cmp bx, 0xc000
jbe 0x46d5a5
test byte [0x693f68], 1
je 0x46d5a5
jmp 0x46d581
cmp dword [0x693b44], 4
jg 0x46d800
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46d4e3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46d833
mov dword [esp], 4
call fcn.00416240
push eax
sub byte [0x693f26], 1
movzx edx, byte [0x693f38]
and edx, 0xffffff80
movzx eax, byte [0x693f00]
and eax, 0x7f
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x46d875
cmp eax, 0x3fff
jle 0x46d8a5
cmp eax, 0x7fff
jle 0x46d881
cmp eax, 0xbfff
jle 0x46d8a5
test byte [0x693f68], 1
je 0x46d8a5
jmp 0x46d881
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46d5a5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46d620
mov dword [esp], 4
call fcn.00416240
push eax
sub byte [0x693f26], 1
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x46d662
cmp eax, 0x3fff
jle 0x46d692
cmp eax, 0x7fff
jle 0x46d66e
cmp eax, 0xbfff
jle 0x46d692
test byte [0x693f68], 1
je 0x46d692
jmp 0x46d66e
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46d5ba
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x46d692
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46d6e4
mov dword [esp], 1
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x46d723
cmp ax, 0x3fff
jbe 0x46d751
test ax, ax
jns 0x46d72d
cmp ax, 0xbfff
jbe 0x46d751
test byte [0x693f68], 1
je 0x46d751
jmp 0x46d72d
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46d6a7
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x46d751
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46d7be
mov dword [esp], 3
call fcn.00416240
push ecx
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push esi
xor al, 0x80
lea eax, [ebx + eax - 0x7f]
mov word [0x693f80], ax
mov word [0x69407c], ax
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46d766
cmp bx, 0x4000
jbe 0x46d4e3
cmp bx, 0x8000
jbe 0x46d4bf
cmp bx, 0xc000
jbe 0x46d4e3
test byte [0x693f68], 1
je 0x46d4e3
jmp 0x46d4bf
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46d4fc
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x46d8a5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46d8f7
mov dword [esp], 1
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x46d936
cmp ax, 0x3fff
jbe 0x46d964
test ax, ax
jns 0x46d940
cmp ax, 0xbfff
jbe 0x46d964
test byte [0x693f68], 1
je 0x46d964
jmp 0x46d940
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46d8ba
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x46d964
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46d993
mov dword [esp], 3
call fcn.00416240
push esi
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46d979
cmp dword [0x693b44], 4
jle 0x46d9fb
cmp bx, 0x4000
jbe 0x46da2b
cmp bx, 0x8000
jbe 0x46da07
cmp bx, 0xc000
jbe 0x46da2b
test byte [0x693f68], 1
je 0x46da2b
jmp 0x46da07
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46da2b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46db19
mov dword [esp], 4
call fcn.00416240
push edx
movzx edx, word [0x693d1e]
movzx eax, word [0x693d00]
xor ax, word [0x693d20]
xor eax, edx
mov ecx, eax
mov eax, edx
shr ax, 8
xor eax, ecx
and eax, 0x10
mov ecx, eax
mov word [0x693efe], ax
mov word [0x693efc], 0
movzx eax, byte [0x693f2a]
movzx ebx, word [0x693d1c]
mov esi, ebx
and esi, 0x100
movzx ebx, al
or ebx, esi
cmp ebx, 0x99
jle 0x46dab2
mov word [0x693efc], 0x160
mov ebx, eax
and ebx, 0xf
movzx ecx, cx
or ecx, ebx
cmp ecx, 9
jle 0x46dac9
add word [0x693efc], 6
movzx ecx, al
or ch, 1
mov word [0x693d20], cx
and dh, 2
movzx edx, word [0x693efc]
jne 0x46db5b
add eax, edx
mov byte [0x693f2a], al
mov word [0x693d1e], dx
movzx eax, al
mov word [0x693d00], ax
movzx edx, word [0x693efc]
and dx, 0x100
or eax, edx
mov word [0x693d1c], ax
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46da44
sub eax, edx
not edx
jmp 0x46dae4
cmp dword [0x693b44], 4
jle 0x46db8a
cmp bx, 0x4000
jbe 0x46dbba
cmp bx, 0x8000
jbe 0x46db96
cmp bx, 0xc000
jbe 0x46dbba
test byte [0x693f68], 1
je 0x46dbba
jmp 0x46db96
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46dbba
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46dc34
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f2a]
not eax
mov byte [0x693f2a], al
movzx edx, word [0x693d1c]
and edx, 0xffffffd7
and eax, 0x28
or eax, edx
mov word [0x693d1c], ax
or word [0x693d1e], 0xff7f
movzx eax, word [0x693d00]
not eax
and eax, 0x10
mov edx, eax
movzx eax, word [0x693d20]
and eax, 0xffffffef
or eax, edx
mov word [0x693d20], ax
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46dbcf
cmp dword [0x693b44], 4
jle 0x46dc9f
cmp bx, 0x4000
jbe 0x46dccf
cmp bx, 0x8000
jbe 0x46dcab
cmp bx, 0xc000
jbe 0x46dccf
test byte [0x693f68], 1
je 0x46dccf
jmp 0x46dcab
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46dccf
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46de0c
mov dword [esp], 4
call fcn.00416240
push ebp
cmp dword [0x6940c4], 0
jne 0x46de4e
call fcn.00401000
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
shr eax, 7
and eax, 1
mov dword [0x693d98], eax
mov edx, dword [0x693f18]
shr edx, 2
mov ecx, edx
and ecx, 1
mov dword [0x693d90], ecx
mov edx, dword [0x693f18]
shr edx, 6
and edx, 1
mov dword [0x693d7c], edx
movzx ebx, byte [0x693f18]
or ebx, 2
add eax, eax
xor eax, 2
xor eax, ebx
or eax, 4
mov ebx, eax
lea eax, [ecx*4]
xor eax, 4
xor eax, ebx
or eax, 0x40
mov ecx, eax
mov eax, edx
shl eax, 6
xor eax, 0x40
xor eax, ecx
and eax, 0xffffffed
mov ecx, eax
or eax, 1
mov byte [0x693f18], al
movzx ebx, byte [0x693f2a]
mov eax, ebx
shr al, 5
mov edx, eax
and edx, 1
mov dword [0x693f5c], edx
mov eax, ebx
shr al, 3
and eax, 1
mov dword [0x693f60], eax
cmp dword [0x693be0], 1
je 0x46ddd4
mov esi, dword [0x693f18]
mov ebx, dword [0x693f18]
shr esi, 5
and esi, 1
or edx, esi
mov dword [0x693d80], edx
shr ebx, 3
and ebx, 1
or eax, ebx
mov dword [0x693d88], eax
shl edx, 5
xor edx, 0x20
or ecx, 0x21
xor edx, ecx
or edx, 8
shl eax, 3
xor eax, 8
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push edi
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46dce8
movzx eax, word [0x693d00]
xor ax, word [0x693d20]
and eax, 0x10
mov edx, eax
movzx eax, word [0x693d1e]
and ax, 0x80
or eax, edx
mov word [0x693d1e], ax
movzx eax, byte [0x693f2a]
mov edx, eax
and edx, 0x28
movzx eax, word [0x693d1c]
and ax, 0x80
or eax, edx
or ah, 1
mov word [0x693d1c], ax
jmp 0x482d10
cmp dword [0x693b44], 4
jle 0x46dec4
cmp bx, 0x4000
jbe 0x46def4
cmp bx, 0x8000
jbe 0x46ded0
cmp bx, 0xc000
jbe 0x46def4
test byte [0x693f68], 1
je 0x46def4
jmp 0x46ded0
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46def4
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46e062
mov dword [esp], 4
call fcn.00416240
push ecx
cmp dword [0x6940c4], 0
jne 0x46e0a4
call fcn.00401000
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
shr eax, 7
and eax, 1
mov dword [0x693d98], eax
mov edx, dword [0x693f18]
shr edx, 2
mov ecx, edx
and ecx, 1
mov dword [0x693d90], ecx
mov edx, dword [0x693f18]
shr edx, 6
and edx, 1
mov dword [0x693d7c], edx
movzx ebx, byte [0x693f18]
or ebx, 2
add eax, eax
xor eax, 2
xor eax, ebx
or eax, 4
mov ebx, eax
lea eax, [ecx*4]
xor eax, 4
xor eax, ebx
or eax, 0x40
mov ecx, eax
mov eax, edx
shl eax, 6
xor eax, 0x40
xor eax, ecx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 1
mov dword [0x693b6c], eax
movzx ecx, byte [0x693f18]
or ecx, 0x10
mov edx, eax
shl edx, 4
xor edx, 0x10
xor edx, ecx
or edx, 1
xor edx, eax
mov byte [0x693f18], dl
movzx ebx, byte [0x693f2a]
mov eax, ebx
shr al, 5
mov ecx, eax
and ecx, 1
mov dword [0x693f5c], ecx
mov eax, ebx
shr al, 3
and eax, 1
mov dword [0x693f60], eax
cmp dword [0x693be0], 1
je 0x46e02a
mov esi, dword [0x693f18]
mov ebx, dword [0x693f18]
shr esi, 5
and esi, 1
or ecx, esi
mov dword [0x693d80], ecx
shr ebx, 3
and ebx, 1
or eax, ebx
mov dword [0x693d88], eax
shl ecx, 5
xor ecx, 0x20
or edx, 0x20
xor edx, ecx
or edx, 8
shl eax, 3
xor eax, 8
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push edx
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46df0d
movzx ecx, word [0x693d1c]
movzx eax, word [0x693d00]
xor ax, word [0x693d20]
mov edx, ecx
shr dx, 4
xor eax, edx
and eax, 0x10
mov edx, eax
movzx eax, word [0x693d1e]
and ax, 0x80
or eax, edx
mov word [0x693d1e], ax
movzx eax, byte [0x693f2a]
mov edx, eax
and edx, 0x28
mov eax, ecx
and ax, 0x180
xor ah, 1
or eax, edx
mov word [0x693d1c], ax
jmp 0x482d10
cmp dword [0x693b44], 4
jle 0x46e124
cmp bx, 0x4000
jbe 0x46e154
cmp bx, 0x8000
jbe 0x46e130
cmp bx, 0xc000
jbe 0x46e154
test byte [0x693f68], 1
je 0x46e154
jmp 0x46e130
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46e154
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46e18e
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f25]
mov byte [0x693f26], al
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46e169
cmp dword [0x693b44], 4
jle 0x46e1f6
cmp bx, 0x4000
jbe 0x46e226
cmp bx, 0x8000
jbe 0x46e202
cmp bx, 0xc000
jbe 0x46e226
test byte [0x693f68], 1
je 0x46e226
jmp 0x46e202
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46e226
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46e260
mov dword [esp], 4
call fcn.00416240
push ebp
movzx eax, byte [0x693f24]
mov byte [0x693f26], al
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46e23b
cmp dword [0x693b44], 4
jle 0x46e2c8
cmp bx, 0x4000
jbe 0x46e2f8
cmp bx, 0x8000
jbe 0x46e2d4
cmp bx, 0xc000
jbe 0x46e2f8
test byte [0x693f68], 1
je 0x46e2f8
jmp 0x46e2d4
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46e2f8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46e332
mov dword [esp], 4
call fcn.00416240
push ebx
movzx eax, byte [0x693f1c]
mov byte [0x693f26], al
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46e30d
cmp byte [0x693bee], 0
jne 0x46e3c7
cmp byte [0x693bbc], 0
je 0x46e492
cmp dword [0x693b44], 4
jle 0x46e506
cmp bx, 0x4000
jbe 0x46e536
cmp bx, 0x8000
jbe 0x46e512
cmp bx, 0xc000
jbe 0x46e536
test byte [0x693f68], 1
je 0x46e536
jmp 0x46e512
cmp dword [0x693b44], 4
jle 0x46e3f0
cmp bx, 0x4000
jbe 0x46e420
cmp bx, 0x8000
jbe 0x46e3fc
cmp bx, 0xc000
jbe 0x46e420
test byte [0x693f68], 1
je 0x46e420
jmp 0x46e3fc
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46e420
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46e453
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
mov byte [0x693f26], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46e435
cmp dword [0x693b44], 4
jg 0x46e5a8
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46e4cf
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46e5db
mov dword [esp], 4
call fcn.00416240
push edi
movzx eax, byte [0x693c5e]
mov byte [0x693f26], al
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46e536
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46e569
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693c08]
mov byte [0x693f26], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46e54b
cmp bx, 0x4000
jbe 0x46e4cf
cmp bx, 0x8000
jbe 0x46e4ab
cmp bx, 0xc000
jbe 0x46e4cf
test byte [0x693f68], 1
je 0x46e4cf
jmp 0x46e4ab
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46e4e8
cmp byte [0x693bee], 0
jne 0x46e673
cmp byte [0x693bbc], 0
je 0x46e73e
cmp dword [0x693b44], 4
jle 0x46e7b2
cmp bx, 0x4000
jbe 0x46e7e2
cmp bx, 0x8000
jbe 0x46e7be
cmp bx, 0xc000
jbe 0x46e7e2
test byte [0x693f68], 1
je 0x46e7e2
jmp 0x46e7be
cmp dword [0x693b44], 4
jle 0x46e69c
cmp bx, 0x4000
jbe 0x46e6cc
cmp bx, 0x8000
jbe 0x46e6a8
cmp bx, 0xc000
jbe 0x46e6cc
test byte [0x693f68], 1
je 0x46e6cc
jmp 0x46e6a8
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46e6cc
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46e6ff
mov dword [esp], 4
call fcn.00416240
push ecx
movzx eax, byte [0x693f01]
mov byte [0x693f26], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46e6e1
cmp dword [0x693b44], 4
jg 0x46e854
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46e77b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46e887
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693c5d]
mov byte [0x693f26], al
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46e7e2
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46e815
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693c00]
mov byte [0x693f26], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46e7f7
cmp bx, 0x4000
jbe 0x46e77b
cmp bx, 0x8000
jbe 0x46e757
cmp bx, 0xc000
jbe 0x46e77b
test byte [0x693f68], 1
je 0x46e77b
jmp 0x46e757
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46e794
cmp byte [0x693bee], 0
jne 0x46e91f
cmp byte [0x693bbc], 0
je 0x46eaef
cmp dword [0x693b44], 4
jle 0x46eb95
cmp bx, 0x4000
jbe 0x46ebc5
cmp bx, 0x8000
jbe 0x46eba1
cmp bx, 0xc000
jbe 0x46ebc5
test byte [0x693f68], 1
je 0x46ebc5
jmp 0x46eba1
cmp dword [0x693b44], 4
jle 0x46e948
cmp bx, 0x4000
jbe 0x46e978
cmp bx, 0x8000
jbe 0x46e954
cmp bx, 0xc000
jbe 0x46e978
test byte [0x693f68], 1
je 0x46e978
jmp 0x46e954
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46e978
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46e9dc
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x46ea1e
cmp eax, 0x3fff
jle 0x46ea4e
cmp eax, 0x7fff
jle 0x46ea2a
cmp eax, 0xbfff
jle 0x46ea4e
test byte [0x693f68], 1
je 0x46ea4e
jmp 0x46ea2a
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46e98d
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x46ea4e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46eaad
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
movzx ebx, ax
mov dword [esp], ebx
call fcn.004010a0
push edx
mov byte [0x693f26], al
cmp ebx, dword [0x693fe0]
jne 0x482d10
jmp 0x4753a4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46ea63
cmp dword [0x693b44], 4
jg 0x46ee2e
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46eb2c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46ee61
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x46eea3
cmp ax, 0x3fff
jbe 0x46eed1
test ax, ax
jns 0x46eead
cmp ax, 0xbfff
jbe 0x46eed1
test byte [0x693f68], 1
je 0x46eed1
jmp 0x46eead
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46ebc5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46ec17
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x46ec56
cmp ax, 0x3fff
jbe 0x46ec84
test ax, ax
jns 0x46ec60
cmp ax, 0xbfff
jbe 0x46ec84
test byte [0x693f68], 1
je 0x46ec84
jmp 0x46ec60
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46ebda
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x46ec84
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46ed27
mov dword [esp], 3
call fcn.00416240
push esi
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
push edi
movzx edx, byte [0x693c08]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c00]
or edx, ecx
xor al, 0x80
add edx, eax
lea eax, [edx - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x46ed69
cmp ax, 0x3fff
jbe 0x46ed99
test ax, ax
jns 0x46ed75
cmp ax, 0xbfff
jbe 0x46ed99
test byte [0x693f68], 1
je 0x46ed99
jmp 0x46ed75
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46ec9d
lea eax, [edx - 0x4080]
cmp ax, 0x3fff
ja 0x46ed99
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46edef
mov dword [esp], 3
call fcn.00416240
push eax
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
mov byte [0x693f26], al
cmp ebx, dword [0x693fe0]
jne 0x46ede2
mov dword [0x693bf0], 0x1a90
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46edae
cmp bx, 0x4000
jbe 0x46eb2c
cmp bx, 0x8000
jbe 0x46eb08
cmp bx, 0xc000
jbe 0x46eb2c
test byte [0x693f68], 1
je 0x46eb2c
jmp 0x46eb08
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46eb45
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x46eed1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46ef74
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
push edx
movzx edx, byte [0x693c5e]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c5d]
or edx, ecx
xor al, 0x80
add edx, eax
lea eax, [edx - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x46efb6
cmp ax, 0x3fff
jbe 0x46efe6
test ax, ax
jns 0x46efc2
cmp ax, 0xbfff
jbe 0x46efe6
test byte [0x693f68], 1
je 0x46efe6
jmp 0x46efc2
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46eeea
lea eax, [edx - 0x4080]
cmp ax, 0x3fff
ja 0x46efe6
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46f03c
mov dword [esp], 3
call fcn.00416240
push esi
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edi
mov byte [0x693f26], al
cmp ebx, dword [0x693fe0]
jne 0x46f02f
mov dword [0x693bf0], 0x1a90
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46effb
cmp dword [0x693b44], 4
jle 0x46f0a4
cmp bx, 0x4000
jbe 0x46f0d4
cmp bx, 0x8000
jbe 0x46f0b0
cmp bx, 0xc000
jbe 0x46f0d4
test byte [0x693f68], 1
je 0x46f0d4
jmp 0x46f0b0
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46f0d4
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46f10e
mov dword [esp], 4
call fcn.00416240
push edx
movzx eax, byte [0x693f2a]
mov byte [0x693f26], al
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46f0e9
cmp dword [0x693b44], 4
jle 0x46f176
cmp bx, 0x4000
jbe 0x46f1a6
cmp bx, 0x8000
jbe 0x46f182
cmp bx, 0xc000
jbe 0x46f1a6
test byte [0x693f68], 1
je 0x46f1a6
jmp 0x46f182
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46f1a6
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46f1e0
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f26]
mov byte [0x693f25], al
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46f1bb
cmp dword [0x693b44], 4
jle 0x46f248
cmp bx, 0x4000
jbe 0x46f278
cmp bx, 0x8000
jbe 0x46f254
cmp bx, 0xc000
jbe 0x46f278
test byte [0x693f68], 1
je 0x46f278
jmp 0x46f254
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46f278
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46f2b2
mov dword [esp], 4
call fcn.00416240
push ebp
movzx eax, byte [0x693f24]
mov byte [0x693f25], al
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46f28d
cmp dword [0x693b44], 4
jle 0x46f31a
cmp bx, 0x4000
jbe 0x46f34a
cmp bx, 0x8000
jbe 0x46f326
cmp bx, 0xc000
jbe 0x46f34a
test byte [0x693f68], 1
je 0x46f34a
jmp 0x46f326
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46f34a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46f384
mov dword [esp], 4
call fcn.00416240
push ebx
movzx eax, byte [0x693f1c]
mov byte [0x693f25], al
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46f35f
cmp byte [0x693bee], 0
jne 0x46f419
cmp byte [0x693bbc], 0
je 0x46f4e4
cmp dword [0x693b44], 4
jle 0x46f558
cmp bx, 0x4000
jbe 0x46f588
cmp bx, 0x8000
jbe 0x46f564
cmp bx, 0xc000
jbe 0x46f588
test byte [0x693f68], 1
je 0x46f588
jmp 0x46f564
cmp dword [0x693b44], 4
jle 0x46f442
cmp bx, 0x4000
jbe 0x46f472
cmp bx, 0x8000
jbe 0x46f44e
cmp bx, 0xc000
jbe 0x46f472
test byte [0x693f68], 1
je 0x46f472
jmp 0x46f44e
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46f472
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46f4a5
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
mov byte [0x693f25], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46f487
cmp dword [0x693b44], 4
jg 0x46f5fa
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46f521
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46f62d
mov dword [esp], 4
call fcn.00416240
push edi
movzx eax, byte [0x693c5e]
mov byte [0x693f25], al
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46f588
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46f5bb
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693c08]
mov byte [0x693f25], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46f59d
cmp bx, 0x4000
jbe 0x46f521
cmp bx, 0x8000
jbe 0x46f4fd
cmp bx, 0xc000
jbe 0x46f521
test byte [0x693f68], 1
je 0x46f521
jmp 0x46f4fd
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46f53a
cmp byte [0x693bee], 0
jne 0x46f6c5
cmp byte [0x693bbc], 0
je 0x46f790
cmp dword [0x693b44], 4
jle 0x46f804
cmp bx, 0x4000
jbe 0x46f834
cmp bx, 0x8000
jbe 0x46f810
cmp bx, 0xc000
jbe 0x46f834
test byte [0x693f68], 1
je 0x46f834
jmp 0x46f810
cmp dword [0x693b44], 4
jle 0x46f6ee
cmp bx, 0x4000
jbe 0x46f71e
cmp bx, 0x8000
jbe 0x46f6fa
cmp bx, 0xc000
jbe 0x46f71e
test byte [0x693f68], 1
je 0x46f71e
jmp 0x46f6fa
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46f71e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46f751
mov dword [esp], 4
call fcn.00416240
push ecx
movzx eax, byte [0x693f01]
mov byte [0x693f25], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46f733
cmp dword [0x693b44], 4
jg 0x46f8a6
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46f7cd
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46f8d9
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693c5d]
mov byte [0x693f25], al
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46f834
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46f867
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693c00]
mov byte [0x693f25], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46f849
cmp bx, 0x4000
jbe 0x46f7cd
cmp bx, 0x8000
jbe 0x46f7a9
cmp bx, 0xc000
jbe 0x46f7cd
test byte [0x693f68], 1
je 0x46f7cd
jmp 0x46f7a9
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46f7e6
cmp byte [0x693bee], 0
jne 0x46f971
cmp byte [0x693bbc], 0
je 0x46fb41
cmp dword [0x693b44], 4
jle 0x46fbe7
cmp bx, 0x4000
jbe 0x46fc17
cmp bx, 0x8000
jbe 0x46fbf3
cmp bx, 0xc000
jbe 0x46fc17
test byte [0x693f68], 1
je 0x46fc17
jmp 0x46fbf3
cmp dword [0x693b44], 4
jle 0x46f99a
cmp bx, 0x4000
jbe 0x46f9ca
cmp bx, 0x8000
jbe 0x46f9a6
cmp bx, 0xc000
jbe 0x46f9ca
test byte [0x693f68], 1
je 0x46f9ca
jmp 0x46f9a6
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46f9ca
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46fa2e
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x46fa70
cmp eax, 0x3fff
jle 0x46faa0
cmp eax, 0x7fff
jle 0x46fa7c
cmp eax, 0xbfff
jle 0x46faa0
test byte [0x693f68], 1
je 0x46faa0
jmp 0x46fa7c
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46f9df
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x46faa0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46faff
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
movzx ebx, ax
mov dword [esp], ebx
call fcn.004010a0
push edx
mov byte [0x693f25], al
cmp ebx, dword [0x693fe0]
jne 0x482d10
jmp 0x4753a4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46fab5
cmp dword [0x693b44], 4
jg 0x46fe80
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46fb7e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46feb3
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x46fef5
cmp ax, 0x3fff
jbe 0x46ff23
test ax, ax
jns 0x46feff
cmp ax, 0xbfff
jbe 0x46ff23
test byte [0x693f68], 1
je 0x46ff23
jmp 0x46feff
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x46fc17
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46fc69
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x46fca8
cmp ax, 0x3fff
jbe 0x46fcd6
test ax, ax
jns 0x46fcb2
cmp ax, 0xbfff
jbe 0x46fcd6
test byte [0x693f68], 1
je 0x46fcd6
jmp 0x46fcb2
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46fc2c
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x46fcd6
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46fd79
mov dword [esp], 3
call fcn.00416240
push esi
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
push edi
movzx edx, byte [0x693c08]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c00]
or edx, ecx
xor al, 0x80
add edx, eax
lea eax, [edx - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x46fdbb
cmp ax, 0x3fff
jbe 0x46fdeb
test ax, ax
jns 0x46fdc7
cmp ax, 0xbfff
jbe 0x46fdeb
test byte [0x693f68], 1
je 0x46fdeb
jmp 0x46fdc7
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46fcef
lea eax, [edx - 0x4080]
cmp ax, 0x3fff
ja 0x46fdeb
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46fe41
mov dword [esp], 3
call fcn.00416240
push eax
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
mov byte [0x693f25], al
cmp ebx, dword [0x693fe0]
jne 0x46fe34
mov dword [0x693bf0], 0x1a90
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46fe00
cmp bx, 0x4000
jbe 0x46fb7e
cmp bx, 0x8000
jbe 0x46fb5a
cmp bx, 0xc000
jbe 0x46fb7e
test byte [0x693f68], 1
je 0x46fb7e
jmp 0x46fb5a
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46fb97
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x46ff23
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x46ffc6
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
push edx
movzx edx, byte [0x693c5e]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c5d]
or edx, ecx
xor al, 0x80
add edx, eax
lea eax, [edx - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x470008
cmp ax, 0x3fff
jbe 0x470038
test ax, ax
jns 0x470014
cmp ax, 0xbfff
jbe 0x470038
test byte [0x693f68], 1
je 0x470038
jmp 0x470014
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x46ff3c
lea eax, [edx - 0x4080]
cmp ax, 0x3fff
ja 0x470038
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47008e
mov dword [esp], 3
call fcn.00416240
push esi
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edi
mov byte [0x693f25], al
cmp ebx, dword [0x693fe0]
jne 0x470081
mov dword [0x693bf0], 0x1a90
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47004d
cmp dword [0x693b44], 4
jle 0x4700f6
cmp bx, 0x4000
jbe 0x470126
cmp bx, 0x8000
jbe 0x470102
cmp bx, 0xc000
jbe 0x470126
test byte [0x693f68], 1
je 0x470126
jmp 0x470102
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x470126
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x470160
mov dword [esp], 4
call fcn.00416240
push edx
movzx eax, byte [0x693f2a]
mov byte [0x693f25], al
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47013b
cmp dword [0x693b44], 4
jle 0x4701c8
cmp bx, 0x4000
jbe 0x4701f8
cmp bx, 0x8000
jbe 0x4701d4
cmp bx, 0xc000
jbe 0x4701f8
test byte [0x693f68], 1
je 0x4701f8
jmp 0x4701d4
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4701f8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x470232
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f26]
mov byte [0x693f24], al
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47020d
cmp dword [0x693b44], 4
jle 0x47029a
cmp bx, 0x4000
jbe 0x4702ca
cmp bx, 0x8000
jbe 0x4702a6
cmp bx, 0xc000
jbe 0x4702ca
test byte [0x693f68], 1
je 0x4702ca
jmp 0x4702a6
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4702ca
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x470304
mov dword [esp], 4
call fcn.00416240
push ebp
movzx eax, byte [0x693f25]
mov byte [0x693f24], al
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4702df
cmp dword [0x693b44], 4
jle 0x47036c
cmp bx, 0x4000
jbe 0x47039c
cmp bx, 0x8000
jbe 0x470378
cmp bx, 0xc000
jbe 0x47039c
test byte [0x693f68], 1
je 0x47039c
jmp 0x470378
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47039c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4703d6
mov dword [esp], 4
call fcn.00416240
push ebx
movzx eax, byte [0x693f1c]
mov byte [0x693f24], al
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4703b1
cmp byte [0x693bee], 0
jne 0x47046b
cmp byte [0x693bbc], 0
je 0x470536
cmp dword [0x693b44], 4
jle 0x4705aa
cmp bx, 0x4000
jbe 0x4705da
cmp bx, 0x8000
jbe 0x4705b6
cmp bx, 0xc000
jbe 0x4705da
test byte [0x693f68], 1
je 0x4705da
jmp 0x4705b6
cmp dword [0x693b44], 4
jle 0x470494
cmp bx, 0x4000
jbe 0x4704c4
cmp bx, 0x8000
jbe 0x4704a0
cmp bx, 0xc000
jbe 0x4704c4
test byte [0x693f68], 1
je 0x4704c4
jmp 0x4704a0
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4704c4
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4704f7
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
mov byte [0x693f24], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4704d9
cmp dword [0x693b44], 4
jg 0x47064c
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x470573
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47067f
mov dword [esp], 4
call fcn.00416240
push edi
movzx eax, byte [0x693c5e]
mov byte [0x693f24], al
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4705da
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47060d
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693c08]
mov byte [0x693f24], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4705ef
cmp bx, 0x4000
jbe 0x470573
cmp bx, 0x8000
jbe 0x47054f
cmp bx, 0xc000
jbe 0x470573
test byte [0x693f68], 1
je 0x470573
jmp 0x47054f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47058c
cmp byte [0x693bee], 0
jne 0x470717
cmp byte [0x693bbc], 0
je 0x4707e2
cmp dword [0x693b44], 4
jle 0x470856
cmp bx, 0x4000
jbe 0x470886
cmp bx, 0x8000
jbe 0x470862
cmp bx, 0xc000
jbe 0x470886
test byte [0x693f68], 1
je 0x470886
jmp 0x470862
cmp dword [0x693b44], 4
jle 0x470740
cmp bx, 0x4000
jbe 0x470770
cmp bx, 0x8000
jbe 0x47074c
cmp bx, 0xc000
jbe 0x470770
test byte [0x693f68], 1
je 0x470770
jmp 0x47074c
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x470770
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4707a3
mov dword [esp], 4
call fcn.00416240
push ecx
movzx eax, byte [0x693f01]
mov byte [0x693f24], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x470785
cmp dword [0x693b44], 4
jg 0x4708f8
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47081f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47092b
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693c5d]
mov byte [0x693f24], al
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x470886
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4708b9
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693c00]
mov byte [0x693f24], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47089b
cmp bx, 0x4000
jbe 0x47081f
cmp bx, 0x8000
jbe 0x4707fb
cmp bx, 0xc000
jbe 0x47081f
test byte [0x693f68], 1
je 0x47081f
jmp 0x4707fb
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x470838
cmp byte [0x693bee], 0
jne 0x4709c3
cmp byte [0x693bbc], 0
je 0x470b93
cmp dword [0x693b44], 4
jle 0x470c39
cmp bx, 0x4000
jbe 0x470c69
cmp bx, 0x8000
jbe 0x470c45
cmp bx, 0xc000
jbe 0x470c69
test byte [0x693f68], 1
je 0x470c69
jmp 0x470c45
cmp dword [0x693b44], 4
jle 0x4709ec
cmp bx, 0x4000
jbe 0x470a1c
cmp bx, 0x8000
jbe 0x4709f8
cmp bx, 0xc000
jbe 0x470a1c
test byte [0x693f68], 1
je 0x470a1c
jmp 0x4709f8
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x470a1c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x470a80
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x470ac2
cmp eax, 0x3fff
jle 0x470af2
cmp eax, 0x7fff
jle 0x470ace
cmp eax, 0xbfff
jle 0x470af2
test byte [0x693f68], 1
je 0x470af2
jmp 0x470ace
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x470a31
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x470af2
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x470b51
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
movzx ebx, ax
mov dword [esp], ebx
call fcn.004010a0
push edx
mov byte [0x693f24], al
cmp ebx, dword [0x693fe0]
jne 0x482d10
jmp 0x4753a4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x470b07
cmp dword [0x693b44], 4
jg 0x470ed2
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x470bd0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x470f05
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x470f47
cmp ax, 0x3fff
jbe 0x470f75
test ax, ax
jns 0x470f51
cmp ax, 0xbfff
jbe 0x470f75
test byte [0x693f68], 1
je 0x470f75
jmp 0x470f51
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x470c69
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x470cbb
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x470cfa
cmp ax, 0x3fff
jbe 0x470d28
test ax, ax
jns 0x470d04
cmp ax, 0xbfff
jbe 0x470d28
test byte [0x693f68], 1
je 0x470d28
jmp 0x470d04
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x470c7e
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x470d28
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x470dcb
mov dword [esp], 3
call fcn.00416240
push esi
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
push edi
movzx edx, byte [0x693c08]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c00]
or edx, ecx
xor al, 0x80
add edx, eax
lea eax, [edx - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x470e0d
cmp ax, 0x3fff
jbe 0x470e3d
test ax, ax
jns 0x470e19
cmp ax, 0xbfff
jbe 0x470e3d
test byte [0x693f68], 1
je 0x470e3d
jmp 0x470e19
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x470d41
lea eax, [edx - 0x4080]
cmp ax, 0x3fff
ja 0x470e3d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x470e93
mov dword [esp], 3
call fcn.00416240
push eax
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
mov byte [0x693f24], al
cmp ebx, dword [0x693fe0]
jne 0x470e86
mov dword [0x693bf0], 0x1a90
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x470e52
cmp bx, 0x4000
jbe 0x470bd0
cmp bx, 0x8000
jbe 0x470bac
cmp bx, 0xc000
jbe 0x470bd0
test byte [0x693f68], 1
je 0x470bd0
jmp 0x470bac
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x470be9
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x470f75
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x471018
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
push edx
movzx edx, byte [0x693c5e]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c5d]
or edx, ecx
xor al, 0x80
add edx, eax
lea eax, [edx - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x47105a
cmp ax, 0x3fff
jbe 0x47108a
test ax, ax
jns 0x471066
cmp ax, 0xbfff
jbe 0x47108a
test byte [0x693f68], 1
je 0x47108a
jmp 0x471066
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x470f8e
lea eax, [edx - 0x4080]
cmp ax, 0x3fff
ja 0x47108a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4710e0
mov dword [esp], 3
call fcn.00416240
push esi
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edi
mov byte [0x693f24], al
cmp ebx, dword [0x693fe0]
jne 0x4710d3
mov dword [0x693bf0], 0x1a90
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47109f
cmp dword [0x693b44], 4
jle 0x471148
cmp bx, 0x4000
jbe 0x471178
cmp bx, 0x8000
jbe 0x471154
cmp bx, 0xc000
jbe 0x471178
test byte [0x693f68], 1
je 0x471178
jmp 0x471154
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x471178
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4711b2
mov dword [esp], 4
call fcn.00416240
push edx
movzx eax, byte [0x693f2a]
mov byte [0x693f24], al
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47118d
cmp dword [0x693b44], 4
jle 0x47121a
cmp bx, 0x4000
jbe 0x47124a
cmp bx, 0x8000
jbe 0x471226
cmp bx, 0xc000
jbe 0x47124a
test byte [0x693f68], 1
je 0x47124a
jmp 0x471226
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47124a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x471284
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f26]
mov byte [0x693f1c], al
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47125f
cmp dword [0x693b44], 4
jle 0x4712ec
cmp bx, 0x4000
jbe 0x47131c
cmp bx, 0x8000
jbe 0x4712f8
cmp bx, 0xc000
jbe 0x47131c
test byte [0x693f68], 1
je 0x47131c
jmp 0x4712f8
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47131c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x471356
mov dword [esp], 4
call fcn.00416240
push ebp
movzx eax, byte [0x693f25]
mov byte [0x693f1c], al
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x471331
cmp dword [0x693b44], 4
jle 0x4713be
cmp bx, 0x4000
jbe 0x4713ee
cmp bx, 0x8000
jbe 0x4713ca
cmp bx, 0xc000
jbe 0x4713ee
test byte [0x693f68], 1
je 0x4713ee
jmp 0x4713ca
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4713ee
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x471428
mov dword [esp], 4
call fcn.00416240
push ebx
movzx eax, byte [0x693f24]
mov byte [0x693f1c], al
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x471403
cmp byte [0x693bee], 0
jne 0x4714bd
cmp byte [0x693bbc], 0
je 0x471588
cmp dword [0x693b44], 4
jle 0x4715fc
cmp bx, 0x4000
jbe 0x47162c
cmp bx, 0x8000
jbe 0x471608
cmp bx, 0xc000
jbe 0x47162c
test byte [0x693f68], 1
je 0x47162c
jmp 0x471608
cmp dword [0x693b44], 4
jle 0x4714e6
cmp bx, 0x4000
jbe 0x471516
cmp bx, 0x8000
jbe 0x4714f2
cmp bx, 0xc000
jbe 0x471516
test byte [0x693f68], 1
je 0x471516
jmp 0x4714f2
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x471516
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x471549
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
mov byte [0x693f1c], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47152b
cmp dword [0x693b44], 4
jg 0x47169e
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4715c5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4716d1
mov dword [esp], 4
call fcn.00416240
push edi
movzx eax, byte [0x693c5e]
mov byte [0x693f1c], al
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47162c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47165f
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693c08]
mov byte [0x693f1c], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x471641
cmp bx, 0x4000
jbe 0x4715c5
cmp bx, 0x8000
jbe 0x4715a1
cmp bx, 0xc000
jbe 0x4715c5
test byte [0x693f68], 1
je 0x4715c5
jmp 0x4715a1
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4715de
cmp byte [0x693bee], 0
jne 0x471769
cmp byte [0x693bbc], 0
je 0x471834
cmp dword [0x693b44], 4
jle 0x4718a8
cmp bx, 0x4000
jbe 0x4718d8
cmp bx, 0x8000
jbe 0x4718b4
cmp bx, 0xc000
jbe 0x4718d8
test byte [0x693f68], 1
je 0x4718d8
jmp 0x4718b4
cmp dword [0x693b44], 4
jle 0x471792
cmp bx, 0x4000
jbe 0x4717c2
cmp bx, 0x8000
jbe 0x47179e
cmp bx, 0xc000
jbe 0x4717c2
test byte [0x693f68], 1
je 0x4717c2
jmp 0x47179e
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4717c2
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4717f5
mov dword [esp], 4
call fcn.00416240
push ecx
movzx eax, byte [0x693f01]
mov byte [0x693f1c], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4717d7
cmp dword [0x693b44], 4
jg 0x47194a
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x471871
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47197d
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693c5d]
mov byte [0x693f1c], al
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4718d8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47190b
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693c00]
mov byte [0x693f1c], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4718ed
cmp bx, 0x4000
jbe 0x471871
cmp bx, 0x8000
jbe 0x47184d
cmp bx, 0xc000
jbe 0x471871
test byte [0x693f68], 1
je 0x471871
jmp 0x47184d
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47188a
cmp byte [0x693bee], 0
jne 0x471a15
cmp byte [0x693bbc], 0
je 0x471be5
cmp dword [0x693b44], 4
jle 0x471c8b
cmp bx, 0x4000
jbe 0x471cbb
cmp bx, 0x8000
jbe 0x471c97
cmp bx, 0xc000
jbe 0x471cbb
test byte [0x693f68], 1
je 0x471cbb
jmp 0x471c97
cmp dword [0x693b44], 4
jle 0x471a3e
cmp bx, 0x4000
jbe 0x471a6e
cmp bx, 0x8000
jbe 0x471a4a
cmp bx, 0xc000
jbe 0x471a6e
test byte [0x693f68], 1
je 0x471a6e
jmp 0x471a4a
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x471a6e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x471ad2
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x471b14
cmp eax, 0x3fff
jle 0x471b44
cmp eax, 0x7fff
jle 0x471b20
cmp eax, 0xbfff
jle 0x471b44
test byte [0x693f68], 1
je 0x471b44
jmp 0x471b20
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x471a83
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x471b44
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x471ba3
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
movzx ebx, ax
mov dword [esp], ebx
call fcn.004010a0
push edx
mov byte [0x693f1c], al
cmp ebx, dword [0x693fe0]
jne 0x482d10
jmp 0x4753a4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x471b59
cmp dword [0x693b44], 4
jg 0x471f24
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x471c22
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x471f57
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x471f99
cmp ax, 0x3fff
jbe 0x471fc7
test ax, ax
jns 0x471fa3
cmp ax, 0xbfff
jbe 0x471fc7
test byte [0x693f68], 1
je 0x471fc7
jmp 0x471fa3
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x471cbb
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x471d0d
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x471d4c
cmp ax, 0x3fff
jbe 0x471d7a
test ax, ax
jns 0x471d56
cmp ax, 0xbfff
jbe 0x471d7a
test byte [0x693f68], 1
je 0x471d7a
jmp 0x471d56
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x471cd0
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x471d7a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x471e1d
mov dword [esp], 3
call fcn.00416240
push esi
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
push edi
movzx edx, byte [0x693c08]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c00]
or edx, ecx
xor al, 0x80
add edx, eax
lea eax, [edx - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x471e5f
cmp ax, 0x3fff
jbe 0x471e8f
test ax, ax
jns 0x471e6b
cmp ax, 0xbfff
jbe 0x471e8f
test byte [0x693f68], 1
je 0x471e8f
jmp 0x471e6b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x471d93
lea eax, [edx - 0x4080]
cmp ax, 0x3fff
ja 0x471e8f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x471ee5
mov dword [esp], 3
call fcn.00416240
push eax
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
mov byte [0x693f1c], al
cmp ebx, dword [0x693fe0]
jne 0x471ed8
mov dword [0x693bf0], 0x1a90
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x471ea4
cmp bx, 0x4000
jbe 0x471c22
cmp bx, 0x8000
jbe 0x471bfe
cmp bx, 0xc000
jbe 0x471c22
test byte [0x693f68], 1
je 0x471c22
jmp 0x471bfe
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x471c3b
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x471fc7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47206a
mov dword [esp], 3
call fcn.00416240
push esi
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
push edi
movzx edx, byte [0x693c5e]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c5d]
or edx, ecx
xor al, 0x80
add edx, eax
lea eax, [edx - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x4720ac
cmp ax, 0x3fff
jbe 0x4720dc
test ax, ax
jns 0x4720b8
cmp ax, 0xbfff
jbe 0x4720dc
test byte [0x693f68], 1
je 0x4720dc
jmp 0x4720b8
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x471fe0
lea eax, [edx - 0x4080]
cmp ax, 0x3fff
ja 0x4720dc
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x472132
mov dword [esp], 3
call fcn.00416240
push eax
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
mov byte [0x693f1c], al
cmp ebx, dword [0x693fe0]
jne 0x472125
mov dword [0x693bf0], 0x1a90
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4720f1
cmp dword [0x693b44], 4
jle 0x47219a
cmp bx, 0x4000
jbe 0x4721ca
cmp bx, 0x8000
jbe 0x4721a6
cmp bx, 0xc000
jbe 0x4721ca
test byte [0x693f68], 1
je 0x4721ca
jmp 0x4721a6
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4721ca
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x472204
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f2a]
mov byte [0x693f1c], al
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4721df
cmp byte [0x693bee], 0
jne 0x472299
cmp byte [0x693bbc], 0
je 0x472364
cmp dword [0x693b44], 4
jle 0x4723d8
cmp bx, 0x4000
jbe 0x472408
cmp bx, 0x8000
jbe 0x4723e4
cmp bx, 0xc000
jbe 0x472408
test byte [0x693f68], 1
je 0x472408
jmp 0x4723e4
cmp dword [0x693b44], 4
jle 0x4722c2
cmp bx, 0x4000
jbe 0x4722f2
cmp bx, 0x8000
jbe 0x4722ce
cmp bx, 0xc000
jbe 0x4722f2
test byte [0x693f68], 1
je 0x4722f2
jmp 0x4722ce
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4722f2
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x472325
mov dword [esp], 4
call fcn.00416240
push edi
movzx eax, byte [0x693f26]
mov byte [0x693f11], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x472307
cmp dword [0x693b44], 4
jg 0x47247a
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4723a1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4724ad
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f26]
mov byte [0x693c5e], al
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x472408
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47243b
mov dword [esp], 4
call fcn.00416240
push ecx
movzx eax, byte [0x693f26]
mov byte [0x693c08], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47241d
cmp bx, 0x4000
jbe 0x4723a1
cmp bx, 0x8000
jbe 0x47237d
cmp bx, 0xc000
jbe 0x4723a1
test byte [0x693f68], 1
je 0x4723a1
jmp 0x47237d
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4723ba
cmp byte [0x693bee], 0
jne 0x472545
cmp byte [0x693bbc], 0
je 0x472610
cmp dword [0x693b44], 4
jle 0x472684
cmp bx, 0x4000
jbe 0x4726b4
cmp bx, 0x8000
jbe 0x472690
cmp bx, 0xc000
jbe 0x4726b4
test byte [0x693f68], 1
je 0x4726b4
jmp 0x472690
cmp dword [0x693b44], 4
jle 0x47256e
cmp bx, 0x4000
jbe 0x47259e
cmp bx, 0x8000
jbe 0x47257a
cmp bx, 0xc000
jbe 0x47259e
test byte [0x693f68], 1
je 0x47259e
jmp 0x47257a
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47259e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4725d1
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f25]
mov byte [0x693f11], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4725b3
cmp dword [0x693b44], 4
jg 0x472726
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47264d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x472759
mov dword [esp], 4
call fcn.00416240
push edx
movzx eax, byte [0x693f25]
mov byte [0x693c5e], al
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4726b4
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4726e7
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, byte [0x693f25]
mov byte [0x693c08], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4726c9
cmp bx, 0x4000
jbe 0x47264d
cmp bx, 0x8000
jbe 0x472629
cmp bx, 0xc000
jbe 0x47264d
test byte [0x693f68], 1
je 0x47264d
jmp 0x472629
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x472666
cmp byte [0x693bee], 0
jne 0x4727f1
cmp byte [0x693bbc], 0
je 0x4728bc
cmp dword [0x693b44], 4
jle 0x472930
cmp bx, 0x4000
jbe 0x472960
cmp bx, 0x8000
jbe 0x47293c
cmp bx, 0xc000
jbe 0x472960
test byte [0x693f68], 1
je 0x472960
jmp 0x47293c
cmp dword [0x693b44], 4
jle 0x47281a
cmp bx, 0x4000
jbe 0x47284a
cmp bx, 0x8000
jbe 0x472826
cmp bx, 0xc000
jbe 0x47284a
test byte [0x693f68], 1
je 0x47284a
jmp 0x472826
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47284a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47287d
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f24]
mov byte [0x693f11], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47285f
cmp dword [0x693b44], 4
jg 0x4729d2
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4728f9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x472a05
mov dword [esp], 4
call fcn.00416240
push ebx
movzx eax, byte [0x693f24]
mov byte [0x693c5e], al
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x472960
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x472993
mov dword [esp], 4
call fcn.00416240
push ebp
movzx eax, byte [0x693f24]
mov byte [0x693c08], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x472975
cmp bx, 0x4000
jbe 0x4728f9
cmp bx, 0x8000
jbe 0x4728d5
cmp bx, 0xc000
jbe 0x4728f9
test byte [0x693f68], 1
je 0x4728f9
jmp 0x4728d5
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x472912
cmp byte [0x693bee], 0
jne 0x472a9d
cmp byte [0x693bbc], 0
je 0x472b68
cmp dword [0x693b44], 4
jle 0x472bdc
cmp bx, 0x4000
jbe 0x472c0c
cmp bx, 0x8000
jbe 0x472be8
cmp bx, 0xc000
jbe 0x472c0c
test byte [0x693f68], 1
je 0x472c0c
jmp 0x472be8
cmp dword [0x693b44], 4
jle 0x472ac6
cmp bx, 0x4000
jbe 0x472af6
cmp bx, 0x8000
jbe 0x472ad2
cmp bx, 0xc000
jbe 0x472af6
test byte [0x693f68], 1
je 0x472af6
jmp 0x472ad2
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x472af6
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x472b29
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f1c]
mov byte [0x693f11], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x472b0b
cmp dword [0x693b44], 4
jg 0x472c7e
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x472ba5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x472cb1
mov dword [esp], 4
call fcn.00416240
push edi
movzx eax, byte [0x693f1c]
mov byte [0x693c5e], al
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x472c0c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x472c3f
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f1c]
mov byte [0x693c08], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x472c21
cmp bx, 0x4000
jbe 0x472ba5
cmp bx, 0x8000
jbe 0x472b81
cmp bx, 0xc000
jbe 0x472ba5
test byte [0x693f68], 1
je 0x472ba5
jmp 0x472b81
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x472bbe
cmp byte [0x693bee], 0
jne 0x472d49
cmp byte [0x693bbc], 0
je 0x472e14
cmp dword [0x693b44], 4
jle 0x472e88
cmp bx, 0x4000
jbe 0x472eb8
cmp bx, 0x8000
jbe 0x472e94
cmp bx, 0xc000
jbe 0x472eb8
test byte [0x693f68], 1
je 0x472eb8
jmp 0x472e94
cmp dword [0x693b44], 4
jle 0x472d72
cmp bx, 0x4000
jbe 0x472da2
cmp bx, 0x8000
jbe 0x472d7e
cmp bx, 0xc000
jbe 0x472da2
test byte [0x693f68], 1
je 0x472da2
jmp 0x472d7e
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x472da2
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x472dd5
mov dword [esp], 4
call fcn.00416240
push ecx
movzx eax, byte [0x693f01]
mov byte [0x693f11], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x472db7
cmp dword [0x693b44], 4
jg 0x472f2a
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x472e51
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x472f5d
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693c5d]
mov byte [0x693c5e], al
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x472eb8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x472eeb
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693c00]
mov byte [0x693c08], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x472ecd
cmp bx, 0x4000
jbe 0x472e51
cmp bx, 0x8000
jbe 0x472e2d
cmp bx, 0xc000
jbe 0x472e51
test byte [0x693f68], 1
je 0x472e51
jmp 0x472e2d
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x472e6a
cmp byte [0x693bee], 0
jne 0x472ff5
cmp byte [0x693bbc], 0
je 0x4731c5
cmp dword [0x693b44], 4
jle 0x47326b
cmp bx, 0x4000
jbe 0x47329b
cmp bx, 0x8000
jbe 0x473277
cmp bx, 0xc000
jbe 0x47329b
test byte [0x693f68], 1
je 0x47329b
jmp 0x473277
cmp dword [0x693b44], 4
jle 0x47301e
cmp bx, 0x4000
jbe 0x47304e
cmp bx, 0x8000
jbe 0x47302a
cmp bx, 0xc000
jbe 0x47304e
test byte [0x693f68], 1
je 0x47304e
jmp 0x47302a
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47304e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4730b2
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x4730f4
cmp eax, 0x3fff
jle 0x473124
cmp eax, 0x7fff
jle 0x473100
cmp eax, 0xbfff
jle 0x473124
test byte [0x693f68], 1
je 0x473124
jmp 0x473100
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x473063
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x473124
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x473183
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
movzx ebx, ax
mov dword [esp], ebx
call fcn.004010a0
push edx
mov byte [0x693f11], al
cmp ebx, dword [0x693fe0]
jne 0x482d10
jmp 0x4753a4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x473139
cmp dword [0x693b44], 4
jg 0x473504
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x473202
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x473537
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x473579
cmp ax, 0x3fff
jbe 0x4735a7
test ax, ax
jns 0x473583
cmp ax, 0xbfff
jbe 0x4735a7
test byte [0x693f68], 1
je 0x4735a7
jmp 0x473583
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47329b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4732ed
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x47332c
cmp ax, 0x3fff
jbe 0x47335a
test ax, ax
jns 0x473336
cmp ax, 0xbfff
jbe 0x47335a
test byte [0x693f68], 1
je 0x47335a
jmp 0x473336
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4732b0
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x47335a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4733fd
mov dword [esp], 3
call fcn.00416240
push esi
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
push edi
movzx edx, byte [0x693c08]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c00]
or edx, ecx
xor al, 0x80
add edx, eax
lea eax, [edx - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x47343f
cmp ax, 0x3fff
jbe 0x47346f
test ax, ax
jns 0x47344b
cmp ax, 0xbfff
jbe 0x47346f
test byte [0x693f68], 1
je 0x47346f
jmp 0x47344b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x473373
lea eax, [edx - 0x4080]
cmp ax, 0x3fff
ja 0x47346f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4734c5
mov dword [esp], 3
call fcn.00416240
push eax
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
mov byte [0x693f11], al
cmp ebx, dword [0x693fe0]
jne 0x4734b8
mov dword [0x693bf0], 0x1a90
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x473484
cmp bx, 0x4000
jbe 0x473202
cmp bx, 0x8000
jbe 0x4731de
cmp bx, 0xc000
jbe 0x473202
test byte [0x693f68], 1
je 0x473202
jmp 0x4731de
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47321b
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4735a7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47364a
mov dword [esp], 3
call fcn.00416240
push esi
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
push edi
movzx edx, byte [0x693c5e]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c5d]
or edx, ecx
xor al, 0x80
add edx, eax
lea eax, [edx - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x47368c
cmp ax, 0x3fff
jbe 0x4736bc
test ax, ax
jns 0x473698
cmp ax, 0xbfff
jbe 0x4736bc
test byte [0x693f68], 1
je 0x4736bc
jmp 0x473698
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4735c0
lea eax, [edx - 0x4080]
cmp ax, 0x3fff
ja 0x4736bc
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x473712
mov dword [esp], 3
call fcn.00416240
push ebp
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
mov byte [0x693f11], al
cmp ebx, dword [0x693fe0]
jne 0x473705
mov dword [0x693bf0], 0x1a90
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4736d1
cmp byte [0x693bee], 0
jne 0x4737a7
cmp byte [0x693bbc], 0
je 0x473872
cmp dword [0x693b44], 4
jle 0x4738e6
cmp bx, 0x4000
jbe 0x473916
cmp bx, 0x8000
jbe 0x4738f2
cmp bx, 0xc000
jbe 0x473916
test byte [0x693f68], 1
je 0x473916
jmp 0x4738f2
cmp dword [0x693b44], 4
jle 0x4737d0
cmp bx, 0x4000
jbe 0x473800
cmp bx, 0x8000
jbe 0x4737dc
cmp bx, 0xc000
jbe 0x473800
test byte [0x693f68], 1
je 0x473800
jmp 0x4737dc
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x473800
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x473833
mov dword [esp], 4
call fcn.00416240
push ebx
movzx eax, byte [0x693f2a]
mov byte [0x693f11], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x473815
cmp dword [0x693b44], 4
jg 0x473988
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4738af
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4739bb
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f2a]
mov byte [0x693c5e], al
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x473916
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x473949
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f2a]
mov byte [0x693c08], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47392b
cmp bx, 0x4000
jbe 0x4738af
cmp bx, 0x8000
jbe 0x47388b
cmp bx, 0xc000
jbe 0x4738af
test byte [0x693f68], 1
je 0x4738af
jmp 0x47388b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4738c8
cmp byte [0x693bee], 0
jne 0x473a53
cmp byte [0x693bbc], 0
je 0x473b1e
cmp dword [0x693b44], 4
jle 0x473b92
cmp bx, 0x4000
jbe 0x473bc2
cmp bx, 0x8000
jbe 0x473b9e
cmp bx, 0xc000
jbe 0x473bc2
test byte [0x693f68], 1
je 0x473bc2
jmp 0x473b9e
cmp dword [0x693b44], 4
jle 0x473a7c
cmp bx, 0x4000
jbe 0x473aac
cmp bx, 0x8000
jbe 0x473a88
cmp bx, 0xc000
jbe 0x473aac
test byte [0x693f68], 1
je 0x473aac
jmp 0x473a88
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x473aac
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x473adf
mov dword [esp], 4
call fcn.00416240
push edi
movzx eax, byte [0x693f26]
mov byte [0x693f01], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x473ac1
cmp dword [0x693b44], 4
jg 0x473c34
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x473b5b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x473c67
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f26]
mov byte [0x693c5d], al
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x473bc2
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x473bf5
mov dword [esp], 4
call fcn.00416240
push ecx
movzx eax, byte [0x693f26]
mov byte [0x693c00], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x473bd7
cmp bx, 0x4000
jbe 0x473b5b
cmp bx, 0x8000
jbe 0x473b37
cmp bx, 0xc000
jbe 0x473b5b
test byte [0x693f68], 1
je 0x473b5b
jmp 0x473b37
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x473b74
cmp byte [0x693bee], 0
jne 0x473cff
cmp byte [0x693bbc], 0
je 0x473dca
cmp dword [0x693b44], 4
jle 0x473e3e
cmp bx, 0x4000
jbe 0x473e6e
cmp bx, 0x8000
jbe 0x473e4a
cmp bx, 0xc000
jbe 0x473e6e
test byte [0x693f68], 1
je 0x473e6e
jmp 0x473e4a
cmp dword [0x693b44], 4
jle 0x473d28
cmp bx, 0x4000
jbe 0x473d58
cmp bx, 0x8000
jbe 0x473d34
cmp bx, 0xc000
jbe 0x473d58
test byte [0x693f68], 1
je 0x473d58
jmp 0x473d34
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x473d58
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x473d8b
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f25]
mov byte [0x693f01], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x473d6d
cmp dword [0x693b44], 4
jg 0x473ee0
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x473e07
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x473f13
mov dword [esp], 4
call fcn.00416240
push edx
movzx eax, byte [0x693f25]
mov byte [0x693c5d], al
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x473e6e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x473ea1
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, byte [0x693f25]
mov byte [0x693c00], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x473e83
cmp bx, 0x4000
jbe 0x473e07
cmp bx, 0x8000
jbe 0x473de3
cmp bx, 0xc000
jbe 0x473e07
test byte [0x693f68], 1
je 0x473e07
jmp 0x473de3
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x473e20
cmp byte [0x693bee], 0
jne 0x473fab
cmp byte [0x693bbc], 0
je 0x474076
cmp dword [0x693b44], 4
jle 0x4740ea
cmp bx, 0x4000
jbe 0x47411a
cmp bx, 0x8000
jbe 0x4740f6
cmp bx, 0xc000
jbe 0x47411a
test byte [0x693f68], 1
je 0x47411a
jmp 0x4740f6
cmp dword [0x693b44], 4
jle 0x473fd4
cmp bx, 0x4000
jbe 0x474004
cmp bx, 0x8000
jbe 0x473fe0
cmp bx, 0xc000
jbe 0x474004
test byte [0x693f68], 1
je 0x474004
jmp 0x473fe0
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x474004
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x474037
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f24]
mov byte [0x693f01], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x474019
cmp dword [0x693b44], 4
jg 0x47418c
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4740b3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4741bf
mov dword [esp], 4
call fcn.00416240
push ebx
movzx eax, byte [0x693f24]
mov byte [0x693c5d], al
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47411a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47414d
mov dword [esp], 4
call fcn.00416240
push ebp
movzx eax, byte [0x693f24]
mov byte [0x693c00], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47412f
cmp bx, 0x4000
jbe 0x4740b3
cmp bx, 0x8000
jbe 0x47408f
cmp bx, 0xc000
jbe 0x4740b3
test byte [0x693f68], 1
je 0x4740b3
jmp 0x47408f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4740cc
cmp byte [0x693bee], 0
jne 0x474257
cmp byte [0x693bbc], 0
je 0x474322
cmp dword [0x693b44], 4
jle 0x474396
cmp bx, 0x4000
jbe 0x4743c6
cmp bx, 0x8000
jbe 0x4743a2
cmp bx, 0xc000
jbe 0x4743c6
test byte [0x693f68], 1
je 0x4743c6
jmp 0x4743a2
cmp dword [0x693b44], 4
jle 0x474280
cmp bx, 0x4000
jbe 0x4742b0
cmp bx, 0x8000
jbe 0x47428c
cmp bx, 0xc000
jbe 0x4742b0
test byte [0x693f68], 1
je 0x4742b0
jmp 0x47428c
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4742b0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4742e3
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f1c]
mov byte [0x693f01], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4742c5
cmp dword [0x693b44], 4
jg 0x474438
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47435f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47446b
mov dword [esp], 4
call fcn.00416240
push edi
movzx eax, byte [0x693f1c]
mov byte [0x693c5d], al
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4743c6
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4743f9
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f1c]
mov byte [0x693c00], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4743db
cmp bx, 0x4000
jbe 0x47435f
cmp bx, 0x8000
jbe 0x47433b
cmp bx, 0xc000
jbe 0x47435f
test byte [0x693f68], 1
je 0x47435f
jmp 0x47433b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x474378
cmp byte [0x693bee], 0
jne 0x474503
cmp byte [0x693bbc], 0
je 0x4745ce
cmp dword [0x693b44], 4
jle 0x474642
cmp bx, 0x4000
jbe 0x474672
cmp bx, 0x8000
jbe 0x47464e
cmp bx, 0xc000
jbe 0x474672
test byte [0x693f68], 1
je 0x474672
jmp 0x47464e
cmp dword [0x693b44], 4
jle 0x47452c
cmp bx, 0x4000
jbe 0x47455c
cmp bx, 0x8000
jbe 0x474538
cmp bx, 0xc000
jbe 0x47455c
test byte [0x693f68], 1
je 0x47455c
jmp 0x474538
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47455c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47458f
mov dword [esp], 4
call fcn.00416240
push ecx
movzx eax, byte [0x693f11]
mov byte [0x693f01], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x474571
cmp dword [0x693b44], 4
jg 0x4746e4
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47460b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x474717
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693c5e]
mov byte [0x693c5d], al
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x474672
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4746a5
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693c08]
mov byte [0x693c00], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x474687
cmp bx, 0x4000
jbe 0x47460b
cmp bx, 0x8000
jbe 0x4745e7
cmp bx, 0xc000
jbe 0x47460b
test byte [0x693f68], 1
je 0x47460b
jmp 0x4745e7
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x474624
cmp byte [0x693bee], 0
jne 0x4747af
cmp byte [0x693bbc], 0
je 0x47497f
cmp dword [0x693b44], 4
jle 0x474a25
cmp bx, 0x4000
jbe 0x474a55
cmp bx, 0x8000
jbe 0x474a31
cmp bx, 0xc000
jbe 0x474a55
test byte [0x693f68], 1
je 0x474a55
jmp 0x474a31
cmp dword [0x693b44], 4
jle 0x4747d8
cmp bx, 0x4000
jbe 0x474808
cmp bx, 0x8000
jbe 0x4747e4
cmp bx, 0xc000
jbe 0x474808
test byte [0x693f68], 1
je 0x474808
jmp 0x4747e4
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x474808
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47486c
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x4748ae
cmp eax, 0x3fff
jle 0x4748de
cmp eax, 0x7fff
jle 0x4748ba
cmp eax, 0xbfff
jle 0x4748de
test byte [0x693f68], 1
je 0x4748de
jmp 0x4748ba
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47481d
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4748de
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47493d
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
movzx ebx, ax
mov dword [esp], ebx
call fcn.004010a0
push edx
mov byte [0x693f01], al
cmp ebx, dword [0x693fe0]
jne 0x482d10
jmp 0x4753a4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4748f3
cmp dword [0x693b44], 4
jg 0x474cbe
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4749bc
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x474cf1
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x474d33
cmp ax, 0x3fff
jbe 0x474d61
test ax, ax
jns 0x474d3d
cmp ax, 0xbfff
jbe 0x474d61
test byte [0x693f68], 1
je 0x474d61
jmp 0x474d3d
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x474a55
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x474aa7
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x474ae6
cmp ax, 0x3fff
jbe 0x474b14
test ax, ax
jns 0x474af0
cmp ax, 0xbfff
jbe 0x474b14
test byte [0x693f68], 1
je 0x474b14
jmp 0x474af0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x474a6a
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x474b14
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x474bb7
mov dword [esp], 3
call fcn.00416240
push esi
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
push edi
movzx edx, byte [0x693c08]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c00]
or edx, ecx
xor al, 0x80
add edx, eax
lea eax, [edx - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x474bf9
cmp ax, 0x3fff
jbe 0x474c29
test ax, ax
jns 0x474c05
cmp ax, 0xbfff
jbe 0x474c29
test byte [0x693f68], 1
je 0x474c29
jmp 0x474c05
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x474b2d
lea eax, [edx - 0x4080]
cmp ax, 0x3fff
ja 0x474c29
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x474c7f
mov dword [esp], 3
call fcn.00416240
push eax
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
mov byte [0x693f01], al
cmp ebx, dword [0x693fe0]
jne 0x474c72
mov dword [0x693bf0], 0x1a90
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x474c3e
cmp bx, 0x4000
jbe 0x4749bc
cmp bx, 0x8000
jbe 0x474998
cmp bx, 0xc000
jbe 0x4749bc
test byte [0x693f68], 1
je 0x4749bc
jmp 0x474998
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4749d5
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x474d61
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x474e04
mov dword [esp], 3
call fcn.00416240
push esi
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
push edi
movzx edx, byte [0x693c5e]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c5d]
or edx, ecx
xor al, 0x80
add edx, eax
lea eax, [edx - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x474e46
cmp ax, 0x3fff
jbe 0x474e76
test ax, ax
jns 0x474e52
cmp ax, 0xbfff
jbe 0x474e76
test byte [0x693f68], 1
je 0x474e76
jmp 0x474e52
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x474d7a
lea eax, [edx - 0x4080]
cmp ax, 0x3fff
ja 0x474e76
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x474ecc
mov dword [esp], 3
call fcn.00416240
push eax
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
mov byte [0x693f01], al
cmp ebx, dword [0x693fe0]
jne 0x474ebf
mov dword [0x693bf0], 0x1a90
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x474e8b
cmp byte [0x693bee], 0
jne 0x474f61
cmp byte [0x693bbc], 0
je 0x47502c
cmp dword [0x693b44], 4
jle 0x4750a0
cmp bx, 0x4000
jbe 0x4750d0
cmp bx, 0x8000
jbe 0x4750ac
cmp bx, 0xc000
jbe 0x4750d0
test byte [0x693f68], 1
je 0x4750d0
jmp 0x4750ac
cmp dword [0x693b44], 4
jle 0x474f8a
cmp bx, 0x4000
jbe 0x474fba
cmp bx, 0x8000
jbe 0x474f96
cmp bx, 0xc000
jbe 0x474fba
test byte [0x693f68], 1
je 0x474fba
jmp 0x474f96
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x474fba
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x474fed
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f2a]
mov byte [0x693f01], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x474fcf
cmp dword [0x693b44], 4
jg 0x475142
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x475069
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x475175
mov dword [esp], 4
call fcn.00416240
push ecx
movzx eax, byte [0x693f2a]
mov byte [0x693c5d], al
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4750d0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x475103
mov dword [esp], 4
call fcn.00416240
push edi
movzx eax, byte [0x693f2a]
mov byte [0x693c00], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4750e5
cmp bx, 0x4000
jbe 0x475069
cmp bx, 0x8000
jbe 0x475045
cmp bx, 0xc000
jbe 0x475069
test byte [0x693f68], 1
je 0x475069
jmp 0x475045
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x475082
cmp byte [0x693bee], 0
jne 0x47520d
cmp byte [0x693bbc], 0
je 0x4753f5
cmp dword [0x693b44], 4
jle 0x47549b
cmp bx, 0x4000
jbe 0x4754cb
cmp bx, 0x8000
jbe 0x4754a7
cmp bx, 0xc000
jbe 0x4754cb
test byte [0x693f68], 1
je 0x4754cb
jmp 0x4754a7
cmp dword [0x693b44], 4
jle 0x475236
cmp bx, 0x4000
jbe 0x475266
cmp bx, 0x8000
jbe 0x475242
cmp bx, 0xc000
jbe 0x475266
test byte [0x693f68], 1
je 0x475266
jmp 0x475242
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x475266
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4752ca
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x47530c
cmp eax, 0x3fff
jle 0x47533c
cmp eax, 0x7fff
jle 0x475318
cmp eax, 0xbfff
jle 0x47533c
test byte [0x693f68], 1
je 0x47533c
jmp 0x475318
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47527b
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x47533c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4753b3
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
movzx edx, byte [0x693f26]
mov dword [esp + 4], edx
movzx eax, ax
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x693efe]
cmp eax, dword [0x693fd4]
jne 0x482d10
mov dword [0x693bf0], 0x1a90
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x475351
cmp dword [0x693b44], 4
jg 0x475745
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x475432
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x475778
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4757ba
cmp ax, 0x3fff
jbe 0x4757e8
test ax, ax
jns 0x4757c4
cmp ax, 0xbfff
jbe 0x4757e8
test byte [0x693f68], 1
je 0x4757e8
jmp 0x4757c4
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4754cb
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47551d
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x47555c
cmp ax, 0x3fff
jbe 0x47558a
test ax, ax
jns 0x475566
cmp ax, 0xbfff
jbe 0x47558a
test byte [0x693f68], 1
je 0x47558a
jmp 0x475566
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4754e0
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x47558a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47562d
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
push edx
movzx edx, byte [0x693c08]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c00]
or edx, ecx
xor al, 0x80
add edx, eax
lea eax, [edx - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x47566f
cmp ax, 0x3fff
jbe 0x47569f
test ax, ax
jns 0x47567b
cmp ax, 0xbfff
jbe 0x47569f
test byte [0x693f68], 1
je 0x47569f
jmp 0x47567b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4755a3
lea eax, [edx - 0x4080]
cmp ax, 0x3fff
ja 0x47569f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x475703
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f26]
mov dword [esp + 4], eax
movzx eax, word [0x693efe]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x693efe]
cmp eax, dword [0x693fd4]
jne 0x4756f6
mov dword [0x693bf0], 0x1a90
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4756b4
cmp bx, 0x4000
jbe 0x475432
cmp bx, 0x8000
jbe 0x47540e
cmp bx, 0xc000
jbe 0x475432
test byte [0x693f68], 1
je 0x475432
jmp 0x47540e
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47544b
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4757e8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47588b
mov dword [esp], 3
call fcn.00416240
push ebp
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
push edx
movzx edx, byte [0x693c5e]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c5d]
or edx, ecx
xor al, 0x80
add edx, eax
lea eax, [edx - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x4758cd
cmp ax, 0x3fff
jbe 0x4758fd
test ax, ax
jns 0x4758d9
cmp ax, 0xbfff
jbe 0x4758fd
test byte [0x693f68], 1
je 0x4758fd
jmp 0x4758d9
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x475801
lea eax, [edx - 0x4080]
cmp ax, 0x3fff
ja 0x4758fd
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x475961
mov dword [esp], 3
call fcn.00416240
push ecx
movzx eax, byte [0x693f26]
mov dword [esp + 4], eax
movzx eax, word [0x693efe]
mov dword [esp], eax
call fcn.004015c0
push ebx
push ebx
movzx eax, word [0x693efe]
cmp eax, dword [0x693fd4]
jne 0x475954
mov dword [0x693bf0], 0x1a90
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x475912
cmp byte [0x693bee], 0
jne 0x4759f9
cmp byte [0x693bbc], 0
je 0x475bb0
cmp dword [0x693b44], 4
jle 0x475c56
cmp bx, 0x4000
jbe 0x475c86
cmp bx, 0x8000
jbe 0x475c62
cmp bx, 0xc000
jbe 0x475c86
test byte [0x693f68], 1
je 0x475c86
jmp 0x475c62
cmp dword [0x693b44], 4
jle 0x475a22
cmp bx, 0x4000
jbe 0x475a52
cmp bx, 0x8000
jbe 0x475a2e
cmp bx, 0xc000
jbe 0x475a52
test byte [0x693f68], 1
je 0x475a52
jmp 0x475a2e
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x475a52
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x475ab6
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x475af8
cmp eax, 0x3fff
jle 0x475b28
cmp eax, 0x7fff
jle 0x475b04
cmp eax, 0xbfff
jle 0x475b28
test byte [0x693f68], 1
je 0x475b28
jmp 0x475b04
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x475a67
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x475b28
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x475b71
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
movzx edx, byte [0x693f25]
jmp 0x475380
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x475b3d
cmp dword [0x693b44], 4
jg 0x475f00
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x475bed
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x475f33
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x475f75
cmp ax, 0x3fff
jbe 0x475fa3
test ax, ax
jns 0x475f7f
cmp ax, 0xbfff
jbe 0x475fa3
test byte [0x693f68], 1
je 0x475fa3
jmp 0x475f7f
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x475c86
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x475cd8
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x475d17
cmp ax, 0x3fff
jbe 0x475d45
test ax, ax
jns 0x475d21
cmp ax, 0xbfff
jbe 0x475d45
test byte [0x693f68], 1
je 0x475d45
jmp 0x475d21
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x475c9b
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x475d45
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x475de8
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
push edx
movzx edx, byte [0x693c08]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c00]
or edx, ecx
xor al, 0x80
add edx, eax
lea eax, [edx - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x475e2a
cmp ax, 0x3fff
jbe 0x475e5a
test ax, ax
jns 0x475e36
cmp ax, 0xbfff
jbe 0x475e5a
test byte [0x693f68], 1
je 0x475e5a
jmp 0x475e36
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x475d5e
lea eax, [edx - 0x4080]
cmp ax, 0x3fff
ja 0x475e5a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x475ebe
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f25]
mov dword [esp + 4], eax
movzx eax, word [0x693efe]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x693efe]
cmp eax, dword [0x693fd4]
jne 0x475eb1
mov dword [0x693bf0], 0x1a90
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x475e6f
cmp bx, 0x4000
jbe 0x475bed
cmp bx, 0x8000
jbe 0x475bc9
cmp bx, 0xc000
jbe 0x475bed
test byte [0x693f68], 1
je 0x475bed
jmp 0x475bc9
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x475c06
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x475fa3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x476046
mov dword [esp], 3
call fcn.00416240
push ebp
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
push edx
movzx edx, byte [0x693c5e]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c5d]
or edx, ecx
xor al, 0x80
add edx, eax
lea eax, [edx - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x476088
cmp ax, 0x3fff
jbe 0x4760b8
test ax, ax
jns 0x476094
cmp ax, 0xbfff
jbe 0x4760b8
test byte [0x693f68], 1
je 0x4760b8
jmp 0x476094
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x475fbc
lea eax, [edx - 0x4080]
cmp ax, 0x3fff
ja 0x4760b8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47611c
mov dword [esp], 3
call fcn.00416240
push ecx
movzx eax, byte [0x693f25]
mov dword [esp + 4], eax
movzx eax, word [0x693efe]
mov dword [esp], eax
call fcn.004015c0
push ebx
push ebx
movzx eax, word [0x693efe]
cmp eax, dword [0x693fd4]
jne 0x47610f
mov dword [0x693bf0], 0x1a90
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4760cd
cmp byte [0x693bee], 0
jne 0x4761b4
cmp byte [0x693bbc], 0
je 0x47636b
cmp dword [0x693b44], 4
jle 0x476411
cmp bx, 0x4000
jbe 0x476441
cmp bx, 0x8000
jbe 0x47641d
cmp bx, 0xc000
jbe 0x476441
test byte [0x693f68], 1
je 0x476441
jmp 0x47641d
cmp dword [0x693b44], 4
jle 0x4761dd
cmp bx, 0x4000
jbe 0x47620d
cmp bx, 0x8000
jbe 0x4761e9
cmp bx, 0xc000
jbe 0x47620d
test byte [0x693f68], 1
je 0x47620d
jmp 0x4761e9
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47620d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x476271
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x4762b3
cmp eax, 0x3fff
jle 0x4762e3
cmp eax, 0x7fff
jle 0x4762bf
cmp eax, 0xbfff
jle 0x4762e3
test byte [0x693f68], 1
je 0x4762e3
jmp 0x4762bf
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x476222
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4762e3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47632c
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
movzx edx, byte [0x693f24]
jmp 0x475380
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4762f8
cmp dword [0x693b44], 4
jg 0x4766bb
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4763a8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4766ee
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x476730
cmp ax, 0x3fff
jbe 0x47675e
test ax, ax
jns 0x47673a
cmp ax, 0xbfff
jbe 0x47675e
test byte [0x693f68], 1
je 0x47675e
jmp 0x47673a
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x476441
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x476493
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4764d2
cmp ax, 0x3fff
jbe 0x476500
test ax, ax
jns 0x4764dc
cmp ax, 0xbfff
jbe 0x476500
test byte [0x693f68], 1
je 0x476500
jmp 0x4764dc
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x476456
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x476500
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4765a3
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
push edx
movzx edx, byte [0x693c08]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c00]
or edx, ecx
xor al, 0x80
add edx, eax
lea eax, [edx - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x4765e5
cmp ax, 0x3fff
jbe 0x476615
test ax, ax
jns 0x4765f1
cmp ax, 0xbfff
jbe 0x476615
test byte [0x693f68], 1
je 0x476615
jmp 0x4765f1
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x476519
lea eax, [edx - 0x4080]
cmp ax, 0x3fff
ja 0x476615
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x476679
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f24]
mov dword [esp + 4], eax
movzx eax, word [0x693efe]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x693efe]
cmp eax, dword [0x693fd4]
jne 0x47666c
mov dword [0x693bf0], 0x1a90
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47662a
cmp bx, 0x4000
jbe 0x4763a8
cmp bx, 0x8000
jbe 0x476384
cmp bx, 0xc000
jbe 0x4763a8
test byte [0x693f68], 1
je 0x4763a8
jmp 0x476384
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4763c1
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x47675e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x476801
mov dword [esp], 3
call fcn.00416240
push ebp
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
push edx
movzx edx, byte [0x693c5e]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c5d]
or edx, ecx
xor al, 0x80
add edx, eax
lea eax, [edx - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x476843
cmp ax, 0x3fff
jbe 0x476873
test ax, ax
jns 0x47684f
cmp ax, 0xbfff
jbe 0x476873
test byte [0x693f68], 1
je 0x476873
jmp 0x47684f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x476777
lea eax, [edx - 0x4080]
cmp ax, 0x3fff
ja 0x476873
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4768d7
mov dword [esp], 3
call fcn.00416240
push ecx
movzx eax, byte [0x693f24]
mov dword [esp + 4], eax
movzx eax, word [0x693efe]
mov dword [esp], eax
call fcn.004015c0
push ebx
push ebx
movzx eax, word [0x693efe]
cmp eax, dword [0x693fd4]
jne 0x4768ca
mov dword [0x693bf0], 0x1a90
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x476888
cmp byte [0x693bee], 0
jne 0x47696f
cmp byte [0x693bbc], 0
je 0x476b26
cmp dword [0x693b44], 4
jle 0x476bcc
cmp bx, 0x4000
jbe 0x476bfc
cmp bx, 0x8000
jbe 0x476bd8
cmp bx, 0xc000
jbe 0x476bfc
test byte [0x693f68], 1
je 0x476bfc
jmp 0x476bd8
cmp dword [0x693b44], 4
jle 0x476998
cmp bx, 0x4000
jbe 0x4769c8
cmp bx, 0x8000
jbe 0x4769a4
cmp bx, 0xc000
jbe 0x4769c8
test byte [0x693f68], 1
je 0x4769c8
jmp 0x4769a4
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4769c8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x476a2c
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x476a6e
cmp eax, 0x3fff
jle 0x476a9e
cmp eax, 0x7fff
jle 0x476a7a
cmp eax, 0xbfff
jle 0x476a9e
test byte [0x693f68], 1
je 0x476a9e
jmp 0x476a7a
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4769dd
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x476a9e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x476ae7
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
movzx edx, byte [0x693f1c]
jmp 0x475380
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x476ab3
cmp dword [0x693b44], 4
jg 0x476e76
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x476b63
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x476ea9
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x476eeb
cmp ax, 0x3fff
jbe 0x476f19
test ax, ax
jns 0x476ef5
cmp ax, 0xbfff
jbe 0x476f19
test byte [0x693f68], 1
je 0x476f19
jmp 0x476ef5
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x476bfc
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x476c4e
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x476c8d
cmp ax, 0x3fff
jbe 0x476cbb
test ax, ax
jns 0x476c97
cmp ax, 0xbfff
jbe 0x476cbb
test byte [0x693f68], 1
je 0x476cbb
jmp 0x476c97
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x476c11
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x476cbb
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x476d5e
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
push edx
movzx edx, byte [0x693c08]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c00]
or edx, ecx
xor al, 0x80
add edx, eax
lea eax, [edx - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x476da0
cmp ax, 0x3fff
jbe 0x476dd0
test ax, ax
jns 0x476dac
cmp ax, 0xbfff
jbe 0x476dd0
test byte [0x693f68], 1
je 0x476dd0
jmp 0x476dac
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x476cd4
lea eax, [edx - 0x4080]
cmp ax, 0x3fff
ja 0x476dd0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x476e34
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f1c]
mov dword [esp + 4], eax
movzx eax, word [0x693efe]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x693efe]
cmp eax, dword [0x693fd4]
jne 0x476e27
mov dword [0x693bf0], 0x1a90
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x476de5
cmp bx, 0x4000
jbe 0x476b63
cmp bx, 0x8000
jbe 0x476b3f
cmp bx, 0xc000
jbe 0x476b63
test byte [0x693f68], 1
je 0x476b63
jmp 0x476b3f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x476b7c
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x476f19
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x476fbc
mov dword [esp], 3
call fcn.00416240
push ebp
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
push edx
movzx edx, byte [0x693c5e]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c5d]
or edx, ecx
xor al, 0x80
add edx, eax
lea eax, [edx - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x476ffe
cmp ax, 0x3fff
jbe 0x47702e
test ax, ax
jns 0x47700a
cmp ax, 0xbfff
jbe 0x47702e
test byte [0x693f68], 1
je 0x47702e
jmp 0x47700a
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x476f32
lea eax, [edx - 0x4080]
cmp ax, 0x3fff
ja 0x47702e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x477092
mov dword [esp], 3
call fcn.00416240
push ecx
movzx eax, byte [0x693f1c]
mov dword [esp + 4], eax
movzx eax, word [0x693efe]
mov dword [esp], eax
call fcn.004015c0
push ebx
push ebx
movzx eax, word [0x693efe]
cmp eax, dword [0x693fd4]
jne 0x477085
mov dword [0x693bf0], 0x1a90
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x477043
cmp byte [0x693bee], 0
jne 0x47712a
cmp byte [0x693bbc], 0
je 0x4772e2
cmp dword [0x693b44], 4
jle 0x477388
cmp bx, 0x4000
jbe 0x4773b8
cmp bx, 0x8000
jbe 0x477394
cmp bx, 0xc000
jbe 0x4773b8
test byte [0x693f68], 1
je 0x4773b8
jmp 0x477394
cmp dword [0x693b44], 4
jle 0x477153
cmp bx, 0x4000
jbe 0x477183
cmp bx, 0x8000
jbe 0x47715f
cmp bx, 0xc000
jbe 0x477183
test byte [0x693f68], 1
je 0x477183
jmp 0x47715f
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x477183
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4771e7
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x477229
cmp eax, 0x3fff
jle 0x477259
cmp eax, 0x7fff
jle 0x477235
cmp eax, 0xbfff
jle 0x477259
test byte [0x693f68], 1
je 0x477259
jmp 0x477235
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x477198
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x477259
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4772a3
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
movzx edx, byte [0x693f01]
mov ecx, eax
shl ecx, 8
or edx, ecx
mov word [0x693efe], dx
mov dword [esp + 4], eax
movzx eax, dx
jmp 0x475387
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47726e
cmp dword [0x693b44], 4
jg 0x477632
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47731f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x477665
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4776a7
cmp ax, 0x3fff
jbe 0x4776d5
test ax, ax
jns 0x4776b1
cmp ax, 0xbfff
jbe 0x4776d5
test byte [0x693f68], 1
je 0x4776d5
jmp 0x4776b1
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4773b8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47740a
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x477449
cmp ax, 0x3fff
jbe 0x477477
test ax, ax
jns 0x477453
cmp ax, 0xbfff
jbe 0x477477
test byte [0x693f68], 1
je 0x477477
jmp 0x477453
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4773cd
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x477477
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47751a
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
push edx
movzx edx, byte [0x693c08]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c00]
or edx, ecx
xor al, 0x80
add edx, eax
lea eax, [edx - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x47755c
cmp ax, 0x3fff
jbe 0x47758c
test ax, ax
jns 0x477568
cmp ax, 0xbfff
jbe 0x47758c
test byte [0x693f68], 1
je 0x47758c
jmp 0x477568
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x477490
lea eax, [edx - 0x4080]
cmp ax, 0x3fff
ja 0x47758c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4775f0
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
mov dword [esp + 4], eax
movzx eax, word [0x693efe]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x693efe]
cmp eax, dword [0x693fd4]
jne 0x4775e3
mov dword [0x693bf0], 0x1a90
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4775a1
cmp bx, 0x4000
jbe 0x47731f
cmp bx, 0x8000
jbe 0x4772fb
cmp bx, 0xc000
jbe 0x47731f
test byte [0x693f68], 1
je 0x47731f
jmp 0x4772fb
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x477338
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4776d5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x477778
mov dword [esp], 3
call fcn.00416240
push ebp
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
push edx
movzx edx, byte [0x693c5e]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c5d]
or edx, ecx
xor al, 0x80
add edx, eax
lea eax, [edx - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x4777ba
cmp ax, 0x3fff
jbe 0x4777ea
test ax, ax
jns 0x4777c6
cmp ax, 0xbfff
jbe 0x4777ea
test byte [0x693f68], 1
je 0x4777ea
jmp 0x4777c6
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4776ee
lea eax, [edx - 0x4080]
cmp ax, 0x3fff
ja 0x4777ea
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47784e
mov dword [esp], 3
call fcn.00416240
push ecx
movzx eax, byte [0x693f11]
mov dword [esp + 4], eax
movzx eax, word [0x693efe]
mov dword [esp], eax
call fcn.004015c0
push ebx
push ebx
movzx eax, word [0x693efe]
cmp eax, dword [0x693fd4]
jne 0x477841
mov dword [0x693bf0], 0x1a90
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4777ff
cmp byte [0x693bee], 0
jne 0x4778e6
cmp byte [0x693bbc], 0
je 0x477a9c
cmp dword [0x693b44], 4
jle 0x477b42
cmp bx, 0x4000
jbe 0x477b72
cmp bx, 0x8000
jbe 0x477b4e
cmp bx, 0xc000
jbe 0x477b72
test byte [0x693f68], 1
je 0x477b72
jmp 0x477b4e
cmp dword [0x693b44], 4
jle 0x47790f
cmp bx, 0x4000
jbe 0x47793f
cmp bx, 0x8000
jbe 0x47791b
cmp bx, 0xc000
jbe 0x47793f
test byte [0x693f68], 1
je 0x47793f
jmp 0x47791b
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47793f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4779a3
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x4779e5
cmp eax, 0x3fff
jle 0x477a15
cmp eax, 0x7fff
jle 0x4779f1
cmp eax, 0xbfff
jle 0x477a15
test byte [0x693f68], 1
je 0x477a15
jmp 0x4779f1
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x477954
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x477a15
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x477a5d
mov dword [esp], 3
call fcn.00416240
push eax
movzx ecx, byte [0x693f01]
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, cl
or eax, edx
mov word [0x693efe], ax
movzx edx, cl
jmp 0x475380
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x477a2a
cmp dword [0x693b44], 4
jg 0x477dec
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x477ad9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x477e1f
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x477e61
cmp ax, 0x3fff
jbe 0x477e8f
test ax, ax
jns 0x477e6b
cmp ax, 0xbfff
jbe 0x477e8f
test byte [0x693f68], 1
je 0x477e8f
jmp 0x477e6b
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x477b72
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x477bc4
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x477c03
cmp ax, 0x3fff
jbe 0x477c31
test ax, ax
jns 0x477c0d
cmp ax, 0xbfff
jbe 0x477c31
test byte [0x693f68], 1
je 0x477c31
jmp 0x477c0d
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x477b87
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x477c31
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x477cd4
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
push edx
movzx edx, byte [0x693c08]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c00]
or edx, ecx
xor al, 0x80
add edx, eax
lea eax, [edx - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x477d16
cmp ax, 0x3fff
jbe 0x477d46
test ax, ax
jns 0x477d22
cmp ax, 0xbfff
jbe 0x477d46
test byte [0x693f68], 1
je 0x477d46
jmp 0x477d22
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x477c4a
lea eax, [edx - 0x4080]
cmp ax, 0x3fff
ja 0x477d46
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x477daa
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f01]
mov dword [esp + 4], eax
movzx eax, word [0x693efe]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x693efe]
cmp eax, dword [0x693fd4]
jne 0x477d9d
mov dword [0x693bf0], 0x1a90
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x477d5b
cmp bx, 0x4000
jbe 0x477ad9
cmp bx, 0x8000
jbe 0x477ab5
cmp bx, 0xc000
jbe 0x477ad9
test byte [0x693f68], 1
je 0x477ad9
jmp 0x477ab5
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x477af2
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x477e8f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x477f32
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
push edx
movzx edx, byte [0x693c5e]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c5d]
or edx, ecx
xor al, 0x80
add edx, eax
lea eax, [edx - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x477f74
cmp ax, 0x3fff
jbe 0x477fa4
test ax, ax
jns 0x477f80
cmp ax, 0xbfff
jbe 0x477fa4
test byte [0x693f68], 1
je 0x477fa4
jmp 0x477f80
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x477ea8
lea eax, [edx - 0x4080]
cmp ax, 0x3fff
ja 0x477fa4
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x478008
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, byte [0x693f01]
mov dword [esp + 4], eax
movzx eax, word [0x693efe]
mov dword [esp], eax
call fcn.004015c0
push esi
push esi
movzx eax, word [0x693efe]
cmp eax, dword [0x693fd4]
jne 0x477ffb
mov dword [0x693bf0], 0x1a90
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x477fb9
cmp byte [0x693bee], 0
jne 0x4780a0
cmp byte [0x693bbc], 0
je 0x478257
cmp dword [0x693b44], 4
jle 0x4782fd
cmp bx, 0x4000
jbe 0x47832d
cmp bx, 0x8000
jbe 0x478309
cmp bx, 0xc000
jbe 0x47832d
test byte [0x693f68], 1
je 0x47832d
jmp 0x478309
cmp dword [0x693b44], 4
jle 0x4780c9
cmp bx, 0x4000
jbe 0x4780f9
cmp bx, 0x8000
jbe 0x4780d5
cmp bx, 0xc000
jbe 0x4780f9
test byte [0x693f68], 1
je 0x4780f9
jmp 0x4780d5
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4780f9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47815d
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x47819f
cmp eax, 0x3fff
jle 0x4781cf
cmp eax, 0x7fff
jle 0x4781ab
cmp eax, 0xbfff
jle 0x4781cf
test byte [0x693f68], 1
je 0x4781cf
jmp 0x4781ab
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47810e
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4781cf
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x478218
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
movzx edx, byte [0x693f2a]
jmp 0x475380
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4781e4
cmp dword [0x693b44], 4
jg 0x4785a7
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x478294
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4785da
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x47861c
cmp ax, 0x3fff
jbe 0x47864a
test ax, ax
jns 0x478626
cmp ax, 0xbfff
jbe 0x47864a
test byte [0x693f68], 1
je 0x47864a
jmp 0x478626
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47832d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47837f
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4783be
cmp ax, 0x3fff
jbe 0x4783ec
test ax, ax
jns 0x4783c8
cmp ax, 0xbfff
jbe 0x4783ec
test byte [0x693f68], 1
je 0x4783ec
jmp 0x4783c8
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x478342
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4783ec
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47848f
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
push edx
movzx edx, byte [0x693c08]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c00]
or edx, ecx
xor al, 0x80
add edx, eax
lea eax, [edx - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x4784d1
cmp ax, 0x3fff
jbe 0x478501
test ax, ax
jns 0x4784dd
cmp ax, 0xbfff
jbe 0x478501
test byte [0x693f68], 1
je 0x478501
jmp 0x4784dd
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x478405
lea eax, [edx - 0x4080]
cmp ax, 0x3fff
ja 0x478501
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x478565
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f2a]
mov dword [esp + 4], eax
movzx eax, word [0x693efe]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x693efe]
cmp eax, dword [0x693fd4]
jne 0x478558
mov dword [0x693bf0], 0x1a90
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x478516
cmp bx, 0x4000
jbe 0x478294
cmp bx, 0x8000
jbe 0x478270
cmp bx, 0xc000
jbe 0x478294
test byte [0x693f68], 1
je 0x478294
jmp 0x478270
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4782ad
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x47864a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4786ed
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
push edx
movzx edx, byte [0x693c5e]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c5d]
or edx, ecx
xor al, 0x80
add edx, eax
lea eax, [edx - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x47872f
cmp ax, 0x3fff
jbe 0x47875f
test ax, ax
jns 0x47873b
cmp ax, 0xbfff
jbe 0x47875f
test byte [0x693f68], 1
je 0x47875f
jmp 0x47873b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x478663
lea eax, [edx - 0x4080]
cmp ax, 0x3fff
ja 0x47875f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4787c3
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, byte [0x693f2a]
mov dword [esp + 4], eax
movzx eax, word [0x693efe]
mov dword [esp], eax
call fcn.004015c0
push edi
push edi
movzx eax, word [0x693efe]
cmp eax, dword [0x693fd4]
jne 0x4787b6
mov dword [0x693bf0], 0x1a90
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x478774
cmp dword [0x693b44], 4
jle 0x47882e
cmp bx, 0x4000
jbe 0x47885e
cmp bx, 0x8000
jbe 0x47883a
cmp bx, 0xc000
jbe 0x47885e
test byte [0x693f68], 1
je 0x47885e
jmp 0x47883a
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47885e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x478898
mov dword [esp], 4
call fcn.00416240
push edx
movzx eax, byte [0x693f26]
mov byte [0x693f2a], al
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x478873
cmp dword [0x693b44], 4
jle 0x478900
cmp bx, 0x4000
jbe 0x478930
cmp bx, 0x8000
jbe 0x47890c
cmp bx, 0xc000
jbe 0x478930
test byte [0x693f68], 1
je 0x478930
jmp 0x47890c
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x478930
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47896a
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f25]
mov byte [0x693f2a], al
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x478945
cmp dword [0x693b44], 4
jle 0x4789d2
cmp bx, 0x4000
jbe 0x478a02
cmp bx, 0x8000
jbe 0x4789de
cmp bx, 0xc000
jbe 0x478a02
test byte [0x693f68], 1
je 0x478a02
jmp 0x4789de
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x478a02
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x478a3c
mov dword [esp], 4
call fcn.00416240
push ebp
movzx eax, byte [0x693f24]
mov byte [0x693f2a], al
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x478a17
cmp dword [0x693b44], 4
jle 0x478aa4
cmp bx, 0x4000
jbe 0x478ad4
cmp bx, 0x8000
jbe 0x478ab0
cmp bx, 0xc000
jbe 0x478ad4
test byte [0x693f68], 1
je 0x478ad4
jmp 0x478ab0
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x478ad4
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x478b0e
mov dword [esp], 4
call fcn.00416240
push ebx
movzx eax, byte [0x693f1c]
mov byte [0x693f2a], al
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x478ae9
cmp byte [0x693bee], 0
jne 0x478ba3
cmp byte [0x693bbc], 0
je 0x478c6e
cmp dword [0x693b44], 4
jle 0x478ce2
cmp bx, 0x4000
jbe 0x478d12
cmp bx, 0x8000
jbe 0x478cee
cmp bx, 0xc000
jbe 0x478d12
test byte [0x693f68], 1
je 0x478d12
jmp 0x478cee
cmp dword [0x693b44], 4
jle 0x478bcc
cmp bx, 0x4000
jbe 0x478bfc
cmp bx, 0x8000
jbe 0x478bd8
cmp bx, 0xc000
jbe 0x478bfc
test byte [0x693f68], 1
je 0x478bfc
jmp 0x478bd8
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x478bfc
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x478c2f
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
mov byte [0x693f2a], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x478c11
cmp dword [0x693b44], 4
jg 0x478d84
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x478cab
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x478db7
mov dword [esp], 4
call fcn.00416240
push edi
movzx eax, byte [0x693c5e]
mov byte [0x693f2a], al
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x478d12
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x478d45
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693c08]
mov byte [0x693f2a], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x478d27
cmp bx, 0x4000
jbe 0x478cab
cmp bx, 0x8000
jbe 0x478c87
cmp bx, 0xc000
jbe 0x478cab
test byte [0x693f68], 1
je 0x478cab
jmp 0x478c87
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x478cc4
cmp byte [0x693bee], 0
jne 0x478e4f
cmp byte [0x693bbc], 0
je 0x478f1a
cmp dword [0x693b44], 4
jle 0x478f8e
cmp bx, 0x4000
jbe 0x478fbe
cmp bx, 0x8000
jbe 0x478f9a
cmp bx, 0xc000
jbe 0x478fbe
test byte [0x693f68], 1
je 0x478fbe
jmp 0x478f9a
cmp dword [0x693b44], 4
jle 0x478e78
cmp bx, 0x4000
jbe 0x478ea8
cmp bx, 0x8000
jbe 0x478e84
cmp bx, 0xc000
jbe 0x478ea8
test byte [0x693f68], 1
je 0x478ea8
jmp 0x478e84
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x478ea8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x478edb
mov dword [esp], 4
call fcn.00416240
push ecx
movzx eax, byte [0x693f01]
mov byte [0x693f2a], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x478ebd
cmp dword [0x693b44], 4
jg 0x479030
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x478f57
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x479063
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693c5d]
mov byte [0x693f2a], al
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x478fbe
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x478ff1
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693c00]
mov byte [0x693f2a], al
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x478fd3
cmp bx, 0x4000
jbe 0x478f57
cmp bx, 0x8000
jbe 0x478f33
cmp bx, 0xc000
jbe 0x478f57
test byte [0x693f68], 1
je 0x478f57
jmp 0x478f33
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x478f70
cmp byte [0x693bee], 0
jne 0x4790fb
cmp byte [0x693bbc], 0
je 0x4792cb
cmp dword [0x693b44], 4
jle 0x479371
cmp bx, 0x4000
jbe 0x4793a1
cmp bx, 0x8000
jbe 0x47937d
cmp bx, 0xc000
jbe 0x4793a1
test byte [0x693f68], 1
je 0x4793a1
jmp 0x47937d
cmp dword [0x693b44], 4
jle 0x479124
cmp bx, 0x4000
jbe 0x479154
cmp bx, 0x8000
jbe 0x479130
cmp bx, 0xc000
jbe 0x479154
test byte [0x693f68], 1
je 0x479154
jmp 0x479130
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x479154
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4791b8
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x4791fa
cmp eax, 0x3fff
jle 0x47922a
cmp eax, 0x7fff
jle 0x479206
cmp eax, 0xbfff
jle 0x47922a
test byte [0x693f68], 1
je 0x47922a
jmp 0x479206
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x479169
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x47922a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x479289
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
movzx ebx, ax
mov dword [esp], ebx
call fcn.004010a0
push edx
mov byte [0x693f2a], al
cmp ebx, dword [0x693fe0]
jne 0x482d10
jmp 0x4753a4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47923f
cmp dword [0x693b44], 4
jg 0x47960a
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x479308
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47963d
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x47967f
cmp ax, 0x3fff
jbe 0x4796ad
test ax, ax
jns 0x479689
cmp ax, 0xbfff
jbe 0x4796ad
test byte [0x693f68], 1
je 0x4796ad
jmp 0x479689
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4793a1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4793f3
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x479432
cmp ax, 0x3fff
jbe 0x479460
test ax, ax
jns 0x47943c
cmp ax, 0xbfff
jbe 0x479460
test byte [0x693f68], 1
je 0x479460
jmp 0x47943c
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4793b6
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x479460
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x479503
mov dword [esp], 3
call fcn.00416240
push esi
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
push edi
movzx edx, byte [0x693c08]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c00]
or edx, ecx
xor al, 0x80
add edx, eax
lea eax, [edx - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x479545
cmp ax, 0x3fff
jbe 0x479575
test ax, ax
jns 0x479551
cmp ax, 0xbfff
jbe 0x479575
test byte [0x693f68], 1
je 0x479575
jmp 0x479551
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x479479
lea eax, [edx - 0x4080]
cmp ax, 0x3fff
ja 0x479575
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4795cb
mov dword [esp], 3
call fcn.00416240
push eax
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
mov byte [0x693f2a], al
cmp ebx, dword [0x693fe0]
jne 0x4795be
mov dword [0x693bf0], 0x1a90
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47958a
cmp bx, 0x4000
jbe 0x479308
cmp bx, 0x8000
jbe 0x4792e4
cmp bx, 0xc000
jbe 0x479308
test byte [0x693f68], 1
je 0x479308
jmp 0x4792e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x479321
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4796ad
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x479750
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004010a0
push edx
movzx edx, byte [0x693c5e]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c5d]
or edx, ecx
xor al, 0x80
add edx, eax
lea eax, [edx - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x479792
cmp ax, 0x3fff
jbe 0x4797c2
test ax, ax
jns 0x47979e
cmp ax, 0xbfff
jbe 0x4797c2
test byte [0x693f68], 1
je 0x4797c2
jmp 0x47979e
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4796c6
lea eax, [edx - 0x4080]
cmp ax, 0x3fff
ja 0x4797c2
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x479818
mov dword [esp], 3
call fcn.00416240
push ecx
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push esi
mov byte [0x693f2a], al
cmp ebx, dword [0x693fe0]
jne 0x47980b
mov dword [0x693bf0], 0x1a90
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4797d7
cmp dword [0x693b44], 4
jle 0x479880
cmp bx, 0x4000
jbe 0x4798b0
cmp bx, 0x8000
jbe 0x47988c
cmp bx, 0xc000
jbe 0x4798b0
test byte [0x693f68], 1
je 0x4798b0
jmp 0x47988c
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4798b0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x479920
mov dword [esp], 4
call fcn.00416240
push eax
movzx edx, byte [0x693f2a]
mov ebx, edx
mov word [0x693d20], dx
movzx eax, byte [0x693f26]
mov ecx, eax
mov word [0x693d1e], ax
add eax, edx
mov word [0x693d1c], ax
lea eax, [ebx + ecx]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4798c5
cmp dword [0x693b44], 4
jle 0x47998b
cmp bx, 0x4000
jbe 0x4799bb
cmp bx, 0x8000
jbe 0x479997
cmp bx, 0xc000
jbe 0x4799bb
test byte [0x693f68], 1
je 0x4799bb
jmp 0x479997
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4799bb
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x479a2b
mov dword [esp], 4
call fcn.00416240
push eax
movzx edx, byte [0x693f2a]
mov ebx, edx
mov word [0x693d20], dx
movzx eax, byte [0x693f25]
mov ecx, eax
mov word [0x693d1e], ax
add eax, edx
mov word [0x693d1c], ax
lea eax, [ebx + ecx]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4799d0
cmp dword [0x693b44], 4
jle 0x479a96
cmp bx, 0x4000
jbe 0x479ac6
cmp bx, 0x8000
jbe 0x479aa2
cmp bx, 0xc000
jbe 0x479ac6
test byte [0x693f68], 1
je 0x479ac6
jmp 0x479aa2
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x479ac6
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x479b36
mov dword [esp], 4
call fcn.00416240
push esi
movzx edx, byte [0x693f2a]
mov ebx, edx
mov word [0x693d20], dx
movzx eax, byte [0x693f24]
mov ecx, eax
mov word [0x693d1e], ax
add eax, edx
mov word [0x693d1c], ax
lea eax, [ebx + ecx]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x479adb
cmp dword [0x693b44], 4
jle 0x479ba1
cmp bx, 0x4000
jbe 0x479bd1
cmp bx, 0x8000
jbe 0x479bad
cmp bx, 0xc000
jbe 0x479bd1
test byte [0x693f68], 1
je 0x479bd1
jmp 0x479bad
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x479bd1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x479c41
mov dword [esp], 4
call fcn.00416240
push edx
movzx edx, byte [0x693f2a]
mov ebx, edx
mov word [0x693d20], dx
movzx eax, byte [0x693f1c]
mov ecx, eax
mov word [0x693d1e], ax
add eax, edx
mov word [0x693d1c], ax
lea eax, [ebx + ecx]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x479be6
cmp byte [0x693bee], 0
jne 0x479cd9
cmp byte [0x693bbc], 0
je 0x479ddd
cmp dword [0x693b44], 4
jle 0x479e87
cmp bx, 0x4000
jbe 0x479eb7
cmp bx, 0x8000
jbe 0x479e93
cmp bx, 0xc000
jbe 0x479eb7
test byte [0x693f68], 1
je 0x479eb7
jmp 0x479e93
cmp dword [0x693b44], 4
jle 0x479d02
cmp bx, 0x4000
jbe 0x479d32
cmp bx, 0x8000
jbe 0x479d0e
cmp bx, 0xc000
jbe 0x479d32
test byte [0x693f68], 1
je 0x479d32
jmp 0x479d0e
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x479d32
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x479d9b
mov dword [esp], 4
call fcn.00416240
push eax
movzx edx, byte [0x693f2a]
mov ebx, edx
mov word [0x693d20], dx
movzx eax, byte [0x693f11]
mov ecx, eax
mov word [0x693d1e], ax
add eax, edx
mov word [0x693d1c], ax
lea eax, [ebx + ecx]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x479d47
cmp dword [0x693b44], 4
jg 0x479f62
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x479e1a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x479f95
mov dword [esp], 4
call fcn.00416240
push ebx
movzx edx, byte [0x693f2a]
mov ebx, edx
mov word [0x693d20], dx
movzx eax, byte [0x693c5e]
mov ecx, eax
mov word [0x693d1e], ax
add eax, edx
mov word [0x693d1c], ax
lea eax, [ebx + ecx]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x479eb7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x479f20
mov dword [esp], 4
call fcn.00416240
push ebp
movzx edx, byte [0x693f2a]
mov ebx, edx
mov word [0x693d20], dx
movzx eax, byte [0x693c08]
mov ecx, eax
mov word [0x693d1e], ax
add eax, edx
mov word [0x693d1c], ax
lea eax, [ebx + ecx]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x479ecc
cmp bx, 0x4000
jbe 0x479e1a
cmp bx, 0x8000
jbe 0x479df6
cmp bx, 0xc000
jbe 0x479e1a
test byte [0x693f68], 1
je 0x479e1a
jmp 0x479df6
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x479e33
cmp byte [0x693bee], 0
jne 0x47a02d
cmp byte [0x693bbc], 0
je 0x47a131
cmp dword [0x693b44], 4
jle 0x47a1db
cmp bx, 0x4000
jbe 0x47a20b
cmp bx, 0x8000
jbe 0x47a1e7
cmp bx, 0xc000
jbe 0x47a20b
test byte [0x693f68], 1
je 0x47a20b
jmp 0x47a1e7
cmp dword [0x693b44], 4
jle 0x47a056
cmp bx, 0x4000
jbe 0x47a086
cmp bx, 0x8000
jbe 0x47a062
cmp bx, 0xc000
jbe 0x47a086
test byte [0x693f68], 1
je 0x47a086
jmp 0x47a062
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47a086
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47a0ef
mov dword [esp], 4
call fcn.00416240
push eax
movzx edx, byte [0x693f2a]
mov ebx, edx
mov word [0x693d20], dx
movzx eax, byte [0x693f01]
mov ecx, eax
mov word [0x693d1e], ax
add eax, edx
mov word [0x693d1c], ax
lea eax, [ebx + ecx]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47a09b
cmp dword [0x693b44], 4
jg 0x47a2b6
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47a16e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47a2e9
mov dword [esp], 4
call fcn.00416240
push edi
movzx edx, byte [0x693f2a]
mov ebx, edx
mov word [0x693d20], dx
movzx eax, byte [0x693c5d]
mov ecx, eax
mov word [0x693d1e], ax
add eax, edx
mov word [0x693d1c], ax
lea eax, [ebx + ecx]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47a20b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47a274
mov dword [esp], 4
call fcn.00416240
push eax
movzx edx, byte [0x693f2a]
mov ebx, edx
mov word [0x693d20], dx
movzx eax, byte [0x693c00]
mov ecx, eax
mov word [0x693d1e], ax
add eax, edx
mov word [0x693d1c], ax
lea eax, [ebx + ecx]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47a220
cmp bx, 0x4000
jbe 0x47a16e
cmp bx, 0x8000
jbe 0x47a14a
cmp bx, 0xc000
jbe 0x47a16e
test byte [0x693f68], 1
je 0x47a16e
jmp 0x47a14a
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47a187
cmp byte [0x693bee], 0
jne 0x47a3b8
cmp byte [0x693bbc], 0
je 0x47a537
movzx eax, bx
mov dword [esp], eax
call fcn.004010a0
push edi
movzx edx, byte [0x693c08]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c00]
or edx, ecx
xor al, 0x80
lea eax, [edx + eax - 0x80]
mov word [0x693efe], ax
mov word [0x69407c], ax
cmp dword [0x693b44], 4
jle 0x47a670
cmp bx, 0x4000
jbe 0x47a6a0
cmp bx, 0x8000
jbe 0x47a67c
cmp bx, 0xc000
jbe 0x47a6a0
test byte [0x693f68], 1
je 0x47a6a0
jmp 0x47a67c
cmp dword [0x693b44], 4
jle 0x47a3e1
cmp bx, 0x4000
jbe 0x47a411
cmp bx, 0x8000
jbe 0x47a3ed
cmp bx, 0xc000
jbe 0x47a411
test byte [0x693f68], 1
je 0x47a411
jmp 0x47a3ed
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47a411
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47a4b3
mov dword [esp], 4
call fcn.00416240
push eax
movzx esi, byte [0x693f2a]
mov word [0x693d20], si
movzx ebp, byte [0x693f01]
movzx eax, byte [0x693f11]
shl eax, 8
mov edi, eax
mov eax, ebp
movzx eax, al
or eax, edi
movzx ebx, ax
mov dword [esp], ebx
call fcn.004010a0
push edx
mov word [0x693d1e], ax
mov dword [esp], ebx
call fcn.004010a0
push ecx
add eax, esi
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
mov eax, ebp
movzx eax, al
or eax, edi
cmp eax, dword [0x693fe0]
jne 0x48061e
jmp 0x480614
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47a42a
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x482cfc
movzx eax, bx
mov dword [esp], eax
call fcn.004010a0
push ebp
movzx edx, byte [0x693c5e]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c5d]
or edx, ecx
xor al, 0x80
lea eax, [edx + eax - 0x80]
mov word [0x693efe], ax
mov word [0x69407c], ax
cmp dword [0x693b44], 4
jg 0x47a918
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47a5a7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47a94b
mov dword [esp], 4
call fcn.00416240
push eax
movzx esi, byte [0x693f2a]
mov word [0x693d20], si
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
mov word [0x693d1e], ax
mov dword [esp], ebx
call fcn.004010a0
push ecx
add eax, esi
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
cmp ebx, dword [0x693fe0]
jne 0x47a62d
mov dword [0x693bf0], 0x1a90
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x47a98d
cmp ax, 0x3fff
jbe 0x47a9bb
test ax, ax
jns 0x47a997
cmp ax, 0xbfff
jbe 0x47a9bb
test byte [0x693f68], 1
je 0x47a9bb
jmp 0x47a997
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47a6a0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47a756
mov dword [esp], 4
call fcn.00416240
push eax
movzx esi, byte [0x693f2a]
mov word [0x693d20], si
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
mov word [0x693d1e], ax
mov dword [esp], ebx
call fcn.004010a0
push ecx
add eax, esi
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
cmp ebx, dword [0x693fe0]
jne 0x47a726
mov dword [0x693bf0], 0x1a90
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x47a798
cmp ax, 0x3fff
jbe 0x47a7c6
test ax, ax
jns 0x47a7a2
cmp ax, 0xbfff
jbe 0x47a7c6
test byte [0x693f68], 1
je 0x47a7c6
jmp 0x47a7a2
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47a6b9
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x47a7c6
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47a83a
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x47a87c
cmp ax, 0x3fff
jbe 0x47a8aa
test ax, ax
jns 0x47a886
cmp ax, 0xbfff
jbe 0x47a8aa
test byte [0x693f68], 1
je 0x47a8aa
jmp 0x47a886
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47a7db
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x47a8aa
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47a8d9
mov dword [esp], 3
call fcn.00416240
push edi
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47a8bf
cmp bx, 0x4000
jbe 0x47a5a7
cmp bx, 0x8000
jbe 0x47a583
cmp bx, 0xc000
jbe 0x47a5a7
test byte [0x693f68], 1
je 0x47a5a7
jmp 0x47a583
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47a5c0
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x47a9bb
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47aa2f
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x47aa71
cmp ax, 0x3fff
jbe 0x47aa9f
test ax, ax
jns 0x47aa7b
cmp ax, 0xbfff
jbe 0x47aa9f
test byte [0x693f68], 1
je 0x47aa9f
jmp 0x47aa7b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47a9d0
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x47aa9f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47aace
mov dword [esp], 3
call fcn.00416240
push esi
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47aab4
cmp dword [0x693b44], 4
jle 0x47ab36
cmp bx, 0x4000
jbe 0x47ab66
cmp bx, 0x8000
jbe 0x47ab42
cmp bx, 0xc000
jbe 0x47ab66
test byte [0x693f68], 1
je 0x47ab66
jmp 0x47ab42
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47ab66
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47abbe
mov dword [esp], 4
call fcn.00416240
push edx
movzx eax, byte [0x693f2a]
mov word [0x693d1e], ax
mov word [0x693d20], ax
add eax, eax
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47ab7b
cmp dword [0x693b44], 4
jle 0x47ac29
cmp bx, 0x4000
jbe 0x47ac59
cmp bx, 0x8000
jbe 0x47ac35
cmp bx, 0xc000
jbe 0x47ac59
test byte [0x693f68], 1
je 0x47ac59
jmp 0x47ac35
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47ac59
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47accf
mov dword [esp], 4
call fcn.00416240
push eax
movzx edx, byte [0x693f2a]
mov word [0x693d20], dx
movzx eax, byte [0x693f26]
mov word [0x693d1e], ax
movzx ecx, byte [0x693d1d]
and ecx, 1
add eax, edx
add eax, ecx
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47ac6e
cmp dword [0x693b44], 4
jle 0x47ad3a
cmp bx, 0x4000
jbe 0x47ad6a
cmp bx, 0x8000
jbe 0x47ad46
cmp bx, 0xc000
jbe 0x47ad6a
test byte [0x693f68], 1
je 0x47ad6a
jmp 0x47ad46
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47ad6a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47ade0
mov dword [esp], 4
call fcn.00416240
push ebp
movzx edx, byte [0x693f2a]
mov word [0x693d20], dx
movzx eax, byte [0x693f25]
mov word [0x693d1e], ax
movzx ecx, byte [0x693d1d]
and ecx, 1
add eax, edx
add eax, ecx
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47ad7f
cmp dword [0x693b44], 4
jle 0x47ae4b
cmp bx, 0x4000
jbe 0x47ae7b
cmp bx, 0x8000
jbe 0x47ae57
cmp bx, 0xc000
jbe 0x47ae7b
test byte [0x693f68], 1
je 0x47ae7b
jmp 0x47ae57
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47ae7b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47aef1
mov dword [esp], 4
call fcn.00416240
push ebx
movzx edx, byte [0x693f2a]
mov word [0x693d20], dx
movzx eax, byte [0x693f24]
mov word [0x693d1e], ax
movzx ecx, byte [0x693d1d]
and ecx, 1
add eax, edx
add eax, ecx
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47ae90
cmp dword [0x693b44], 4
jle 0x47af5c
cmp bx, 0x4000
jbe 0x47af8c
cmp bx, 0x8000
jbe 0x47af68
cmp bx, 0xc000
jbe 0x47af8c
test byte [0x693f68], 1
je 0x47af8c
jmp 0x47af68
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47af8c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47b002
mov dword [esp], 4
call fcn.00416240
push eax
movzx edx, byte [0x693f2a]
mov word [0x693d20], dx
movzx eax, byte [0x693f1c]
mov word [0x693d1e], ax
movzx ecx, byte [0x693d1d]
and ecx, 1
add eax, edx
add eax, ecx
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47afa1
cmp byte [0x693bee], 0
jne 0x47b09a
cmp byte [0x693bbc], 0
je 0x47b1a4
cmp dword [0x693b44], 4
jle 0x47b254
cmp bx, 0x4000
jbe 0x47b284
cmp bx, 0x8000
jbe 0x47b260
cmp bx, 0xc000
jbe 0x47b284
test byte [0x693f68], 1
je 0x47b284
jmp 0x47b260
cmp dword [0x693b44], 4
jle 0x47b0c3
cmp bx, 0x4000
jbe 0x47b0f3
cmp bx, 0x8000
jbe 0x47b0cf
cmp bx, 0xc000
jbe 0x47b0f3
test byte [0x693f68], 1
je 0x47b0f3
jmp 0x47b0cf
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47b0f3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47b162
mov dword [esp], 4
call fcn.00416240
push eax
movzx edx, byte [0x693f2a]
mov word [0x693d20], dx
movzx eax, byte [0x693f11]
mov word [0x693d1e], ax
movzx ecx, byte [0x693d1d]
and ecx, 1
add eax, edx
add eax, ecx
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47b108
cmp dword [0x693b44], 4
jg 0x47b335
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47b1e1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47b368
mov dword [esp], 4
call fcn.00416240
push ecx
movzx edx, byte [0x693f2a]
mov word [0x693d20], dx
movzx eax, byte [0x693c5e]
mov word [0x693d1e], ax
movzx ecx, byte [0x693d1d]
and ecx, 1
add eax, edx
add eax, ecx
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47b284
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47b2f3
mov dword [esp], 4
call fcn.00416240
push edi
movzx edx, byte [0x693f2a]
mov word [0x693d20], dx
movzx eax, byte [0x693c08]
mov word [0x693d1e], ax
movzx ecx, byte [0x693d1d]
and ecx, 1
add eax, edx
add eax, ecx
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47b299
cmp bx, 0x4000
jbe 0x47b1e1
cmp bx, 0x8000
jbe 0x47b1bd
cmp bx, 0xc000
jbe 0x47b1e1
test byte [0x693f68], 1
je 0x47b1e1
jmp 0x47b1bd
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47b1fa
cmp byte [0x693bee], 0
jne 0x47b400
cmp byte [0x693bbc], 0
je 0x47b50a
cmp dword [0x693b44], 4
jle 0x47b5ba
cmp bx, 0x4000
jbe 0x47b5ea
cmp bx, 0x8000
jbe 0x47b5c6
cmp bx, 0xc000
jbe 0x47b5ea
test byte [0x693f68], 1
je 0x47b5ea
jmp 0x47b5c6
cmp dword [0x693b44], 4
jle 0x47b429
cmp bx, 0x4000
jbe 0x47b459
cmp bx, 0x8000
jbe 0x47b435
cmp bx, 0xc000
jbe 0x47b459
test byte [0x693f68], 1
je 0x47b459
jmp 0x47b435
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47b459
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47b4c8
mov dword [esp], 4
call fcn.00416240
push eax
movzx edx, byte [0x693f2a]
mov word [0x693d20], dx
movzx eax, byte [0x693f01]
mov word [0x693d1e], ax
movzx ecx, byte [0x693d1d]
and ecx, 1
add eax, edx
add eax, ecx
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47b46e
cmp dword [0x693b44], 4
jg 0x47b69b
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47b547
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47b6ce
mov dword [esp], 4
call fcn.00416240
push esi
movzx edx, byte [0x693f2a]
mov word [0x693d20], dx
movzx eax, byte [0x693c5d]
mov word [0x693d1e], ax
movzx ecx, byte [0x693d1d]
and ecx, 1
add eax, edx
add eax, ecx
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47b5ea
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47b659
mov dword [esp], 4
call fcn.00416240
push eax
movzx edx, byte [0x693f2a]
mov word [0x693d20], dx
movzx eax, byte [0x693c00]
mov word [0x693d1e], ax
movzx ecx, byte [0x693d1d]
and ecx, 1
add eax, edx
add eax, ecx
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47b5ff
cmp bx, 0x4000
jbe 0x47b547
cmp bx, 0x8000
jbe 0x47b523
cmp bx, 0xc000
jbe 0x47b547
test byte [0x693f68], 1
je 0x47b547
jmp 0x47b523
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47b560
cmp byte [0x693bee], 0
jne 0x47b793
cmp byte [0x693bbc], 0
je 0x47b8d3
movzx eax, bx
mov dword [esp], eax
call fcn.004010a0
push edi
movzx edx, byte [0x693c08]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c00]
or edx, ecx
xor al, 0x80
lea eax, [edx + eax - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x47ba09
cmp bx, 0x4000
jbe 0x47ba39
cmp bx, 0x8000
jbe 0x47ba15
cmp bx, 0xc000
jbe 0x47ba39
test byte [0x693f68], 1
je 0x47ba39
jmp 0x47ba15
cmp dword [0x693b44], 4
jle 0x47b7bc
cmp bx, 0x4000
jbe 0x47b7ec
cmp bx, 0x8000
jbe 0x47b7c8
cmp bx, 0xc000
jbe 0x47b7ec
test byte [0x693f68], 1
je 0x47b7ec
jmp 0x47b7c8
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47b7ec
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47b891
mov dword [esp], 4
call fcn.00416240
push eax
movzx ebx, byte [0x693f2a]
mov word [0x693d20], bx
movzx edi, byte [0x693f01]
movzx eax, byte [0x693f11]
shl eax, 8
mov esi, eax
mov eax, edi
movzx eax, al
or eax, esi
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push edx
mov word [0x693d1e], ax
movzx edx, byte [0x693d1d]
and edx, 1
add edx, ebx
add eax, edx
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
mov eax, edi
movzx eax, al
or eax, esi
cmp eax, dword [0x693fe0]
jne 0x48061e
jmp 0x480614
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47b805
movzx eax, bx
mov dword [esp], eax
call fcn.004010a0
push ebp
movzx edx, byte [0x693c5e]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c5d]
or edx, ecx
xor al, 0x80
lea eax, [edx + eax - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jg 0x47bcb4
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47b93d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47bce7
mov dword [esp], 4
call fcn.00416240
push eax
movzx esi, byte [0x693f2a]
mov word [0x693d20], si
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
mov word [0x693d1e], ax
movzx edx, byte [0x693d1d]
and edx, 1
add edx, esi
add eax, edx
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
cmp ebx, dword [0x693fe0]
jne 0x47b9c6
mov dword [0x693bf0], 0x1a90
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x47bd29
cmp ax, 0x3fff
jbe 0x47bd57
test ax, ax
jns 0x47bd33
cmp ax, 0xbfff
jbe 0x47bd57
test byte [0x693f68], 1
je 0x47bd57
jmp 0x47bd33
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47ba39
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47baf2
mov dword [esp], 4
call fcn.00416240
push eax
movzx esi, byte [0x693f2a]
mov word [0x693d20], si
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
mov word [0x693d1e], ax
movzx edx, byte [0x693d1d]
and edx, 1
add edx, esi
add eax, edx
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
cmp ebx, dword [0x693fe0]
jne 0x47bac2
mov dword [0x693bf0], 0x1a90
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x47bb34
cmp ax, 0x3fff
jbe 0x47bb62
test ax, ax
jns 0x47bb3e
cmp ax, 0xbfff
jbe 0x47bb62
test byte [0x693f68], 1
je 0x47bb62
jmp 0x47bb3e
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47ba52
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x47bb62
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47bbd6
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x47bc18
cmp ax, 0x3fff
jbe 0x47bc46
test ax, ax
jns 0x47bc22
cmp ax, 0xbfff
jbe 0x47bc46
test byte [0x693f68], 1
je 0x47bc46
jmp 0x47bc22
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47bb77
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x47bc46
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47bc75
mov dword [esp], 3
call fcn.00416240
push esi
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47bc5b
cmp bx, 0x4000
jbe 0x47b93d
cmp bx, 0x8000
jbe 0x47b919
cmp bx, 0xc000
jbe 0x47b93d
test byte [0x693f68], 1
je 0x47b93d
jmp 0x47b919
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47b956
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x47bd57
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47bdcb
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x47be0d
cmp ax, 0x3fff
jbe 0x47be3b
test ax, ax
jns 0x47be17
cmp ax, 0xbfff
jbe 0x47be3b
test byte [0x693f68], 1
je 0x47be3b
jmp 0x47be17
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47bd6c
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x47be3b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47be6a
mov dword [esp], 3
call fcn.00416240
push esi
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47be50
cmp dword [0x693b44], 4
jle 0x47bed2
cmp bx, 0x4000
jbe 0x47bf02
cmp bx, 0x8000
jbe 0x47bede
cmp bx, 0xc000
jbe 0x47bf02
test byte [0x693f68], 1
je 0x47bf02
jmp 0x47bede
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47bf02
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47bf70
mov dword [esp], 4
call fcn.00416240
push edx
movzx eax, byte [0x693f2a]
movzx edx, byte [0x693d1d]
and edx, 1
lea edx, [edx + eax*2]
mov word [0x693d1c], dx
mov word [0x693d1e], ax
mov word [0x693d20], ax
mov byte [0x693f2a], dl
movzx eax, dl
mov word [0x693d00], ax
mov byte [0x693bee], 1
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47bf17
cmp dword [0x693b44], 4
jle 0x47bfdb
cmp bx, 0x4000
jbe 0x47c00b
cmp bx, 0x8000
jbe 0x47bfe7
cmp bx, 0xc000
jbe 0x47c00b
test byte [0x693f68], 1
je 0x47c00b
jmp 0x47bfe7
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47c00b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47c082
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f26]
mov ecx, eax
mov edx, eax
not edx
mov word [0x693d1e], dx
movzx edx, byte [0x693f2a]
mov ebx, edx
mov word [0x693d20], dx
sub edx, eax
mov word [0x693d1c], dx
mov eax, ebx
sub eax, ecx
mov byte [0x693f2a], al
movzx eax, dl
mov word [0x693d00], ax
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47c020
cmp dword [0x693b44], 4
jle 0x47c0ed
cmp bx, 0x4000
jbe 0x47c11d
cmp bx, 0x8000
jbe 0x47c0f9
cmp bx, 0xc000
jbe 0x47c11d
test byte [0x693f68], 1
je 0x47c11d
jmp 0x47c0f9
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47c11d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47c194
mov dword [esp], 4
call fcn.00416240
push ebp
movzx eax, byte [0x693f25]
mov ecx, eax
mov edx, eax
not edx
mov word [0x693d1e], dx
movzx edx, byte [0x693f2a]
mov ebx, edx
mov word [0x693d20], dx
sub edx, eax
mov word [0x693d1c], dx
mov eax, ebx
sub eax, ecx
mov byte [0x693f2a], al
movzx eax, dl
mov word [0x693d00], ax
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47c132
cmp dword [0x693b44], 4
jle 0x47c1ff
cmp bx, 0x4000
jbe 0x47c22f
cmp bx, 0x8000
jbe 0x47c20b
cmp bx, 0xc000
jbe 0x47c22f
test byte [0x693f68], 1
je 0x47c22f
jmp 0x47c20b
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47c22f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47c2a6
mov dword [esp], 4
call fcn.00416240
push ebx
movzx eax, byte [0x693f24]
mov ecx, eax
mov edx, eax
not edx
mov word [0x693d1e], dx
movzx edx, byte [0x693f2a]
mov ebx, edx
mov word [0x693d20], dx
sub edx, eax
mov word [0x693d1c], dx
mov eax, ebx
sub eax, ecx
mov byte [0x693f2a], al
movzx eax, dl
mov word [0x693d00], ax
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47c244
cmp dword [0x693b44], 4
jle 0x47c311
cmp bx, 0x4000
jbe 0x47c341
cmp bx, 0x8000
jbe 0x47c31d
cmp bx, 0xc000
jbe 0x47c341
test byte [0x693f68], 1
je 0x47c341
jmp 0x47c31d
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47c341
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47c3b8
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f1c]
mov ecx, eax
mov edx, eax
not edx
mov word [0x693d1e], dx
movzx edx, byte [0x693f2a]
mov ebx, edx
mov word [0x693d20], dx
sub edx, eax
mov word [0x693d1c], dx
mov eax, ebx
sub eax, ecx
mov byte [0x693f2a], al
movzx eax, dl
mov word [0x693d00], ax
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47c356
cmp byte [0x693bee], 0
jne 0x47c450
cmp byte [0x693bbc], 0
je 0x47c55b
cmp dword [0x693b44], 4
jle 0x47c60c
cmp bx, 0x4000
jbe 0x47c63c
cmp bx, 0x8000
jbe 0x47c618
cmp bx, 0xc000
jbe 0x47c63c
test byte [0x693f68], 1
je 0x47c63c
jmp 0x47c618
cmp dword [0x693b44], 4
jle 0x47c479
cmp bx, 0x4000
jbe 0x47c4a9
cmp bx, 0x8000
jbe 0x47c485
cmp bx, 0xc000
jbe 0x47c4a9
test byte [0x693f68], 1
je 0x47c4a9
jmp 0x47c485
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47c4a9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47c519
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
mov ecx, eax
mov edx, eax
not edx
mov word [0x693d1e], dx
movzx edx, byte [0x693f2a]
mov ebx, edx
mov word [0x693d20], dx
sub edx, eax
mov word [0x693d1c], dx
mov eax, ebx
sub eax, ecx
mov byte [0x693f2a], al
movzx eax, dl
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47c4be
cmp dword [0x693b44], 4
jg 0x47c6ee
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47c598
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47c721
mov dword [esp], 4
call fcn.00416240
push ecx
movzx eax, byte [0x693c5e]
mov ecx, eax
mov edx, eax
not edx
mov word [0x693d1e], dx
movzx edx, byte [0x693f2a]
mov ebx, edx
mov word [0x693d20], dx
sub edx, eax
mov word [0x693d1c], dx
mov eax, ebx
sub eax, ecx
mov byte [0x693f2a], al
movzx eax, dl
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47c63c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47c6ac
mov dword [esp], 4
call fcn.00416240
push edi
movzx eax, byte [0x693c08]
mov ecx, eax
mov edx, eax
not edx
mov word [0x693d1e], dx
movzx edx, byte [0x693f2a]
mov ebx, edx
mov word [0x693d20], dx
sub edx, eax
mov word [0x693d1c], dx
mov eax, ebx
sub eax, ecx
mov byte [0x693f2a], al
movzx eax, dl
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47c651
cmp bx, 0x4000
jbe 0x47c598
cmp bx, 0x8000
jbe 0x47c574
cmp bx, 0xc000
jbe 0x47c598
test byte [0x693f68], 1
je 0x47c598
jmp 0x47c574
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47c5b1
cmp byte [0x693bee], 0
jne 0x47c7b9
cmp byte [0x693bbc], 0
je 0x47c8c4
cmp dword [0x693b44], 4
jle 0x47c975
cmp bx, 0x4000
jbe 0x47c9a5
cmp bx, 0x8000
jbe 0x47c981
cmp bx, 0xc000
jbe 0x47c9a5
test byte [0x693f68], 1
je 0x47c9a5
jmp 0x47c981
cmp dword [0x693b44], 4
jle 0x47c7e2
cmp bx, 0x4000
jbe 0x47c812
cmp bx, 0x8000
jbe 0x47c7ee
cmp bx, 0xc000
jbe 0x47c812
test byte [0x693f68], 1
je 0x47c812
jmp 0x47c7ee
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47c812
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47c882
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f01]
mov ecx, eax
mov edx, eax
not edx
mov word [0x693d1e], dx
movzx edx, byte [0x693f2a]
mov ebx, edx
mov word [0x693d20], dx
sub edx, eax
mov word [0x693d1c], dx
mov eax, ebx
sub eax, ecx
mov byte [0x693f2a], al
movzx eax, dl
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47c827
cmp dword [0x693b44], 4
jg 0x47ca57
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47c901
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47ca8a
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, byte [0x693c5d]
mov ecx, eax
mov edx, eax
not edx
mov word [0x693d1e], dx
movzx edx, byte [0x693f2a]
mov ebx, edx
mov word [0x693d20], dx
sub edx, eax
mov word [0x693d1c], dx
mov eax, ebx
sub eax, ecx
mov byte [0x693f2a], al
movzx eax, dl
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47c9a5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47ca15
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693c00]
mov ecx, eax
mov edx, eax
not edx
mov word [0x693d1e], dx
movzx edx, byte [0x693f2a]
mov ebx, edx
mov word [0x693d20], dx
sub edx, eax
mov word [0x693d1c], dx
mov eax, ebx
sub eax, ecx
mov byte [0x693f2a], al
movzx eax, dl
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47c9ba
cmp bx, 0x4000
jbe 0x47c901
cmp bx, 0x8000
jbe 0x47c8dd
cmp bx, 0xc000
jbe 0x47c901
test byte [0x693f68], 1
je 0x47c901
jmp 0x47c8dd
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47c91a
cmp byte [0x693bee], 0
jne 0x47cb4f
cmp byte [0x693bbc], 0
je 0x47cc65
movzx eax, bx
mov dword [esp], eax
call fcn.004010a0
push edi
movzx edx, byte [0x693c08]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c00]
or edx, ecx
xor al, 0x80
lea eax, [edx + eax - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x47cd92
cmp bx, 0x4000
jbe 0x47cdc2
cmp bx, 0x8000
jbe 0x47cd9e
cmp bx, 0xc000
jbe 0x47cdc2
test byte [0x693f68], 1
je 0x47cdc2
jmp 0x47cd9e
cmp dword [0x693b44], 4
jle 0x47cb78
cmp bx, 0x4000
jbe 0x47cba8
cmp bx, 0x8000
jbe 0x47cb84
cmp bx, 0xc000
jbe 0x47cba8
test byte [0x693f68], 1
je 0x47cba8
jmp 0x47cb84
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47cba8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47cc23
mov dword [esp], 4
call fcn.00416240
push eax
movzx esi, byte [0x693f01]
movzx eax, byte [0x693f11]
shl eax, 8
mov ebx, eax
mov eax, esi
movzx eax, al
or eax, ebx
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push edx
mov edx, eax
not eax
mov word [0x693d1e], ax
movzx eax, byte [0x693f2a]
mov word [0x693d20], ax
sub eax, edx
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
jmp 0x4805fb
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47cbbd
movzx eax, bx
mov dword [esp], eax
call fcn.004010a0
push ebp
movzx edx, byte [0x693c5e]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c5d]
or edx, ecx
xor al, 0x80
lea eax, [edx + eax - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jg 0x47d034
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47cccf
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47d067
mov dword [esp], 4
call fcn.00416240
push eax
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
mov edx, eax
not eax
mov word [0x693d1e], ax
movzx eax, byte [0x693f2a]
mov word [0x693d20], ax
sub eax, edx
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
cmp ebx, dword [0x693fe0]
jne 0x47cd4f
mov dword [0x693bf0], 0x1a90
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x47d0a9
cmp ax, 0x3fff
jbe 0x47d0d7
test ax, ax
jns 0x47d0b3
cmp ax, 0xbfff
jbe 0x47d0d7
test byte [0x693f68], 1
je 0x47d0d7
jmp 0x47d0b3
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47cdc2
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47ce72
mov dword [esp], 4
call fcn.00416240
push eax
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
mov edx, eax
not eax
mov word [0x693d1e], ax
movzx eax, byte [0x693f2a]
mov word [0x693d20], ax
sub eax, edx
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
cmp ebx, dword [0x693fe0]
jne 0x47ce42
mov dword [0x693bf0], 0x1a90
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x47ceb4
cmp ax, 0x3fff
jbe 0x47cee2
test ax, ax
jns 0x47cebe
cmp ax, 0xbfff
jbe 0x47cee2
test byte [0x693f68], 1
je 0x47cee2
jmp 0x47cebe
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47cddb
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x47cee2
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47cf56
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x47cf98
cmp ax, 0x3fff
jbe 0x47cfc6
test ax, ax
jns 0x47cfa2
cmp ax, 0xbfff
jbe 0x47cfc6
test byte [0x693f68], 1
je 0x47cfc6
jmp 0x47cfa2
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47cef7
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x47cfc6
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47cff5
mov dword [esp], 3
call fcn.00416240
push esi
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47cfdb
cmp bx, 0x4000
jbe 0x47cccf
cmp bx, 0x8000
jbe 0x47ccab
cmp bx, 0xc000
jbe 0x47cccf
test byte [0x693f68], 1
je 0x47cccf
jmp 0x47ccab
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47cce8
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x47d0d7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47d14b
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x47d18d
cmp ax, 0x3fff
jbe 0x47d1bb
test ax, ax
jns 0x47d197
cmp ax, 0xbfff
jbe 0x47d1bb
test byte [0x693f68], 1
je 0x47d1bb
jmp 0x47d197
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47d0ec
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x47d1bb
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47d1ea
mov dword [esp], 3
call fcn.00416240
push esi
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47d1d0
cmp dword [0x693b44], 4
jle 0x47d252
cmp bx, 0x4000
jbe 0x47d282
cmp bx, 0x8000
jbe 0x47d25e
cmp bx, 0xc000
jbe 0x47d282
test byte [0x693f68], 1
je 0x47d282
jmp 0x47d25e
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47d282
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47d2de
mov dword [esp], 4
call fcn.00416240
push edx
movzx eax, byte [0x693f2a]
mov word [0x693d20], ax
not eax
mov word [0x693d1e], ax
mov word [0x693d1c], 0
mov byte [0x693f2a], 0
mov word [0x693d00], 0
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47d297
cmp dword [0x693b44], 4
jle 0x47d349
cmp bx, 0x4000
jbe 0x47d379
cmp bx, 0x8000
jbe 0x47d355
cmp bx, 0xc000
jbe 0x47d379
test byte [0x693f68], 1
je 0x47d379
jmp 0x47d355
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47d379
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47d3fb
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f26]
mov edx, eax
not edx
mov word [0x693d1e], dx
movzx edx, byte [0x693f2a]
mov word [0x693d20], dx
movzx ecx, byte [0x693d1d]
xor ecx, 1
and ecx, 1
sub edx, 1
sub edx, eax
lea eax, [ecx + edx]
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47d38e
cmp dword [0x693b44], 4
jle 0x47d466
cmp bx, 0x4000
jbe 0x47d496
cmp bx, 0x8000
jbe 0x47d472
cmp bx, 0xc000
jbe 0x47d496
test byte [0x693f68], 1
je 0x47d496
jmp 0x47d472
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47d496
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47d518
mov dword [esp], 4
call fcn.00416240
push ebp
movzx eax, byte [0x693f25]
mov edx, eax
not edx
mov word [0x693d1e], dx
movzx edx, byte [0x693f2a]
mov word [0x693d20], dx
movzx ecx, byte [0x693d1d]
xor ecx, 1
and ecx, 1
sub edx, 1
sub edx, eax
lea eax, [ecx + edx]
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47d4ab
cmp dword [0x693b44], 4
jle 0x47d583
cmp bx, 0x4000
jbe 0x47d5b3
cmp bx, 0x8000
jbe 0x47d58f
cmp bx, 0xc000
jbe 0x47d5b3
test byte [0x693f68], 1
je 0x47d5b3
jmp 0x47d58f
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47d5b3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47d635
mov dword [esp], 4
call fcn.00416240
push ebx
movzx eax, byte [0x693f24]
mov edx, eax
not edx
mov word [0x693d1e], dx
movzx edx, byte [0x693f2a]
mov word [0x693d20], dx
movzx ecx, byte [0x693d1d]
xor ecx, 1
and ecx, 1
sub edx, 1
sub edx, eax
lea eax, [ecx + edx]
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47d5c8
cmp dword [0x693b44], 4
jle 0x47d6a0
cmp bx, 0x4000
jbe 0x47d6d0
cmp bx, 0x8000
jbe 0x47d6ac
cmp bx, 0xc000
jbe 0x47d6d0
test byte [0x693f68], 1
je 0x47d6d0
jmp 0x47d6ac
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47d6d0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47d752
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f1c]
mov edx, eax
not edx
mov word [0x693d1e], dx
movzx edx, byte [0x693f2a]
mov word [0x693d20], dx
movzx ecx, byte [0x693d1d]
xor ecx, 1
and ecx, 1
sub edx, 1
sub edx, eax
lea eax, [ecx + edx]
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47d6e5
cmp byte [0x693bee], 0
jne 0x47d7ea
cmp byte [0x693bbc], 0
je 0x47d900
cmp dword [0x693b44], 4
jle 0x47d9bc
cmp bx, 0x4000
jbe 0x47d9ec
cmp bx, 0x8000
jbe 0x47d9c8
cmp bx, 0xc000
jbe 0x47d9ec
test byte [0x693f68], 1
je 0x47d9ec
jmp 0x47d9c8
cmp dword [0x693b44], 4
jle 0x47d813
cmp bx, 0x4000
jbe 0x47d843
cmp bx, 0x8000
jbe 0x47d81f
cmp bx, 0xc000
jbe 0x47d843
test byte [0x693f68], 1
je 0x47d843
jmp 0x47d81f
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47d843
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47d8be
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
mov edx, eax
not edx
mov word [0x693d1e], dx
movzx edx, byte [0x693f2a]
mov word [0x693d20], dx
movzx ecx, byte [0x693d1d]
xor ecx, 1
and ecx, 1
sub edx, 1
sub edx, eax
lea eax, [ecx + edx]
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47d858
cmp dword [0x693b44], 4
jg 0x47daa9
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47d93d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47dadc
mov dword [esp], 4
call fcn.00416240
push ecx
movzx eax, byte [0x693c5e]
mov edx, eax
not edx
mov word [0x693d1e], dx
movzx edx, byte [0x693f2a]
mov word [0x693d20], dx
movzx ecx, byte [0x693d1d]
xor ecx, 1
and ecx, 1
sub edx, 1
sub edx, eax
lea eax, [ecx + edx]
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47d9ec
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47da67
mov dword [esp], 4
call fcn.00416240
push edi
movzx eax, byte [0x693c08]
mov edx, eax
not edx
mov word [0x693d1e], dx
movzx edx, byte [0x693f2a]
mov word [0x693d20], dx
movzx ecx, byte [0x693d1d]
xor ecx, 1
and ecx, 1
sub edx, 1
sub edx, eax
lea eax, [ecx + edx]
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47da01
cmp bx, 0x4000
jbe 0x47d93d
cmp bx, 0x8000
jbe 0x47d919
cmp bx, 0xc000
jbe 0x47d93d
test byte [0x693f68], 1
je 0x47d93d
jmp 0x47d919
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47d956
cmp byte [0x693bee], 0
jne 0x47db74
cmp byte [0x693bbc], 0
je 0x47dc8a
cmp dword [0x693b44], 4
jle 0x47dd46
cmp bx, 0x4000
jbe 0x47dd76
cmp bx, 0x8000
jbe 0x47dd52
cmp bx, 0xc000
jbe 0x47dd76
test byte [0x693f68], 1
je 0x47dd76
jmp 0x47dd52
cmp dword [0x693b44], 4
jle 0x47db9d
cmp bx, 0x4000
jbe 0x47dbcd
cmp bx, 0x8000
jbe 0x47dba9
cmp bx, 0xc000
jbe 0x47dbcd
test byte [0x693f68], 1
je 0x47dbcd
jmp 0x47dba9
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47dbcd
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47dc48
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f01]
mov edx, eax
not edx
mov word [0x693d1e], dx
movzx edx, byte [0x693f2a]
mov word [0x693d20], dx
movzx ecx, byte [0x693d1d]
xor ecx, 1
and ecx, 1
sub edx, 1
sub edx, eax
lea eax, [ecx + edx]
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47dbe2
cmp dword [0x693b44], 4
jg 0x47de33
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47dcc7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47de66
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, byte [0x693c5d]
mov edx, eax
not edx
mov word [0x693d1e], dx
movzx edx, byte [0x693f2a]
mov word [0x693d20], dx
movzx ecx, byte [0x693d1d]
xor ecx, 1
and ecx, 1
sub edx, 1
sub edx, eax
lea eax, [ecx + edx]
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47dd76
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47ddf1
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693c00]
mov edx, eax
not edx
mov word [0x693d1e], dx
movzx edx, byte [0x693f2a]
mov word [0x693d20], dx
movzx ecx, byte [0x693d1d]
xor ecx, 1
and ecx, 1
sub edx, 1
sub edx, eax
lea eax, [ecx + edx]
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47dd8b
cmp bx, 0x4000
jbe 0x47dcc7
cmp bx, 0x8000
jbe 0x47dca3
cmp bx, 0xc000
jbe 0x47dcc7
test byte [0x693f68], 1
je 0x47dcc7
jmp 0x47dca3
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47dce0
cmp byte [0x693bee], 0
jne 0x47df2b
cmp byte [0x693bbc], 0
je 0x47e03b
movzx eax, bx
mov dword [esp], eax
call fcn.004010a0
push edi
movzx edx, byte [0x693c08]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c00]
or edx, ecx
xor al, 0x80
lea eax, [edx + eax - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x47e179
cmp bx, 0x4000
jbe 0x47e1a9
cmp bx, 0x8000
jbe 0x47e185
cmp bx, 0xc000
jbe 0x47e1a9
test byte [0x693f68], 1
je 0x47e1a9
jmp 0x47e185
cmp dword [0x693b44], 4
jle 0x47df54
cmp bx, 0x4000
jbe 0x47df84
cmp bx, 0x8000
jbe 0x47df60
cmp bx, 0xc000
jbe 0x47df84
test byte [0x693f68], 1
je 0x47df84
jmp 0x47df60
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47df84
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47dff9
mov dword [esp], 4
call fcn.00416240
push eax
movzx esi, byte [0x693f01]
movzx eax, byte [0x693f11]
shl eax, 8
mov ebx, eax
mov eax, esi
movzx eax, al
or eax, ebx
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push edx
mov edx, eax
not eax
mov word [0x693d1e], ax
movzx eax, byte [0x693f2a]
mov word [0x693d20], ax
movzx ecx, byte [0x693d1d]
xor ecx, 1
and ecx, 1
lea eax, [eax + ecx - 1]
jmp 0x47cc07
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47df99
movzx eax, bx
mov dword [esp], eax
call fcn.004010a0
push ebp
movzx edx, byte [0x693c5e]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c5d]
or edx, ecx
xor al, 0x80
lea eax, [edx + eax - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jg 0x47e42c
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47e0a5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47e45f
mov dword [esp], 4
call fcn.00416240
push eax
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
mov edx, eax
not eax
mov word [0x693d1e], ax
movzx eax, byte [0x693f2a]
mov word [0x693d20], ax
movzx ecx, byte [0x693d1d]
xor ecx, 1
and ecx, 1
lea eax, [eax + ecx - 1]
sub eax, edx
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
cmp ebx, dword [0x693fe0]
jne 0x47e136
mov dword [0x693bf0], 0x1a90
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x47e4a1
cmp ax, 0x3fff
jbe 0x47e4cf
test ax, ax
jns 0x47e4ab
cmp ax, 0xbfff
jbe 0x47e4cf
test byte [0x693f68], 1
je 0x47e4cf
jmp 0x47e4ab
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47e1a9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47e26a
mov dword [esp], 4
call fcn.00416240
push eax
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
mov edx, eax
not eax
mov word [0x693d1e], ax
movzx eax, byte [0x693f2a]
mov word [0x693d20], ax
movzx ecx, byte [0x693d1d]
xor ecx, 1
and ecx, 1
lea eax, [eax + ecx - 1]
sub eax, edx
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
cmp ebx, dword [0x693fe0]
jne 0x47e23a
mov dword [0x693bf0], 0x1a90
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x47e2ac
cmp ax, 0x3fff
jbe 0x47e2da
test ax, ax
jns 0x47e2b6
cmp ax, 0xbfff
jbe 0x47e2da
test byte [0x693f68], 1
je 0x47e2da
jmp 0x47e2b6
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47e1c2
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x47e2da
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47e34e
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x47e390
cmp ax, 0x3fff
jbe 0x47e3be
test ax, ax
jns 0x47e39a
cmp ax, 0xbfff
jbe 0x47e3be
test byte [0x693f68], 1
je 0x47e3be
jmp 0x47e39a
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47e2ef
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x47e3be
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47e3ed
mov dword [esp], 3
call fcn.00416240
push esi
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47e3d3
cmp bx, 0x4000
jbe 0x47e0a5
cmp bx, 0x8000
jbe 0x47e081
cmp bx, 0xc000
jbe 0x47e0a5
test byte [0x693f68], 1
je 0x47e0a5
jmp 0x47e081
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47e0be
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x47e4cf
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47e543
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x47e585
cmp ax, 0x3fff
jbe 0x47e5b3
test ax, ax
jns 0x47e58f
cmp ax, 0xbfff
jbe 0x47e5b3
test byte [0x693f68], 1
je 0x47e5b3
jmp 0x47e58f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47e4e4
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x47e5b3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47e5e2
mov dword [esp], 3
call fcn.00416240
push esi
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47e5c8
cmp dword [0x693b44], 4
jle 0x47e64a
cmp bx, 0x4000
jbe 0x47e67a
cmp bx, 0x8000
jbe 0x47e656
cmp bx, 0xc000
jbe 0x47e67a
test byte [0x693f68], 1
je 0x47e67a
jmp 0x47e656
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47e67a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47e6de
mov dword [esp], 4
call fcn.00416240
push edx
movzx eax, byte [0x693f2a]
mov word [0x693d20], ax
not eax
mov word [0x693d1e], ax
movzx eax, word [0x693d1c]
shl eax, 0x17
sar eax, 0x1f
mov word [0x693d1c], ax
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47e68f
cmp dword [0x693b44], 4
jle 0x47e749
cmp bx, 0x4000
jbe 0x47e779
cmp bx, 0x8000
jbe 0x47e755
cmp bx, 0xc000
jbe 0x47e779
test byte [0x693f68], 1
je 0x47e779
jmp 0x47e755
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47e779
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47e7e6
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f2a]
and al, byte [0x693f26]
mov edx, eax
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
mov byte [0x693f2a], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47e78e
cmp dword [0x693b44], 4
jle 0x47e851
cmp bx, 0x4000
jbe 0x47e881
cmp bx, 0x8000
jbe 0x47e85d
cmp bx, 0xc000
jbe 0x47e881
test byte [0x693f68], 1
je 0x47e881
jmp 0x47e85d
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47e881
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47e8ee
mov dword [esp], 4
call fcn.00416240
push ebp
movzx eax, byte [0x693f2a]
and al, byte [0x693f25]
mov edx, eax
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
mov byte [0x693f2a], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47e896
cmp dword [0x693b44], 4
jle 0x47e959
cmp bx, 0x4000
jbe 0x47e989
cmp bx, 0x8000
jbe 0x47e965
cmp bx, 0xc000
jbe 0x47e989
test byte [0x693f68], 1
je 0x47e989
jmp 0x47e965
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47e989
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47e9f6
mov dword [esp], 4
call fcn.00416240
push ebx
movzx eax, byte [0x693f2a]
and al, byte [0x693f24]
mov edx, eax
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
mov byte [0x693f2a], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47e99e
cmp dword [0x693b44], 4
jle 0x47ea61
cmp bx, 0x4000
jbe 0x47ea91
cmp bx, 0x8000
jbe 0x47ea6d
cmp bx, 0xc000
jbe 0x47ea91
test byte [0x693f68], 1
je 0x47ea91
jmp 0x47ea6d
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47ea91
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47eafe
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f2a]
and al, byte [0x693f1c]
mov edx, eax
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
mov byte [0x693f2a], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47eaa6
cmp byte [0x693bee], 0
jne 0x47eb96
cmp byte [0x693bbc], 0
je 0x47ec97
cmp dword [0x693b44], 4
jle 0x47ed3e
cmp bx, 0x4000
jbe 0x47ed6e
cmp bx, 0x8000
jbe 0x47ed4a
cmp bx, 0xc000
jbe 0x47ed6e
test byte [0x693f68], 1
je 0x47ed6e
jmp 0x47ed4a
cmp dword [0x693b44], 4
jle 0x47ebbf
cmp bx, 0x4000
jbe 0x47ebef
cmp bx, 0x8000
jbe 0x47ebcb
cmp bx, 0xc000
jbe 0x47ebef
test byte [0x693f68], 1
je 0x47ebef
jmp 0x47ebcb
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47ebef
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47ec55
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f2a]
and al, byte [0x693f11]
mov edx, eax
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
mov byte [0x693f2a], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47ec04
cmp dword [0x693b44], 4
jg 0x47ee16
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47ecd4
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47ee49
mov dword [esp], 4
call fcn.00416240
push ecx
movzx eax, byte [0x693f2a]
and al, byte [0x693c5e]
mov edx, eax
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
mov byte [0x693f2a], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47ed6e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47edd4
mov dword [esp], 4
call fcn.00416240
push edi
movzx eax, byte [0x693f2a]
and al, byte [0x693c08]
mov edx, eax
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
mov byte [0x693f2a], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47ed83
cmp bx, 0x4000
jbe 0x47ecd4
cmp bx, 0x8000
jbe 0x47ecb0
cmp bx, 0xc000
jbe 0x47ecd4
test byte [0x693f68], 1
je 0x47ecd4
jmp 0x47ecb0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47eced
cmp byte [0x693bee], 0
jne 0x47eee1
cmp byte [0x693bbc], 0
je 0x47efe2
cmp dword [0x693b44], 4
jle 0x47f089
cmp bx, 0x4000
jbe 0x47f0b9
cmp bx, 0x8000
jbe 0x47f095
cmp bx, 0xc000
jbe 0x47f0b9
test byte [0x693f68], 1
je 0x47f0b9
jmp 0x47f095
cmp dword [0x693b44], 4
jle 0x47ef0a
cmp bx, 0x4000
jbe 0x47ef3a
cmp bx, 0x8000
jbe 0x47ef16
cmp bx, 0xc000
jbe 0x47ef3a
test byte [0x693f68], 1
je 0x47ef3a
jmp 0x47ef16
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47ef3a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47efa0
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f2a]
and al, byte [0x693f01]
mov edx, eax
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
mov byte [0x693f2a], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47ef4f
cmp dword [0x693b44], 4
jg 0x47f161
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47f01f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47f194
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, byte [0x693f2a]
and al, byte [0x693c5d]
mov edx, eax
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
mov byte [0x693f2a], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47f0b9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47f11f
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f2a]
and al, byte [0x693c00]
mov edx, eax
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
mov byte [0x693f2a], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47f0ce
cmp bx, 0x4000
jbe 0x47f01f
cmp bx, 0x8000
jbe 0x47effb
cmp bx, 0xc000
jbe 0x47f01f
test byte [0x693f68], 1
je 0x47f01f
jmp 0x47effb
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47f038
cmp byte [0x693bee], 0
jne 0x47f259
cmp byte [0x693bbc], 0
je 0x47f35d
movzx eax, bx
mov dword [esp], eax
call fcn.004010a0
push edi
movzx edx, byte [0x693c08]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c00]
or edx, ecx
xor al, 0x80
lea eax, [edx + eax - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x47f487
cmp bx, 0x4000
jbe 0x47f4b7
cmp bx, 0x8000
jbe 0x47f493
cmp bx, 0xc000
jbe 0x47f4b7
test byte [0x693f68], 1
je 0x47f4b7
jmp 0x47f493
cmp dword [0x693b44], 4
jle 0x47f282
cmp bx, 0x4000
jbe 0x47f2b2
cmp bx, 0x8000
jbe 0x47f28e
cmp bx, 0xc000
jbe 0x47f2b2
test byte [0x693f68], 1
je 0x47f2b2
jmp 0x47f28e
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47f2b2
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47f31b
mov dword [esp], 4
call fcn.00416240
push eax
movzx esi, byte [0x693f01]
movzx eax, byte [0x693f11]
shl eax, 8
mov ebx, eax
mov eax, esi
movzx eax, al
or eax, ebx
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push edx
movzx edx, byte [0x693f2a]
and eax, edx
mov word [0x693d00], ax
mov word [0x693d1c], ax
mov byte [0x693f2a], al
not eax
jmp 0x4805ec
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47f2c7
movzx eax, bx
mov dword [esp], eax
call fcn.004010a0
push ebp
movzx edx, byte [0x693c5e]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c5d]
or edx, ecx
xor al, 0x80
lea eax, [edx + eax - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jg 0x47f726
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47f3c7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47f759
mov dword [esp], 4
call fcn.00416240
push eax
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
movzx edx, byte [0x693f2a]
and eax, edx
mov word [0x693d00], ax
mov word [0x693d1c], ax
mov byte [0x693f2a], al
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
cmp ebx, dword [0x693fe0]
jne 0x47f444
mov dword [0x693bf0], 0x1a90
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x47f79b
cmp ax, 0x3fff
jbe 0x47f7c9
test ax, ax
jns 0x47f7a5
cmp ax, 0xbfff
jbe 0x47f7c9
test byte [0x693f68], 1
je 0x47f7c9
jmp 0x47f7a5
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47f4b7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47f564
mov dword [esp], 4
call fcn.00416240
push eax
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
movzx edx, byte [0x693f2a]
and eax, edx
mov word [0x693d00], ax
mov word [0x693d1c], ax
mov byte [0x693f2a], al
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
cmp ebx, dword [0x693fe0]
jne 0x47f534
mov dword [0x693bf0], 0x1a90
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x47f5a6
cmp ax, 0x3fff
jbe 0x47f5d4
test ax, ax
jns 0x47f5b0
cmp ax, 0xbfff
jbe 0x47f5d4
test byte [0x693f68], 1
je 0x47f5d4
jmp 0x47f5b0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47f4d0
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x47f5d4
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47f648
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x47f68a
cmp ax, 0x3fff
jbe 0x47f6b8
test ax, ax
jns 0x47f694
cmp ax, 0xbfff
jbe 0x47f6b8
test byte [0x693f68], 1
je 0x47f6b8
jmp 0x47f694
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47f5e9
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x47f6b8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47f6e7
mov dword [esp], 3
call fcn.00416240
push esi
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47f6cd
cmp bx, 0x4000
jbe 0x47f3c7
cmp bx, 0x8000
jbe 0x47f3a3
cmp bx, 0xc000
jbe 0x47f3c7
test byte [0x693f68], 1
je 0x47f3c7
jmp 0x47f3a3
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47f3e0
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x47f7c9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47f83d
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x47f87f
cmp ax, 0x3fff
jbe 0x47f8ad
test ax, ax
jns 0x47f889
cmp ax, 0xbfff
jbe 0x47f8ad
test byte [0x693f68], 1
je 0x47f8ad
jmp 0x47f889
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47f7de
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x47f8ad
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47f8dc
mov dword [esp], 3
call fcn.00416240
push esi
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47f8c2
cmp dword [0x693b44], 4
jle 0x47f944
cmp bx, 0x4000
jbe 0x47f974
cmp bx, 0x8000
jbe 0x47f950
cmp bx, 0xc000
jbe 0x47f974
test byte [0x693f68], 1
je 0x47f974
jmp 0x47f950
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47f974
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47f9c6
mov dword [esp], 4
call fcn.00416240
push edx
movzx eax, byte [0x693f2a]
mov word [0x693d00], ax
mov word [0x693d1c], ax
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47f989
cmp dword [0x693b44], 4
jle 0x47fa2e
cmp bx, 0x4000
jbe 0x47fa5e
cmp bx, 0x8000
jbe 0x47fa3a
cmp bx, 0xc000
jbe 0x47fa5e
test byte [0x693f68], 1
je 0x47fa5e
jmp 0x47fa3a
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47fa5e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47fac9
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f2a]
xor al, byte [0x693f26]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47fa73
cmp dword [0x693b44], 4
jle 0x47fb34
cmp bx, 0x4000
jbe 0x47fb64
cmp bx, 0x8000
jbe 0x47fb40
cmp bx, 0xc000
jbe 0x47fb64
test byte [0x693f68], 1
je 0x47fb64
jmp 0x47fb40
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47fb64
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47fbcf
mov dword [esp], 4
call fcn.00416240
push ebp
movzx eax, byte [0x693f2a]
xor al, byte [0x693f25]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47fb79
cmp dword [0x693b44], 4
jle 0x47fc3a
cmp bx, 0x4000
jbe 0x47fc6a
cmp bx, 0x8000
jbe 0x47fc46
cmp bx, 0xc000
jbe 0x47fc6a
test byte [0x693f68], 1
je 0x47fc6a
jmp 0x47fc46
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47fc6a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47fcd5
mov dword [esp], 4
call fcn.00416240
push ebx
movzx eax, byte [0x693f2a]
xor al, byte [0x693f24]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47fc7f
cmp dword [0x693b44], 4
jle 0x47fd40
cmp bx, 0x4000
jbe 0x47fd70
cmp bx, 0x8000
jbe 0x47fd4c
cmp bx, 0xc000
jbe 0x47fd70
test byte [0x693f68], 1
je 0x47fd70
jmp 0x47fd4c
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47fd70
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47fddb
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f2a]
xor al, byte [0x693f1c]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47fd85
cmp byte [0x693bee], 0
jne 0x47fe73
cmp byte [0x693bbc], 0
je 0x47ff72
cmp dword [0x693b44], 4
jle 0x480017
cmp bx, 0x4000
jbe 0x480047
cmp bx, 0x8000
jbe 0x480023
cmp bx, 0xc000
jbe 0x480047
test byte [0x693f68], 1
je 0x480047
jmp 0x480023
cmp dword [0x693b44], 4
jle 0x47fe9c
cmp bx, 0x4000
jbe 0x47fecc
cmp bx, 0x8000
jbe 0x47fea8
cmp bx, 0xc000
jbe 0x47fecc
test byte [0x693f68], 1
je 0x47fecc
jmp 0x47fea8
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47fecc
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47ff30
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f2a]
xor al, byte [0x693f11]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47fee1
cmp dword [0x693b44], 4
jg 0x4800ed
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x47ffaf
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x480120
mov dword [esp], 4
call fcn.00416240
push ecx
movzx eax, byte [0x693f2a]
xor al, byte [0x693c5e]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x480047
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4800ab
mov dword [esp], 4
call fcn.00416240
push edi
movzx eax, byte [0x693f2a]
xor al, byte [0x693c08]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48005c
cmp bx, 0x4000
jbe 0x47ffaf
cmp bx, 0x8000
jbe 0x47ff8b
cmp bx, 0xc000
jbe 0x47ffaf
test byte [0x693f68], 1
je 0x47ffaf
jmp 0x47ff8b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x47ffc8
cmp byte [0x693bee], 0
jne 0x4801b8
cmp byte [0x693bbc], 0
je 0x4802b7
cmp dword [0x693b44], 4
jle 0x48035c
cmp bx, 0x4000
jbe 0x48038c
cmp bx, 0x8000
jbe 0x480368
cmp bx, 0xc000
jbe 0x48038c
test byte [0x693f68], 1
je 0x48038c
jmp 0x480368
cmp dword [0x693b44], 4
jle 0x4801e1
cmp bx, 0x4000
jbe 0x480211
cmp bx, 0x8000
jbe 0x4801ed
cmp bx, 0xc000
jbe 0x480211
test byte [0x693f68], 1
je 0x480211
jmp 0x4801ed
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x480211
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x480275
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f2a]
xor al, byte [0x693f01]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x480226
cmp dword [0x693b44], 4
jg 0x480432
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4802f4
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x480465
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, byte [0x693f2a]
xor al, byte [0x693c5d]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x48038c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4803f0
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f2a]
xor al, byte [0x693c00]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4803a1
cmp bx, 0x4000
jbe 0x4802f4
cmp bx, 0x8000
jbe 0x4802d0
cmp bx, 0xc000
jbe 0x4802f4
test byte [0x693f68], 1
je 0x4802f4
jmp 0x4802d0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48030d
cmp byte [0x693bee], 0
jne 0x48052a
cmp byte [0x693bbc], 0
je 0x4806a0
movzx eax, bx
mov dword [esp], eax
call fcn.004010a0
push edi
movzx edx, byte [0x693c08]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c00]
or edx, ecx
xor al, 0x80
lea eax, [edx + eax - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x4807cb
cmp bx, 0x4000
jbe 0x4807fb
cmp bx, 0x8000
jbe 0x4807d7
cmp bx, 0xc000
jbe 0x4807fb
test byte [0x693f68], 1
je 0x4807fb
jmp 0x4807d7
cmp dword [0x693b44], 4
jle 0x480553
cmp bx, 0x4000
jbe 0x480583
cmp bx, 0x8000
jbe 0x48055f
cmp bx, 0xc000
jbe 0x480583
test byte [0x693f68], 1
je 0x480583
jmp 0x48055f
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x480583
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48065e
mov dword [esp], 4
call fcn.00416240
push eax
movzx esi, byte [0x693f01]
movzx eax, byte [0x693f11]
shl eax, 8
mov ebx, eax
mov eax, esi
movzx eax, al
or eax, ebx
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push edx
xor al, byte [0x693f2a]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
mov eax, esi
movzx eax, al
or eax, ebx
cmp eax, dword [0x693fe0]
jne 0x48061e
mov dword [0x693bf0], 0x1a90
cmp dword [0x693b44], 4
jle 0x482cb3
cmp eax, 0x3fff
jle 0x482ce3
cmp eax, 0x7fff
jle 0x482cbf
cmp eax, 0xbfff
jle 0x482ce3
test byte [0x693f68], 1
je 0x482ce3
jmp 0x482cbf
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48059c
movzx eax, bx
mov dword [esp], eax
call fcn.004010a0
push ebp
movzx edx, byte [0x693c5e]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c5d]
or edx, ecx
xor al, 0x80
lea eax, [edx + eax - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jg 0x480a6b
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x48070a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x480a9e
mov dword [esp], 4
call fcn.00416240
push eax
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
xor al, byte [0x693f2a]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
cmp ebx, dword [0x693fe0]
jne 0x480788
mov dword [0x693bf0], 0x1a90
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x480ae0
cmp ax, 0x3fff
jbe 0x480b0e
test ax, ax
jns 0x480aea
cmp ax, 0xbfff
jbe 0x480b0e
test byte [0x693f68], 1
je 0x480b0e
jmp 0x480aea
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4807fb
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4808a9
mov dword [esp], 4
call fcn.00416240
push eax
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
xor al, byte [0x693f2a]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
cmp ebx, dword [0x693fe0]
jne 0x480879
mov dword [0x693bf0], 0x1a90
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4808eb
cmp ax, 0x3fff
jbe 0x480919
test ax, ax
jns 0x4808f5
cmp ax, 0xbfff
jbe 0x480919
test byte [0x693f68], 1
je 0x480919
jmp 0x4808f5
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x480814
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x480919
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48098d
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x4809cf
cmp ax, 0x3fff
jbe 0x4809fd
test ax, ax
jns 0x4809d9
cmp ax, 0xbfff
jbe 0x4809fd
test byte [0x693f68], 1
je 0x4809fd
jmp 0x4809d9
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48092e
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4809fd
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x480a2c
mov dword [esp], 3
call fcn.00416240
push esi
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x480a12
cmp bx, 0x4000
jbe 0x48070a
cmp bx, 0x8000
jbe 0x4806e6
cmp bx, 0xc000
jbe 0x48070a
test byte [0x693f68], 1
je 0x48070a
jmp 0x4806e6
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x480723
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x480b0e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x480b82
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x480bc4
cmp ax, 0x3fff
jbe 0x480bf2
test ax, ax
jns 0x480bce
cmp ax, 0xbfff
jbe 0x480bf2
test byte [0x693f68], 1
je 0x480bf2
jmp 0x480bce
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x480b23
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x480bf2
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x480c21
mov dword [esp], 3
call fcn.00416240
push esi
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x480c07
cmp dword [0x693b44], 4
jle 0x480c89
cmp bx, 0x4000
jbe 0x480cb9
cmp bx, 0x8000
jbe 0x480c95
cmp bx, 0xc000
jbe 0x480cb9
test byte [0x693f68], 1
je 0x480cb9
jmp 0x480c95
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x480cb9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x480d12
mov dword [esp], 4
call fcn.00416240
push edx
mov word [0x693d1e], 0
mov word [0x693d00], 0
mov word [0x693d1c], 0
mov byte [0x693f2a], 0
mov word [0x693d20], 0x100
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x480cce
cmp dword [0x693b44], 4
jle 0x480d7d
cmp bx, 0x4000
jbe 0x480dad
cmp bx, 0x8000
jbe 0x480d89
cmp bx, 0xc000
jbe 0x480dad
test byte [0x693f68], 1
je 0x480dad
jmp 0x480d89
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x480dad
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x480e18
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f2a]
or al, byte [0x693f26]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x480dc2
cmp dword [0x693b44], 4
jle 0x480e83
cmp bx, 0x4000
jbe 0x480eb3
cmp bx, 0x8000
jbe 0x480e8f
cmp bx, 0xc000
jbe 0x480eb3
test byte [0x693f68], 1
je 0x480eb3
jmp 0x480e8f
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x480eb3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x480f1e
mov dword [esp], 4
call fcn.00416240
push ebp
movzx eax, byte [0x693f2a]
or al, byte [0x693f25]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x480ec8
cmp dword [0x693b44], 4
jle 0x480f89
cmp bx, 0x4000
jbe 0x480fb9
cmp bx, 0x8000
jbe 0x480f95
cmp bx, 0xc000
jbe 0x480fb9
test byte [0x693f68], 1
je 0x480fb9
jmp 0x480f95
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x480fb9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x481024
mov dword [esp], 4
call fcn.00416240
push ebx
movzx eax, byte [0x693f2a]
or al, byte [0x693f24]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x480fce
cmp dword [0x693b44], 4
jle 0x48108f
cmp bx, 0x4000
jbe 0x4810bf
cmp bx, 0x8000
jbe 0x48109b
cmp bx, 0xc000
jbe 0x4810bf
test byte [0x693f68], 1
je 0x4810bf
jmp 0x48109b
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4810bf
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48112a
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f2a]
or al, byte [0x693f1c]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4810d4
cmp byte [0x693bee], 0
jne 0x4811c2
cmp byte [0x693bbc], 0
je 0x4812c1
cmp dword [0x693b44], 4
jle 0x481366
cmp bx, 0x4000
jbe 0x481396
cmp bx, 0x8000
jbe 0x481372
cmp bx, 0xc000
jbe 0x481396
test byte [0x693f68], 1
je 0x481396
jmp 0x481372
cmp dword [0x693b44], 4
jle 0x4811eb
cmp bx, 0x4000
jbe 0x48121b
cmp bx, 0x8000
jbe 0x4811f7
cmp bx, 0xc000
jbe 0x48121b
test byte [0x693f68], 1
je 0x48121b
jmp 0x4811f7
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x48121b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48127f
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f2a]
or al, byte [0x693f11]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x481230
cmp dword [0x693b44], 4
jg 0x48143c
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4812fe
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48146f
mov dword [esp], 4
call fcn.00416240
push ecx
movzx eax, byte [0x693f2a]
or al, byte [0x693c5e]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x481396
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4813fa
mov dword [esp], 4
call fcn.00416240
push edi
movzx eax, byte [0x693f2a]
or al, byte [0x693c08]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4813ab
cmp bx, 0x4000
jbe 0x4812fe
cmp bx, 0x8000
jbe 0x4812da
cmp bx, 0xc000
jbe 0x4812fe
test byte [0x693f68], 1
je 0x4812fe
jmp 0x4812da
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x481317
cmp byte [0x693bee], 0
jne 0x481507
cmp byte [0x693bbc], 0
je 0x481606
cmp dword [0x693b44], 4
jle 0x4816ab
cmp bx, 0x4000
jbe 0x4816db
cmp bx, 0x8000
jbe 0x4816b7
cmp bx, 0xc000
jbe 0x4816db
test byte [0x693f68], 1
je 0x4816db
jmp 0x4816b7
cmp dword [0x693b44], 4
jle 0x481530
cmp bx, 0x4000
jbe 0x481560
cmp bx, 0x8000
jbe 0x48153c
cmp bx, 0xc000
jbe 0x481560
test byte [0x693f68], 1
je 0x481560
jmp 0x48153c
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x481560
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4815c4
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f2a]
or al, byte [0x693f01]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x481575
cmp dword [0x693b44], 4
jg 0x481781
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x481643
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4817b4
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, byte [0x693f2a]
or al, byte [0x693c5d]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4816db
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48173f
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f2a]
or al, byte [0x693c00]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4816f0
cmp bx, 0x4000
jbe 0x481643
cmp bx, 0x8000
jbe 0x48161f
cmp bx, 0xc000
jbe 0x481643
test byte [0x693f68], 1
je 0x481643
jmp 0x48161f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48165c
cmp byte [0x693bee], 0
jne 0x481879
cmp byte [0x693bbc], 0
je 0x481964
movzx eax, bx
mov dword [esp], eax
call fcn.004010a0
push edi
movzx edx, byte [0x693c08]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c00]
or edx, ecx
xor al, 0x80
lea eax, [edx + eax - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x481a8f
cmp bx, 0x4000
jbe 0x481abf
cmp bx, 0x8000
jbe 0x481a9b
cmp bx, 0xc000
jbe 0x481abf
test byte [0x693f68], 1
je 0x481abf
jmp 0x481a9b
cmp dword [0x693b44], 4
jle 0x4818a2
cmp bx, 0x4000
jbe 0x4818d2
cmp bx, 0x8000
jbe 0x4818ae
cmp bx, 0xc000
jbe 0x4818d2
test byte [0x693f68], 1
je 0x4818d2
jmp 0x4818ae
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4818d2
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x481925
mov dword [esp], 4
call fcn.00416240
push eax
movzx esi, byte [0x693f01]
movzx eax, byte [0x693f11]
shl eax, 8
mov ebx, eax
mov eax, esi
movzx eax, al
or eax, ebx
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push edx
or al, byte [0x693f2a]
jmp 0x4805d5
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4818e7
movzx eax, bx
mov dword [esp], eax
call fcn.004010a0
push ebp
movzx edx, byte [0x693c5e]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c5d]
or edx, ecx
xor al, 0x80
lea eax, [edx + eax - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jg 0x481d2f
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4819ce
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x481d62
mov dword [esp], 4
call fcn.00416240
push edx
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push ecx
or al, byte [0x693f2a]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
cmp ebx, dword [0x693fe0]
jne 0x481a4c
mov dword [0x693bf0], 0x1a90
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x481da4
cmp ax, 0x3fff
jbe 0x481dd2
test ax, ax
jns 0x481dae
cmp ax, 0xbfff
jbe 0x481dd2
test byte [0x693f68], 1
je 0x481dd2
jmp 0x481dae
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x481abf
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x481b6d
mov dword [esp], 4
call fcn.00416240
push eax
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
or al, byte [0x693f2a]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
cmp ebx, dword [0x693fe0]
jne 0x481b3d
mov dword [0x693bf0], 0x1a90
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x481baf
cmp ax, 0x3fff
jbe 0x481bdd
test ax, ax
jns 0x481bb9
cmp ax, 0xbfff
jbe 0x481bdd
test byte [0x693f68], 1
je 0x481bdd
jmp 0x481bb9
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x481ad8
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x481bdd
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x481c51
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x481c93
cmp ax, 0x3fff
jbe 0x481cc1
test ax, ax
jns 0x481c9d
cmp ax, 0xbfff
jbe 0x481cc1
test byte [0x693f68], 1
je 0x481cc1
jmp 0x481c9d
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x481bf2
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x481cc1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x481cf0
mov dword [esp], 3
call fcn.00416240
push edi
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x481cd6
cmp bx, 0x4000
jbe 0x4819ce
cmp bx, 0x8000
jbe 0x4819aa
cmp bx, 0xc000
jbe 0x4819ce
test byte [0x693f68], 1
je 0x4819ce
jmp 0x4819aa
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4819e7
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x481dd2
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x481e46
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x481e88
cmp ax, 0x3fff
jbe 0x481eb6
test ax, ax
jns 0x481e92
cmp ax, 0xbfff
jbe 0x481eb6
test byte [0x693f68], 1
je 0x481eb6
jmp 0x481e92
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x481de7
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x481eb6
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x481ee5
mov dword [esp], 3
call fcn.00416240
push ebp
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x481ecb
cmp dword [0x693b44], 4
jle 0x481f4d
cmp bx, 0x4000
jbe 0x481f7d
cmp bx, 0x8000
jbe 0x481f59
cmp bx, 0xc000
jbe 0x481f7d
test byte [0x693f68], 1
je 0x481f7d
jmp 0x481f59
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x481f7d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x481fd0
mov dword [esp], 4
call fcn.00416240
push ebx
movzx eax, byte [0x693f2a]
mov word [0x693d00], ax
mov word [0x693d1c], ax
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x481f92
cmp dword [0x693b44], 4
jle 0x482038
cmp bx, 0x4000
jbe 0x482068
cmp bx, 0x8000
jbe 0x482044
cmp bx, 0xc000
jbe 0x482068
test byte [0x693f68], 1
je 0x482068
jmp 0x482044
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x482068
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4820dc
mov dword [esp], 4
call fcn.00416240
push eax
movzx edx, byte [0x693f2a]
mov word [0x693d20], dx
movzx eax, byte [0x693f26]
mov ecx, eax
sub edx, eax
not eax
mov word [0x693d1e], ax
mov ebx, edx
and ebx, 0xffffffd7
mov eax, ecx
and eax, 0x28
or eax, ebx
mov word [0x693d1c], ax
movzx eax, dl
mov word [0x693d00], ax
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48207d
cmp dword [0x693b44], 4
jle 0x482147
cmp bx, 0x4000
jbe 0x482177
cmp bx, 0x8000
jbe 0x482153
cmp bx, 0xc000
jbe 0x482177
test byte [0x693f68], 1
je 0x482177
jmp 0x482153
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x482177
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4821e9
mov dword [esp], 4
call fcn.00416240
push eax
movzx edx, byte [0x693f2a]
mov word [0x693d20], dx
movzx eax, byte [0x693f25]
mov ecx, eax
sub edx, eax
not eax
mov word [0x693d1e], ax
and ecx, 0x28
mov eax, edx
and eax, 0xffffffd7
or eax, ecx
mov word [0x693d1c], ax
movzx eax, dl
mov word [0x693d00], ax
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48218c
cmp dword [0x693b44], 4
jle 0x482254
cmp bx, 0x4000
jbe 0x482284
cmp bx, 0x8000
jbe 0x482260
cmp bx, 0xc000
jbe 0x482284
test byte [0x693f68], 1
je 0x482284
jmp 0x482260
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x482284
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4822f8
mov dword [esp], 4
call fcn.00416240
push edi
movzx edx, byte [0x693f2a]
mov word [0x693d20], dx
movzx eax, byte [0x693f24]
mov ecx, eax
sub edx, eax
not eax
mov word [0x693d1e], ax
mov ebx, edx
and ebx, 0xffffffd7
mov eax, ecx
and eax, 0x28
or eax, ebx
mov word [0x693d1c], ax
movzx eax, dl
mov word [0x693d00], ax
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x482299
cmp dword [0x693b44], 4
jle 0x482363
cmp bx, 0x4000
jbe 0x482393
cmp bx, 0x8000
jbe 0x48236f
cmp bx, 0xc000
jbe 0x482393
test byte [0x693f68], 1
je 0x482393
jmp 0x48236f
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x482393
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x482405
mov dword [esp], 4
call fcn.00416240
push ecx
movzx edx, byte [0x693f2a]
mov word [0x693d20], dx
movzx eax, byte [0x693f1c]
mov ecx, eax
sub edx, eax
not eax
mov word [0x693d1e], ax
and ecx, 0x28
mov eax, edx
and eax, 0xffffffd7
or eax, ecx
mov word [0x693d1c], ax
movzx eax, dl
mov word [0x693d00], ax
mov dword [0x693c88], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4823a8
cmp byte [0x693bee], 0
jne 0x48249d
cmp byte [0x693bbc], 0
je 0x4825a3
cmp dword [0x693b44], 4
jle 0x482651
cmp bx, 0x4000
jbe 0x482681
cmp bx, 0x8000
jbe 0x48265d
cmp bx, 0xc000
jbe 0x482681
test byte [0x693f68], 1
je 0x482681
jmp 0x48265d
cmp dword [0x693b44], 4
jle 0x4824c6
cmp bx, 0x4000
jbe 0x4824f6
cmp bx, 0x8000
jbe 0x4824d2
cmp bx, 0xc000
jbe 0x4824f6
test byte [0x693f68], 1
je 0x4824f6
jmp 0x4824d2
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4824f6
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x482561
mov dword [esp], 4
call fcn.00416240
push eax
movzx edx, byte [0x693f2a]
mov word [0x693d20], dx
movzx eax, byte [0x693f11]
mov ecx, eax
sub edx, eax
not eax
mov word [0x693d1e], ax
and ecx, 0x28
mov eax, edx
and eax, 0xffffffd7
or eax, ecx
mov word [0x693d1c], ax
movzx eax, dl
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48250b
cmp dword [0x693b44], 4
jg 0x482730
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4825e0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x482763
mov dword [esp], 4
call fcn.00416240
push esi
movzx edx, byte [0x693f2a]
mov word [0x693d20], dx
movzx eax, byte [0x693c5e]
mov ecx, eax
sub edx, eax
not eax
mov word [0x693d1e], ax
mov ebx, edx
and ebx, 0xffffffd7
mov eax, ecx
and eax, 0x28
or eax, ebx
mov word [0x693d1c], ax
movzx eax, dl
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x482681
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4826ee
mov dword [esp], 4
call fcn.00416240
push eax
movzx edx, byte [0x693f2a]
mov word [0x693d20], dx
movzx eax, byte [0x693c08]
mov ecx, eax
sub edx, eax
not eax
mov word [0x693d1e], ax
mov ebx, edx
and ebx, 0xffffffd7
mov eax, ecx
and eax, 0x28
or eax, ebx
mov word [0x693d1c], ax
movzx eax, dl
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x482696
cmp bx, 0x4000
jbe 0x4825e0
cmp bx, 0x8000
jbe 0x4825bc
cmp bx, 0xc000
jbe 0x4825e0
test byte [0x693f68], 1
je 0x4825e0
jmp 0x4825bc
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4825f9
cmp byte [0x693bee], 0
jne 0x4827fb
cmp byte [0x693bbc], 0
je 0x482903
cmp dword [0x693b44], 4
jle 0x4829b1
cmp bx, 0x4000
jbe 0x4829e1
cmp bx, 0x8000
jbe 0x4829bd
cmp bx, 0xc000
jbe 0x4829e1
test byte [0x693f68], 1
je 0x4829e1
jmp 0x4829bd
cmp dword [0x693b44], 4
jle 0x482824
cmp bx, 0x4000
jbe 0x482854
cmp bx, 0x8000
jbe 0x482830
cmp bx, 0xc000
jbe 0x482854
test byte [0x693f68], 1
je 0x482854
jmp 0x482830
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x482854
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4828c1
mov dword [esp], 4
call fcn.00416240
push edx
movzx edx, byte [0x693f2a]
mov word [0x693d20], dx
movzx eax, byte [0x693f01]
mov ecx, eax
sub edx, eax
not eax
mov word [0x693d1e], ax
mov ebx, edx
and ebx, 0xffffffd7
mov eax, ecx
and eax, 0x28
or eax, ebx
mov word [0x693d1c], ax
movzx eax, dl
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x482869
cmp dword [0x693b44], 4
jg 0x482a8e
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x482940
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x482ac1
mov dword [esp], 4
call fcn.00416240
push ebp
movzx edx, byte [0x693f2a]
mov word [0x693d20], dx
movzx eax, byte [0x693c5d]
mov ecx, eax
sub edx, eax
not eax
mov word [0x693d1e], ax
mov ebx, edx
and ebx, 0xffffffd7
mov eax, ecx
and eax, 0x28
or eax, ebx
mov word [0x693d1c], ax
movzx eax, dl
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp 0x482d10
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4829e1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x482a4c
mov dword [esp], 4
call fcn.00416240
push eax
movzx edx, byte [0x693f2a]
mov word [0x693d20], dx
movzx eax, byte [0x693c00]
mov ecx, eax
sub edx, eax
not eax
mov word [0x693d1e], ax
and ecx, 0x28
mov eax, edx
and eax, 0xffffffd7
or eax, ecx
mov word [0x693d1c], ax
movzx eax, dl
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4829f6
cmp bx, 0x4000
jbe 0x482940
cmp bx, 0x8000
jbe 0x48291c
cmp bx, 0xc000
jbe 0x482940
test byte [0x693f68], 1
je 0x482940
jmp 0x48291c
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x482959
cmp byte [0x693bee], 0
jne 0x482b86
cmp byte [0x693bbc], 0
je 0x482d1c
movzx eax, bx
mov dword [esp], eax
call fcn.004010a0
push edi
movzx edx, byte [0x693c08]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c00]
or edx, ecx
xor al, 0x80
lea eax, [edx + eax - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x482e6a
cmp bx, 0x4000
jbe 0x482e9a
cmp bx, 0x8000
jbe 0x482e76
cmp bx, 0xc000
jbe 0x482e9a
test byte [0x693f68], 1
je 0x482e9a
jmp 0x482e76
cmp dword [0x693b44], 4
jle 0x482baf
cmp bx, 0x4000
jbe 0x482bdf
cmp bx, 0x8000
jbe 0x482bbb
cmp bx, 0xc000
jbe 0x482bdf
test byte [0x693f68], 1
je 0x482bdf
jmp 0x482bbb
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x482bdf
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x482c71
mov dword [esp], 4
call fcn.00416240
push eax
movzx esi, byte [0x693f2a]
mov word [0x693d20], si
movzx ebp, byte [0x693f01]
movzx eax, byte [0x693f11]
shl eax, 8
mov edi, eax
mov eax, ebp
movzx eax, al
or eax, edi
movzx ebx, ax
mov dword [esp], ebx
call fcn.004010a0
push edx
sub esi, eax
mov word [0x693d00], si
mov dword [esp], ebx
call fcn.004010a0
push ecx
not eax
mov word [0x693d1e], ax
mov dword [esp], ebx
call fcn.004010a0
push ebx
mov edx, eax
and edx, 0x28
mov eax, esi
and eax, 0xffffffd7
or eax, edx
mov word [0x693d1c], ax
mov eax, esi
jmp 0x47a487
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x482bf4
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x482ce3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x47a4f5
mov dword [esp], 3
call fcn.00416240
sub esp, 4
lea esi, [esi]
nop
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, bx
mov dword [esp], eax
call fcn.004010a0
push ebp
movzx edx, byte [0x693c5e]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c5d]
or edx, ecx
xor al, 0x80
lea eax, [edx + eax - 0x80]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jg 0x48312b
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x482d86
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48315e
mov dword [esp], 4
call fcn.00416240
push ebp
movzx esi, byte [0x693f2a]
mov word [0x693d20], si
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
sub esi, eax
mov word [0x693d00], si
mov dword [esp], ebx
call fcn.004010a0
push ecx
not eax
mov word [0x693d1e], ax
mov dword [esp], ebx
call fcn.004010a0
push edi
mov edx, eax
and edx, 0x28
mov eax, esi
and eax, 0xffffffd7
or eax, edx
mov word [0x693d1c], ax
mov eax, esi
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
cmp ebx, dword [0x693fe0]
jne 0x482e27
mov dword [0x693bf0], 0x1a90
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4831a0
cmp ax, 0x3fff
jbe 0x4831ce
test ax, ax
jns 0x4831aa
cmp ax, 0xbfff
jbe 0x4831ce
test byte [0x693f68], 1
je 0x4831ce
jmp 0x4831aa
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x482e9a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x482f69
mov dword [esp], 4
call fcn.00416240
push ebx
movzx esi, byte [0x693f2a]
mov word [0x693d20], si
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edi
sub esi, eax
mov word [0x693d00], si
mov dword [esp], ebx
call fcn.004010a0
push ebp
not eax
mov word [0x693d1e], ax
mov dword [esp], ebx
call fcn.004010a0
push edx
mov edx, esi
and edx, 0xffffffd7
and eax, 0x28
or eax, edx
mov word [0x693d1c], ax
mov eax, esi
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
cmp ebx, dword [0x693fe0]
jne 0x482f39
mov dword [0x693bf0], 0x1a90
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x482fab
cmp ax, 0x3fff
jbe 0x482fd9
test ax, ax
jns 0x482fb5
cmp ax, 0xbfff
jbe 0x482fd9
test byte [0x693f68], 1
je 0x482fd9
jmp 0x482fb5
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x482eb3
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x482fd9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48304d
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x48308f
cmp ax, 0x3fff
jbe 0x4830bd
test ax, ax
jns 0x483099
cmp ax, 0xbfff
jbe 0x4830bd
test byte [0x693f68], 1
je 0x4830bd
jmp 0x483099
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x482fee
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4830bd
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4830ec
mov dword [esp], 3
call fcn.00416240
push eax
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4830d2
cmp bx, 0x4000
jbe 0x482d86
cmp bx, 0x8000
jbe 0x482d62
cmp bx, 0xc000
jbe 0x482d86
test byte [0x693f68], 1
je 0x482d86
jmp 0x482d62
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x482d9f
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4831ce
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x483242
mov dword [esp], 3
call fcn.00416240
push ebx
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x483284
cmp ax, 0x3fff
jbe 0x4832b2
test ax, ax
jns 0x48328e
cmp ax, 0xbfff
jbe 0x4832b2
test byte [0x693f68], 1
je 0x4832b2
jmp 0x48328e
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4831e3
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4832b2
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4832e1
mov dword [esp], 3
call fcn.00416240
push eax
add word [0x693f80], 1
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4832c7
cmp dword [0x693b44], 4
jle 0x483349
cmp bx, 0x4000
jbe 0x483379
cmp bx, 0x8000
jbe 0x483355
cmp bx, 0xc000
jbe 0x483379
test byte [0x693f68], 1
je 0x483379
jmp 0x483355
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x483379
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4833d2
mov dword [esp], 4
call fcn.00416240
push eax
mov word [0x693d00], 0
movzx eax, byte [0x693f2a]
mov edx, eax
mov word [0x693d20], ax
not eax
mov word [0x693d1e], ax
mov eax, edx
and eax, 0x28
mov word [0x693d1c], ax
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48338e
cmp dword [0x693b44], 4
jle 0x48343d
cmp bx, 0x4000
jbe 0x48346d
cmp bx, 0x8000
jbe 0x483449
cmp bx, 0xc000
jbe 0x48346d
test byte [0x693f68], 1
je 0x48346d
jmp 0x483449
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x48346d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4834d2
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693e70]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edi
mov word [0x69407c], ax
cmp dword [0x693b44], 4
jle 0x483514
cmp bx, 0x3fff
jbe 0x483544
test bx, bx
jns 0x483520
cmp bx, 0xbfff
jbe 0x483544
test byte [0x693f68], 1
je 0x483544
jmp 0x483520
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x483482
lea eax, [ebx - 0x4000]
cmp ax, 0x3fff
ja 0x483544
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4835b8
mov dword [esp], 3
call fcn.00416240
push eax
movzx esi, word [0x693e70]
lea ebx, [esi + 1]
mov word [0x693e70], bx
movzx eax, bx
mov dword [esp], eax
call fcn.004010a0
push edx
shl eax, 8
or word [0x69407c], ax
cmp dword [0x693b44], 4
jle 0x4835fa
cmp bx, 0x3fff
jbe 0x48362a
test bx, bx
jns 0x483606
cmp bx, 0xbfff
jbe 0x48362a
test byte [0x693f68], 1
je 0x48362a
jmp 0x483606
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x483559
lea eax, [esi - 0x3fff]
cmp ax, 0x3fff
ja 0x48362a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48366d
mov dword [esp], 3
call fcn.00416240
push esi
add word [0x693e70], 1
movzx eax, word [0x69407c]
mov word [0x693f80], ax
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48363f
cmp word [0x693d00], 0
jne 0x48375f
cmp dword [0x693b44], 4
jg 0x483ad5
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4836f7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x483b08
mov dword [esp], 4
call fcn.00416240
push eax
cmp dword [0x693b44], 4
jle 0x483b4a
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp eax, 0x3fff
jg 0x4844dc
jmp 0x48652b
cmp dword [0x693b44], 4
jle 0x483788
cmp bx, 0x4000
jbe 0x4837b8
cmp bx, 0x8000
jbe 0x483794
cmp bx, 0xc000
jbe 0x4837b8
test byte [0x693f68], 1
je 0x4837b8
jmp 0x483794
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4837b8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48382c
mov dword [esp], 4
call fcn.00416240
push edx
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x48386e
cmp eax, 0x3fff
jle 0x48389e
cmp eax, 0x7fff
jle 0x48387a
cmp eax, 0xbfff
jle 0x48389e
test byte [0x693f68], 1
je 0x48389e
jmp 0x48387a
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4837cd
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x48389e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4838f0
mov dword [esp], 1
call fcn.00416240
push eax
movzx eax, word [0x693e70]
cmp dword [0x693b44], 4
jle 0x48392f
cmp ax, 0x3fff
jbe 0x48395d
test ax, ax
jns 0x483939
cmp ax, 0xbfff
jbe 0x48395d
test byte [0x693f68], 1
je 0x48395d
jmp 0x483939
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4838b3
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x48395d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4839c9
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693e70]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push ebp
mov word [0x69407c], ax
lea eax, [ebx + 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x483a0b
cmp ax, 0x3fff
jbe 0x483a3b
test ax, ax
jns 0x483a17
cmp ax, 0xbfff
jbe 0x483a3b
test byte [0x693f68], 1
je 0x483a3b
jmp 0x483a17
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x483972
lea eax, [ebx - 0x3fff]
cmp ax, 0x3fff
ja 0x483a3b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x483a93
mov dword [esp], 3
call fcn.00416240
push edx
movzx eax, word [0x693e70]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push ecx
shl eax, 8
or ax, word [0x69407c]
mov word [0x69407c], ax
mov word [0x693f80], ax
lea eax, [ebx + 1]
mov word [0x693e70], ax
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x483a50
cmp bx, 0x4000
jbe 0x4836f7
cmp bx, 0x8000
jbe 0x4836d3
cmp bx, 0xc000
jbe 0x4836f7
test byte [0x693f68], 1
je 0x4836f7
jmp 0x4836d3
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x483710
movzx edx, byte [0x693f38]
and edx, 0xffffff80
movzx eax, byte [0x693f00]
and eax, 0x7f
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x48652b
jmp 0x486507
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x486544
cmp word [0x693d00], 0
jne 0x48443c
cmp dword [0x693b44], 4
jg 0x483c9c
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x483c11
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x483ccf
mov dword [esp], 4
call fcn.00416240
push esi
cmp dword [0x693b44], 4
jle 0x483d11
movzx edx, byte [0x693f38]
and edx, 0xffffff80
movzx eax, byte [0x693f00]
and eax, 0x7f
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp eax, 0x3fff
jle 0x483d66
cmp eax, 0x7fff
jle 0x483d42
cmp eax, 0xbfff
jle 0x483d66
test byte [0x693f68], 1
je 0x483d66
jmp 0x483d42
cmp bx, 0x4000
jbe 0x483c11
cmp bx, 0x8000
jbe 0x483bed
cmp bx, 0xc000
jbe 0x483c11
test byte [0x693f68], 1
je 0x483c11
jmp 0x483bed
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x483c2a
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x483d66
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x483dcb
mov dword [esp], 1
call fcn.00416240
push eax
movzx eax, word [0x693e70]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov word [0x69407c], ax
cmp dword [0x693b44], 4
jle 0x483e0d
cmp bx, 0x3fff
jbe 0x483e3d
test bx, bx
jns 0x483e19
cmp bx, 0xbfff
jbe 0x483e3d
test byte [0x693f68], 1
je 0x483e3d
jmp 0x483e19
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x483d7b
lea eax, [ebx - 0x4000]
cmp ax, 0x3fff
ja 0x483e3d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x483e98
mov dword [esp], 3
call fcn.00416240
push esi
movzx edx, word [0x693e70]
lea eax, [edx + 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x483eda
cmp ax, 0x3fff
jbe 0x483f0a
test ax, ax
jns 0x483ee6
cmp ax, 0xbfff
jbe 0x483f0a
test byte [0x693f68], 1
je 0x483f0a
jmp 0x483ee6
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x483e52
lea eax, [edx - 0x3fff]
cmp ax, 0x3fff
ja 0x483f0a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x483f62
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693e70]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
shl eax, 8
or ax, word [0x69407c]
mov word [0x69407c], ax
mov word [0x693f80], ax
lea eax, [ebx + 1]
mov word [0x693e70], ax
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x483f1f
test byte [0x693d1d], 1
jne 0x484079
cmp dword [0x693b44], 4
jg 0x48414c
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x483fee
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48417f
mov dword [esp], 4
call fcn.00416240
push esi
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x4841c1
cmp eax, 0x3fff
jle 0x4841f1
cmp eax, 0x7fff
jle 0x4841cd
cmp eax, 0xbfff
jle 0x4841f1
test byte [0x693f68], 1
je 0x4841f1
jmp 0x4841cd
cmp dword [0x693b44], 4
jle 0x4840a2
cmp bx, 0x4000
jbe 0x4840d2
cmp bx, 0x8000
jbe 0x4840ae
cmp bx, 0xc000
jbe 0x4840d2
test byte [0x693f68], 1
je 0x4840d2
jmp 0x4840ae
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4840d2
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48410d
mov dword [esp], 4
call fcn.00416240
push eax
movzx edx, byte [0x693f38]
and edx, 0xffffff80
movzx eax, byte [0x693f00]
and eax, 0x7f
jmp 0x4844b3
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4840e7
cmp bx, 0x4000
jbe 0x483fee
cmp bx, 0x8000
jbe 0x483fca
cmp bx, 0xc000
jbe 0x483fee
test byte [0x693f68], 1
je 0x483fee
jmp 0x483fca
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x484007
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4841f1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x484256
mov dword [esp], 1
call fcn.00416240
push eax
movzx eax, word [0x693e70]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov word [0x69407c], ax
cmp dword [0x693b44], 4
jle 0x484298
cmp bx, 0x3fff
jbe 0x4842c8
test bx, bx
jns 0x4842a4
cmp bx, 0xbfff
jbe 0x4842c8
test byte [0x693f68], 1
je 0x4842c8
jmp 0x4842a4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x484206
lea eax, [ebx - 0x4000]
cmp ax, 0x3fff
ja 0x4842c8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x484323
mov dword [esp], 3
call fcn.00416240
push eax
movzx edx, word [0x693e70]
lea eax, [edx + 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x484365
cmp ax, 0x3fff
jbe 0x484395
test ax, ax
jns 0x484371
cmp ax, 0xbfff
jbe 0x484395
test byte [0x693f68], 1
je 0x484395
jmp 0x484371
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4842dd
lea eax, [edx - 0x3fff]
cmp ax, 0x3fff
ja 0x484395
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4843ed
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693e70]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edi
shl eax, 8
or ax, word [0x69407c]
mov word [0x69407c], ax
mov word [0x693f80], ax
lea eax, [ebx + 1]
mov word [0x693e70], ax
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4843aa
test byte [0x693d1d], 1
jne 0x484504
cmp dword [0x693b44], 4
jg 0x486486
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x484479
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4864b9
mov dword [esp], 4
call fcn.00416240
push edx
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x4864fb
cmp eax, 0x3fff
jle 0x48652b
cmp eax, 0x7fff
jle 0x486507
cmp eax, 0xbfff
jle 0x48652b
test byte [0x693f68], 1
je 0x48652b
jmp 0x486507
cmp dword [0x693b44], 4
jle 0x48452d
cmp bx, 0x4000
jbe 0x48455d
cmp bx, 0x8000
jbe 0x484539
cmp bx, 0xc000
jbe 0x48455d
test byte [0x693f68], 1
je 0x48455d
jmp 0x484539
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x48455d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4845d1
mov dword [esp], 4
call fcn.00416240
push edx
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x484613
cmp eax, 0x3fff
jle 0x484643
cmp eax, 0x7fff
jle 0x48461f
cmp eax, 0xbfff
jle 0x484643
test byte [0x693f68], 1
je 0x484643
jmp 0x48461f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x484572
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x484643
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x484695
mov dword [esp], 1
call fcn.00416240
push eax
movzx eax, word [0x693e70]
cmp dword [0x693b44], 4
jle 0x4846d4
cmp ax, 0x3fff
jbe 0x484702
test ax, ax
jns 0x4846de
cmp ax, 0xbfff
jbe 0x484702
test byte [0x693f68], 1
je 0x484702
jmp 0x4846de
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x484658
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x484702
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48476e
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693e70]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push ebp
mov word [0x69407c], ax
lea eax, [ebx + 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x4847b0
cmp ax, 0x3fff
jbe 0x4847e0
test ax, ax
jns 0x4847bc
cmp ax, 0xbfff
jbe 0x4847e0
test byte [0x693f68], 1
je 0x4847e0
jmp 0x4847bc
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x484717
lea eax, [ebx - 0x3fff]
cmp ax, 0x3fff
ja 0x4847e0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x484838
mov dword [esp], 3
call fcn.00416240
push edx
movzx eax, word [0x693e70]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push ecx
shl eax, 8
or ax, word [0x69407c]
mov word [0x69407c], ax
mov word [0x693f80], ax
lea eax, [ebx + 1]
mov word [0x693e70], ax
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4847f5
movzx eax, word [0x693d20]
test ah, 1
jne 0x4848e2
movzx ecx, word [0x693d00]
movzx edx, word [0x693d1e]
xor edx, ecx
xor eax, ecx
and eax, edx
test al, 0x80
je 0x484e13
cmp dword [0x693b44], 4
jle 0x484edb
cmp bx, 0x4000
jbe 0x484f0b
cmp bx, 0x8000
jbe 0x484ee7
cmp bx, 0xc000
jbe 0x484f0b
test byte [0x693f68], 1
je 0x484f0b
jmp 0x484ee7
movzx edx, word [0x693d00]
mov eax, edx
shr ax, 4
xor eax, edx
mov edx, eax
and edx, 0xf
mov eax, 0x9669
bt eax, edx
jb 0x4849cc
cmp dword [0x693b44], 4
jg 0x484b30
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x484941
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x484b63
mov dword [esp], 4
call fcn.00416240
push esi
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x484ba5
cmp eax, 0x3fff
jle 0x484bd5
cmp eax, 0x7fff
jle 0x484bb1
cmp eax, 0xbfff
jle 0x484bd5
test byte [0x693f68], 1
je 0x484bd5
jmp 0x484bb1
cmp dword [0x693b44], 4
jle 0x4849f5
cmp bx, 0x4000
jbe 0x484a25
cmp bx, 0x8000
jbe 0x484a01
cmp bx, 0xc000
jbe 0x484a25
test byte [0x693f68], 1
je 0x484a25
jmp 0x484a01
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x484a25
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x484aac
mov dword [esp], 4
call fcn.00416240
push eax
movzx edx, byte [0x693f38]
and edx, 0xffffff80
movzx eax, byte [0x693f00]
and eax, 0x7f
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x484f85
cmp eax, 0x3fff
jle 0x484fb5
cmp eax, 0x7fff
jle 0x484f91
cmp eax, 0xbfff
jle 0x484fb5
test byte [0x693f68], 1
je 0x484fb5
jmp 0x484f91
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x484a3a
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x484fce
cmp bx, 0x4000
jbe 0x484941
cmp bx, 0x8000
jbe 0x48491d
cmp bx, 0xc000
jbe 0x484941
test byte [0x693f68], 1
je 0x484941
jmp 0x48491d
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48495a
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x484bd5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x484c3a
mov dword [esp], 1
call fcn.00416240
push eax
movzx eax, word [0x693e70]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov word [0x69407c], ax
cmp dword [0x693b44], 4
jle 0x484c7c
cmp bx, 0x3fff
jbe 0x484cac
test bx, bx
jns 0x484c88
cmp bx, 0xbfff
jbe 0x484cac
test byte [0x693f68], 1
je 0x484cac
jmp 0x484c88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x484bea
lea eax, [ebx - 0x4000]
cmp ax, 0x3fff
ja 0x484cac
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x484d07
mov dword [esp], 3
call fcn.00416240
push esi
movzx edx, word [0x693e70]
lea eax, [edx + 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x484d49
cmp ax, 0x3fff
jbe 0x484d79
test ax, ax
jns 0x484d55
cmp ax, 0xbfff
jbe 0x484d79
test byte [0x693f68], 1
je 0x484d79
jmp 0x484d55
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x484cc1
lea eax, [edx - 0x3fff]
cmp ax, 0x3fff
ja 0x484d79
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x484dd1
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693e70]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
shl eax, 8
or ax, word [0x69407c]
mov word [0x69407c], ax
mov word [0x693f80], ax
lea eax, [ebx + 1]
mov word [0x693e70], ax
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x484d8e
cmp dword [0x693b44], 4
jg 0x484fe7
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x484e50
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48501a
mov dword [esp], 4
call fcn.00416240
push esi
cmp dword [0x693b44], 4
jle 0x48505c
movzx edx, byte [0x693f38]
and edx, 0xffffff80
movzx eax, byte [0x693f00]
and eax, 0x7f
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp eax, 0x3fff
jle 0x4850b1
cmp eax, 0x7fff
jle 0x48508d
cmp eax, 0xbfff
jle 0x4850b1
test byte [0x693f68], 1
je 0x4850b1
jmp 0x48508d
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x484f0b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x484f46
mov dword [esp], 4
call fcn.00416240
push eax
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
jmp 0x484a5b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x484f20
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x484fb5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x484aee
mov dword [esp], 1
call fcn.00416240
push eax
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
cmp bx, 0x4000
jbe 0x484e50
cmp bx, 0x8000
jbe 0x484e2c
cmp bx, 0xc000
jbe 0x484e50
test byte [0x693f68], 1
je 0x484e50
jmp 0x484e2c
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x484e69
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4850b1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x485116
mov dword [esp], 1
call fcn.00416240
push eax
movzx eax, word [0x693e70]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov word [0x69407c], ax
cmp dword [0x693b44], 4
jle 0x485158
cmp bx, 0x3fff
jbe 0x485188
test bx, bx
jns 0x485164
cmp bx, 0xbfff
jbe 0x485188
test byte [0x693f68], 1
je 0x485188
jmp 0x485164
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4850c6
lea eax, [ebx - 0x4000]
cmp ax, 0x3fff
ja 0x485188
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4851e3
mov dword [esp], 3
call fcn.00416240
push eax
movzx edx, word [0x693e70]
lea eax, [edx + 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x485225
cmp ax, 0x3fff
jbe 0x485255
test ax, ax
jns 0x485231
cmp ax, 0xbfff
jbe 0x485255
test byte [0x693f68], 1
je 0x485255
jmp 0x485231
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48519d
lea eax, [edx - 0x3fff]
cmp ax, 0x3fff
ja 0x485255
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4852ad
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693e70]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push esi
shl eax, 8
or ax, word [0x69407c]
mov word [0x69407c], ax
mov word [0x693f80], ax
lea eax, [ebx + 1]
mov word [0x693e70], ax
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48526a
movzx eax, word [0x693d20]
test ah, 1
jne 0x485357
movzx ecx, word [0x693d00]
movzx edx, word [0x693d1e]
xor edx, ecx
xor eax, ecx
and eax, edx
test al, 0x80
je 0x4858e7
cmp dword [0x693b44], 4
jle 0x485970
cmp bx, 0x4000
jbe 0x4859a0
cmp bx, 0x8000
jbe 0x48597c
cmp bx, 0xc000
jbe 0x4859a0
test byte [0x693f68], 1
je 0x4859a0
jmp 0x48597c
movzx edx, word [0x693d00]
mov eax, edx
shr ax, 4
xor eax, edx
mov edx, eax
and edx, 0xf
mov eax, 0x9669
bt eax, edx
jb 0x485441
cmp dword [0x693b44], 4
jg 0x4857b7
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4853b6
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4857ea
mov dword [esp], 4
call fcn.00416240
push edi
cmp dword [0x693b44], 4
jle 0x48582c
movzx edx, byte [0x693f38]
and edx, 0xffffff80
movzx eax, byte [0x693f00]
and eax, 0x7f
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp eax, 0x3fff
jle 0x485881
cmp eax, 0x7fff
jle 0x48585d
cmp eax, 0xbfff
jle 0x485881
test byte [0x693f68], 1
je 0x485881
jmp 0x48585d
cmp dword [0x693b44], 4
jle 0x48546a
cmp bx, 0x4000
jbe 0x48549a
cmp bx, 0x8000
jbe 0x485476
cmp bx, 0xc000
jbe 0x48549a
test byte [0x693f68], 1
je 0x48549a
jmp 0x485476
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x48549a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48550e
mov dword [esp], 4
call fcn.00416240
push eax
movzx edx, byte [0x693f38]
and edx, 0xffffff80
movzx eax, byte [0x693f00]
and eax, 0x7f
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x485550
cmp eax, 0x3fff
jle 0x485580
cmp eax, 0x7fff
jle 0x48555c
cmp eax, 0xbfff
jle 0x485580
test byte [0x693f68], 1
je 0x485580
jmp 0x48555c
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4854af
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x485580
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4855d2
mov dword [esp], 1
call fcn.00416240
push eax
movzx eax, word [0x693e70]
cmp dword [0x693b44], 4
jle 0x485611
cmp ax, 0x3fff
jbe 0x48563f
test ax, ax
jns 0x48561b
cmp ax, 0xbfff
jbe 0x48563f
test byte [0x693f68], 1
je 0x48563f
jmp 0x48561b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x485595
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x48563f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4856ab
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693e70]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edi
mov word [0x69407c], ax
lea eax, [ebx + 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x4856ed
cmp ax, 0x3fff
jbe 0x48571d
test ax, ax
jns 0x4856f9
cmp ax, 0xbfff
jbe 0x48571d
test byte [0x693f68], 1
je 0x48571d
jmp 0x4856f9
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x485654
lea eax, [ebx - 0x3fff]
cmp ax, 0x3fff
ja 0x48571d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x485775
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693e70]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
shl eax, 8
or ax, word [0x69407c]
mov word [0x69407c], ax
mov word [0x693f80], ax
lea eax, [ebx + 1]
mov word [0x693e70], ax
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x485732
cmp bx, 0x4000
jbe 0x4853b6
cmp bx, 0x8000
jbe 0x485392
cmp bx, 0xc000
jbe 0x4853b6
test byte [0x693f68], 1
je 0x4853b6
jmp 0x485392
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4853cf
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x485881
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4858a8
mov dword [esp], 1
call fcn.00416240
push ebx
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x485896
cmp dword [0x693b44], 4
jg 0x485cbd
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x485924
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x485cf0
mov dword [esp], 4
call fcn.00416240
push eax
cmp dword [0x693b44], 4
jle 0x485d32
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
jmp 0x4853fd
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4859a0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x485a14
mov dword [esp], 4
call fcn.00416240
push eax
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x485a56
cmp eax, 0x3fff
jle 0x485a86
cmp eax, 0x7fff
jle 0x485a62
cmp eax, 0xbfff
jle 0x485a86
test byte [0x693f68], 1
je 0x485a86
jmp 0x485a62
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4859b5
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x485a86
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x485ad8
mov dword [esp], 1
call fcn.00416240
push eax
movzx eax, word [0x693e70]
cmp dword [0x693b44], 4
jle 0x485b17
cmp ax, 0x3fff
jbe 0x485b45
test ax, ax
jns 0x485b21
cmp ax, 0xbfff
jbe 0x485b45
test byte [0x693f68], 1
je 0x485b45
jmp 0x485b21
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x485a9b
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x485b45
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x485bb1
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693e70]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edi
mov word [0x69407c], ax
lea eax, [ebx + 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x485bf3
cmp ax, 0x3fff
jbe 0x485c23
test ax, ax
jns 0x485bff
cmp ax, 0xbfff
jbe 0x485c23
test byte [0x693f68], 1
je 0x485c23
jmp 0x485bff
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x485b5a
lea eax, [ebx - 0x3fff]
cmp ax, 0x3fff
ja 0x485c23
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x485c7b
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693e70]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
shl eax, 8
or ax, word [0x69407c]
mov word [0x69407c], ax
mov word [0x693f80], ax
lea eax, [ebx + 1]
mov word [0x693e70], ax
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x485c38
cmp bx, 0x4000
jbe 0x485924
cmp bx, 0x8000
jbe 0x485900
cmp bx, 0xc000
jbe 0x485924
test byte [0x693f68], 1
je 0x485924
jmp 0x485900
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48593d
movzx edx, byte [0x693f38]
and edx, 0xffffff80
movzx eax, byte [0x693f00]
and eax, 0x7f
jmp 0x485840
test byte [0x693d1c], 0x80
jne 0x48443c
cmp dword [0x693b44], 4
jg 0x485e20
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x485d95
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x485e53
mov dword [esp], 4
call fcn.00416240
push esi
movzx edx, byte [0x693f38]
and edx, 0xffffff80
movzx eax, byte [0x693f00]
and eax, 0x7f
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x485e95
cmp eax, 0x3fff
jle 0x485ec5
cmp eax, 0x7fff
jle 0x485ea1
cmp eax, 0xbfff
jle 0x485ec5
test byte [0x693f68], 1
je 0x485ec5
jmp 0x485ea1
cmp bx, 0x4000
jbe 0x485d95
cmp bx, 0x8000
jbe 0x485d71
cmp bx, 0xc000
jbe 0x485d95
test byte [0x693f68], 1
je 0x485d95
jmp 0x485d71
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x485dae
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x485ec5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x485f2a
mov dword [esp], 1
call fcn.00416240
push eax
movzx eax, word [0x693e70]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov word [0x69407c], ax
cmp dword [0x693b44], 4
jle 0x485f6c
cmp bx, 0x3fff
jbe 0x485f9c
test bx, bx
jns 0x485f78
cmp bx, 0xbfff
jbe 0x485f9c
test byte [0x693f68], 1
je 0x485f9c
jmp 0x485f78
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x485eda
lea eax, [ebx - 0x4000]
cmp ax, 0x3fff
ja 0x485f9c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x485ff7
mov dword [esp], 3
call fcn.00416240
push esi
movzx edx, word [0x693e70]
lea eax, [edx + 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x486039
cmp ax, 0x3fff
jbe 0x486069
test ax, ax
jns 0x486045
cmp ax, 0xbfff
jbe 0x486069
test byte [0x693f68], 1
je 0x486069
jmp 0x486045
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x485fb1
lea eax, [edx - 0x3fff]
cmp ax, 0x3fff
ja 0x486069
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4860c1
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693e70]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
shl eax, 8
or ax, word [0x69407c]
mov word [0x69407c], ax
mov word [0x693f80], ax
lea eax, [ebx + 1]
mov word [0x693e70], ax
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48607e
test byte [0x693d1c], 0x80
je 0x48443c
cmp dword [0x693b44], 4
jle 0x486139
cmp bx, 0x4000
jbe 0x486169
cmp bx, 0x8000
jbe 0x486145
cmp bx, 0xc000
jbe 0x486169
test byte [0x693f68], 1
je 0x486169
jmp 0x486145
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x486169
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4861dd
mov dword [esp], 4
call fcn.00416240
push eax
movzx edx, byte [0x693f38]
and edx, 0xffffff80
movzx eax, byte [0x693f00]
and eax, 0x7f
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x48621f
cmp eax, 0x3fff
jle 0x48624f
cmp eax, 0x7fff
jle 0x48622b
cmp eax, 0xbfff
jle 0x48624f
test byte [0x693f68], 1
je 0x48624f
jmp 0x48622b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48617e
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x48624f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4862a1
mov dword [esp], 1
call fcn.00416240
push esi
movzx eax, word [0x693e70]
cmp dword [0x693b44], 4
jle 0x4862e0
cmp ax, 0x3fff
jbe 0x48630e
test ax, ax
jns 0x4862ea
cmp ax, 0xbfff
jbe 0x48630e
test byte [0x693f68], 1
je 0x48630e
jmp 0x4862ea
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x486264
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x48630e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48637a
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693e70]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov word [0x69407c], ax
lea eax, [ebx + 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x4863bc
cmp ax, 0x3fff
jbe 0x4863ec
test ax, ax
jns 0x4863c8
cmp ax, 0xbfff
jbe 0x4863ec
test byte [0x693f68], 1
je 0x4863ec
jmp 0x4863c8
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x486323
lea eax, [ebx - 0x3fff]
cmp ax, 0x3fff
ja 0x4863ec
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x486444
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693e70]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edi
shl eax, 8
or ax, word [0x69407c]
mov word [0x69407c], ax
mov word [0x693f80], ax
lea eax, [ebx + 1]
mov word [0x693e70], ax
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x486401
cmp bx, 0x4000
jbe 0x484479
cmp bx, 0x8000
jbe 0x484455
cmp bx, 0xc000
jbe 0x484479
test byte [0x693f68], 1
je 0x484479
jmp 0x484455
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x484492
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x48652b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x483b84
mov dword [esp], 1
call fcn.00416240
push eax
jmp 0x482d10
cmp dword [0x693b44], 4
jle 0x48657f
cmp bx, 0x4000
jbe 0x4865af
cmp bx, 0x8000
jbe 0x48658b
cmp bx, 0xc000
jbe 0x4865af
test byte [0x693f68], 1
je 0x4865af
jmp 0x48658b
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4865af
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x486601
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693e70]
cmp dword [0x693b44], 4
jle 0x486640
cmp ax, 0x3fff
jbe 0x48666e
test ax, ax
jns 0x48664a
cmp ax, 0xbfff
jbe 0x48666e
test byte [0x693f68], 1
je 0x48666e
jmp 0x48664a
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4865c4
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x48666e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4866d9
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693e70]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edi
mov byte [0x693f25], al
lea eax, [ebx + 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x48671b
cmp ax, 0x3fff
jbe 0x48674b
test ax, ax
jns 0x486727
cmp ax, 0xbfff
jbe 0x48674b
test byte [0x693f68], 1
je 0x48674b
jmp 0x486727
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x486683
lea eax, [ebx - 0x3fff]
cmp ax, 0x3fff
ja 0x48674b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x486799
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693e70]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov byte [0x693f26], al
lea eax, [ebx + 1]
mov word [0x693e70], ax
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x486760
cmp dword [0x693b44], 4
jle 0x486801
cmp bx, 0x4000
jbe 0x486831
cmp bx, 0x8000
jbe 0x48680d
cmp bx, 0xc000
jbe 0x486831
test byte [0x693f68], 1
je 0x486831
jmp 0x48680d
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x486831
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x486883
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693e70]
cmp dword [0x693b44], 4
jle 0x4868c2
cmp ax, 0x3fff
jbe 0x4868f0
test ax, ax
jns 0x4868cc
cmp ax, 0xbfff
jbe 0x4868f0
test byte [0x693f68], 1
je 0x4868f0
jmp 0x4868cc
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x486846
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4868f0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48695b
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693e70]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edi
mov byte [0x693f1c], al
lea eax, [ebx + 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x48699d
cmp ax, 0x3fff
jbe 0x4869cd
test ax, ax
jns 0x4869a9
cmp ax, 0xbfff
jbe 0x4869cd
test byte [0x693f68], 1
je 0x4869cd
jmp 0x4869a9
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x486905
lea eax, [ebx - 0x3fff]
cmp ax, 0x3fff
ja 0x4869cd
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x486a1b
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693e70]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov byte [0x693f24], al
lea eax, [ebx + 1]
mov word [0x693e70], ax
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4869e2
cmp byte [0x693bee], 0
jne 0x486ab0
cmp byte [0x693bbc], 0
je 0x486d2b
cmp dword [0x693b44], 4
jle 0x486dd1
cmp bx, 0x4000
jbe 0x486e01
cmp bx, 0x8000
jbe 0x486ddd
cmp bx, 0xc000
jbe 0x486e01
test byte [0x693f68], 1
je 0x486e01
jmp 0x486ddd
cmp dword [0x693b44], 4
jle 0x486ad9
cmp bx, 0x4000
jbe 0x486b09
cmp bx, 0x8000
jbe 0x486ae5
cmp bx, 0xc000
jbe 0x486b09
test byte [0x693f68], 1
je 0x486b09
jmp 0x486ae5
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x486b09
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x486b5b
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693e70]
cmp dword [0x693b44], 4
jle 0x486b9a
cmp ax, 0x3fff
jbe 0x486bc8
test ax, ax
jns 0x486ba4
cmp ax, 0xbfff
jbe 0x486bc8
test byte [0x693f68], 1
je 0x486bc8
jmp 0x486ba4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x486b1e
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x486bc8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x486c33
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693e70]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edi
mov byte [0x693f01], al
lea eax, [ebx + 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x486c75
cmp ax, 0x3fff
jbe 0x486ca5
test ax, ax
jns 0x486c81
cmp ax, 0xbfff
jbe 0x486ca5
test byte [0x693f68], 1
je 0x486ca5
jmp 0x486c81
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x486bdd
lea eax, [ebx - 0x3fff]
cmp ax, 0x3fff
ja 0x486ca5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x486cec
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693e70]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov byte [0x693f11], al
lea eax, [ebx + 1]
mov word [0x693e70], ax
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x486cba
cmp dword [0x693b44], 4
jg 0x487023
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x486d68
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x487056
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693e70]
cmp dword [0x693b44], 4
jle 0x487098
cmp ax, 0x3fff
jbe 0x4870c6
test ax, ax
jns 0x4870a2
cmp ax, 0xbfff
jbe 0x4870c6
test byte [0x693f68], 1
je 0x4870c6
jmp 0x4870a2
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x486e01
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x486e53
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693e70]
cmp dword [0x693b44], 4
jle 0x486e92
cmp ax, 0x3fff
jbe 0x486ec0
test ax, ax
jns 0x486e9c
cmp ax, 0xbfff
jbe 0x486ec0
test byte [0x693f68], 1
je 0x486ec0
jmp 0x486e9c
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x486e16
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x486ec0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x486f2b
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693e70]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edi
mov byte [0x693c00], al
lea eax, [ebx + 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x486f6d
cmp ax, 0x3fff
jbe 0x486f9d
test ax, ax
jns 0x486f79
cmp ax, 0xbfff
jbe 0x486f9d
test byte [0x693f68], 1
je 0x486f9d
jmp 0x486f79
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x486ed5
lea eax, [ebx - 0x3fff]
cmp ax, 0x3fff
ja 0x486f9d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x486fe4
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693e70]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov byte [0x693c08], al
lea eax, [ebx + 1]
mov word [0x693e70], ax
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x486fb2
cmp bx, 0x4000
jbe 0x486d68
cmp bx, 0x8000
jbe 0x486d44
cmp bx, 0xc000
jbe 0x486d68
test byte [0x693f68], 1
je 0x486d68
jmp 0x486d44
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x486d81
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4870c6
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x487131
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693e70]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov byte [0x693c5d], al
lea eax, [ebx + 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x487173
cmp ax, 0x3fff
jbe 0x4871a3
test ax, ax
jns 0x48717f
cmp ax, 0xbfff
jbe 0x4871a3
test byte [0x693f68], 1
je 0x4871a3
jmp 0x48717f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4870db
lea eax, [ebx - 0x3fff]
cmp ax, 0x3fff
ja 0x4871a3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4871ea
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693e70]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push ebp
mov byte [0x693c5e], al
lea eax, [ebx + 1]
mov word [0x693e70], ax
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4871b8
cmp dword [0x693b44], 4
jle 0x487252
cmp bx, 0x4000
jbe 0x487282
cmp bx, 0x8000
jbe 0x48725e
cmp bx, 0xc000
jbe 0x487282
test byte [0x693f68], 1
je 0x487282
jmp 0x48725e
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x487282
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4872ed
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004010a0
push edx
mov dword [esp], eax
call fcn.00401250
push ecx
movzx eax, word [0x693e70]
cmp dword [0x693b44], 4
jle 0x48732f
cmp ax, 0x3fff
jbe 0x48735d
test ax, ax
jns 0x487339
cmp ax, 0xbfff
jbe 0x48735d
test byte [0x693f68], 1
je 0x48735d
jmp 0x487339
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x487297
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x48735d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4873cc
mov dword [esp], 3
call fcn.00416240
push ecx
movzx esi, word [0x693e70]
lea ebx, [esi + 1]
mov word [0x693e70], bx
movzx eax, bx
mov dword [esp], eax
call fcn.004010a0
push edi
mov byte [0x693f2a], al
cmp dword [0x693b44], 4
jle 0x48740e
cmp bx, 0x3fff
jbe 0x48743e
test bx, bx
jns 0x48741a
cmp bx, 0xbfff
jbe 0x48743e
test byte [0x693f68], 1
je 0x48743e
jmp 0x48741a
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x487372
lea eax, [esi - 0x3fff]
cmp ax, 0x3fff
ja 0x48743e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x487474
mov dword [esp], 3
call fcn.00416240
push eax
add word [0x693e70], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x487453
cmp dword [0x693b44], 4
jle 0x4874dc
cmp bx, 0x4000
jbe 0x48750c
cmp bx, 0x8000
jbe 0x4874e8
cmp bx, 0xc000
jbe 0x48750c
test byte [0x693f68], 1
je 0x48750c
jmp 0x4874e8
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x48750c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x487580
mov dword [esp], 4
call fcn.00416240
push eax
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x4875c2
cmp eax, 0x3fff
jle 0x4875f2
cmp eax, 0x7fff
jle 0x4875ce
cmp eax, 0xbfff
jle 0x4875f2
test byte [0x693f68], 1
je 0x4875f2
jmp 0x4875ce
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x487521
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4875f2
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48764d
mov dword [esp], 1
call fcn.00416240
push esi
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x48768f
cmp ax, 0x3fff
jbe 0x4876bf
test ax, ax
jns 0x48769b
cmp ax, 0xbfff
jbe 0x4876bf
test byte [0x693f68], 1
je 0x4876bf
jmp 0x48769b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x487607
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x4876bf
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x487736
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f26]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push edx
push edx
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x487778
cmp ax, 0x3fff
jbe 0x4877a8
test ax, ax
jns 0x487784
cmp ax, 0xbfff
jbe 0x4877a8
test byte [0x693f68], 1
je 0x4877a8
jmp 0x487784
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4876d4
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x4877a8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4877f2
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f25]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4877bd
cmp dword [0x693b44], 4
jle 0x48785a
cmp bx, 0x4000
jbe 0x48788a
cmp bx, 0x8000
jbe 0x487866
cmp bx, 0xc000
jbe 0x48788a
test byte [0x693f68], 1
je 0x48788a
jmp 0x487866
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x48788a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4878fe
mov dword [esp], 4
call fcn.00416240
push esi
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x487940
cmp eax, 0x3fff
jle 0x487970
cmp eax, 0x7fff
jle 0x48794c
cmp eax, 0xbfff
jle 0x487970
test byte [0x693f68], 1
je 0x487970
jmp 0x48794c
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48789f
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x487970
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4879cb
mov dword [esp], 1
call fcn.00416240
push edx
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x487a0d
cmp ax, 0x3fff
jbe 0x487a3d
test ax, ax
jns 0x487a19
cmp ax, 0xbfff
jbe 0x487a3d
test byte [0x693f68], 1
je 0x487a3d
jmp 0x487a19
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x487985
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x487a3d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x487ab4
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f24]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x487af6
cmp ax, 0x3fff
jbe 0x487b26
test ax, ax
jns 0x487b02
cmp ax, 0xbfff
jbe 0x487b26
test byte [0x693f68], 1
je 0x487b26
jmp 0x487b02
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x487a52
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x487b26
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x487b70
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, byte [0x693f1c]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push edi
push edi
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x487b3b
cmp byte [0x693bee], 0
jne 0x487c05
cmp byte [0x693bbc], 0
je 0x487f7c
cmp dword [0x693b44], 4
jle 0x488044
cmp bx, 0x4000
jbe 0x488074
cmp bx, 0x8000
jbe 0x488050
cmp bx, 0xc000
jbe 0x488074
test byte [0x693f68], 1
je 0x488074
jmp 0x488050
cmp dword [0x693b44], 4
jle 0x487c2e
cmp bx, 0x4000
jbe 0x487c5e
cmp bx, 0x8000
jbe 0x487c3a
cmp bx, 0xc000
jbe 0x487c5e
test byte [0x693f68], 1
je 0x487c5e
jmp 0x487c3a
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x487c5e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x487cd2
mov dword [esp], 4
call fcn.00416240
push edx
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x487d14
cmp eax, 0x3fff
jle 0x487d44
cmp eax, 0x7fff
jle 0x487d20
cmp eax, 0xbfff
jle 0x487d44
test byte [0x693f68], 1
je 0x487d44
jmp 0x487d20
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x487c73
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x487d44
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x487d9f
mov dword [esp], 1
call fcn.00416240
push eax
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x487de1
cmp ax, 0x3fff
jbe 0x487e11
test ax, ax
jns 0x487ded
cmp ax, 0xbfff
jbe 0x487e11
test byte [0x693f68], 1
je 0x487e11
jmp 0x487ded
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x487d59
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x487e11
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x487e88
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, byte [0x693f11]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push ebp
push ebp
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x487eca
cmp ax, 0x3fff
jbe 0x487efa
test ax, ax
jns 0x487ed6
cmp ax, 0xbfff
jbe 0x487efa
test byte [0x693f68], 1
je 0x487efa
jmp 0x487ed6
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x487e26
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x487efa
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x487f3d
mov dword [esp], 3
call fcn.00416240
push edx
movzx eax, byte [0x693f01]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push ecx
push ecx
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x487f0f
cmp dword [0x693b44], 4
jg 0x488392
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x487fb9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4883c5
mov dword [esp], 4
call fcn.00416240
push ebp
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x488407
cmp eax, 0x3fff
jle 0x488437
cmp eax, 0x7fff
jle 0x488413
cmp eax, 0xbfff
jle 0x488437
test byte [0x693f68], 1
je 0x488437
jmp 0x488413
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x488074
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4880e8
mov dword [esp], 4
call fcn.00416240
push eax
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x48812a
cmp eax, 0x3fff
jle 0x48815a
cmp eax, 0x7fff
jle 0x488136
cmp eax, 0xbfff
jle 0x48815a
test byte [0x693f68], 1
je 0x48815a
jmp 0x488136
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x488089
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x48815a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4881b5
mov dword [esp], 1
call fcn.00416240
push ebp
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x4881f7
cmp ax, 0x3fff
jbe 0x488227
test ax, ax
jns 0x488203
cmp ax, 0xbfff
jbe 0x488227
test byte [0x693f68], 1
je 0x488227
jmp 0x488203
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48816f
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x488227
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48829e
mov dword [esp], 3
call fcn.00416240
push ecx
movzx eax, byte [0x693c08]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push ebx
push ebx
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x4882e0
cmp ax, 0x3fff
jbe 0x488310
test ax, ax
jns 0x4882ec
cmp ax, 0xbfff
jbe 0x488310
test byte [0x693f68], 1
je 0x488310
jmp 0x4882ec
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48823c
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x488310
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x488353
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693c00]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x488325
cmp bx, 0x4000
jbe 0x487fb9
cmp bx, 0x8000
jbe 0x487f95
cmp bx, 0xc000
jbe 0x487fb9
test byte [0x693f68], 1
je 0x487fb9
jmp 0x487f95
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x487fd2
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x488437
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x488492
mov dword [esp], 1
call fcn.00416240
push ebx
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x4884d4
cmp ax, 0x3fff
jbe 0x488504
test ax, ax
jns 0x4884e0
cmp ax, 0xbfff
jbe 0x488504
test byte [0x693f68], 1
je 0x488504
jmp 0x4884e0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48844c
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x488504
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48857b
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693c5e]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x4885bd
cmp ax, 0x3fff
jbe 0x4885ed
test ax, ax
jns 0x4885c9
cmp ax, 0xbfff
jbe 0x4885ed
test byte [0x693f68], 1
je 0x4885ed
jmp 0x4885c9
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x488519
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x4885ed
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x488630
mov dword [esp], 3
call fcn.00416240
push ebp
movzx eax, byte [0x693c5d]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x488602
cmp dword [0x693b44], 4
jle 0x488698
cmp bx, 0x4000
jbe 0x4886c8
cmp bx, 0x8000
jbe 0x4886a4
cmp bx, 0xc000
jbe 0x4886c8
test byte [0x693f68], 1
je 0x4886c8
jmp 0x4886a4
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4886c8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48873c
mov dword [esp], 4
call fcn.00416240
push ebx
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x48877e
cmp eax, 0x3fff
jle 0x4887ae
cmp eax, 0x7fff
jle 0x48878a
cmp eax, 0xbfff
jle 0x4887ae
test byte [0x693f68], 1
je 0x4887ae
jmp 0x48878a
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4886dd
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4887ae
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x488809
mov dword [esp], 1
call fcn.00416240
push eax
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x48884b
cmp ax, 0x3fff
jbe 0x48887b
test ax, ax
jns 0x488857
cmp ax, 0xbfff
jbe 0x48887b
test byte [0x693f68], 1
je 0x48887b
jmp 0x488857
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4887c3
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x48887b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4888f2
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f2a]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x488934
cmp ax, 0x3fff
jbe 0x488964
test ax, ax
jns 0x488940
cmp ax, 0xbfff
jbe 0x488964
test byte [0x693f68], 1
je 0x488964
jmp 0x488940
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x488890
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x488964
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4889ac
mov dword [esp], 3
call fcn.00416240
push ebx
call fcn.00401000
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push esi
push esi
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x488979
cmp dword [0x693b44], 4
jle 0x488a14
cmp bx, 0x4000
jbe 0x488a44
cmp bx, 0x8000
jbe 0x488a20
cmp bx, 0xc000
jbe 0x488a44
test byte [0x693f68], 1
je 0x488a44
jmp 0x488a20
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x488a44
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x488a96
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x488ad5
cmp ax, 0x3fff
jbe 0x488b03
test ax, ax
jns 0x488adf
cmp ax, 0xbfff
jbe 0x488b03
test byte [0x693f68], 1
je 0x488b03
jmp 0x488adf
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x488a59
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x488b03
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x488b5a
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x488b9c
cmp ax, 0x3ffe
jbe 0x488bca
cmp ax, 0x7ffe
jbe 0x488ba6
add ax, 0x4001
cmp ax, 0x3fff
ja 0x488bca
test byte [0x693f68], 1
je 0x488bca
jmp 0x488ba6
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x488b18
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x488bca
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x488c2c
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push esi
mov esi, eax
lea eax, [ebx + 1]
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push edi
shl eax, 8
or eax, esi
mov word [0x693f80], ax
mov word [0x69407c], ax
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x488bdf
cmp dword [0x693b44], 4
jle 0x488c97
cmp bx, 0x4000
jbe 0x488cc7
cmp bx, 0x8000
jbe 0x488ca3
cmp bx, 0xc000
jbe 0x488cc7
test byte [0x693f68], 1
je 0x488cc7
jmp 0x488ca3
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x488cc7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x488d19
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x488d58
cmp ax, 0x3fff
jbe 0x488d86
test ax, ax
jns 0x488d62
cmp ax, 0xbfff
jbe 0x488d86
test byte [0x693f68], 1
je 0x488d86
jmp 0x488d62
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x488cdc
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x488d86
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x488ddd
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x488e1f
cmp ax, 0x3ffe
jbe 0x488e4d
cmp ax, 0x7ffe
jbe 0x488e29
add ax, 0x4001
cmp ax, 0x3fff
ja 0x488e4d
test byte [0x693f68], 1
je 0x488e4d
jmp 0x488e29
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x488d9b
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x488e4d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x488ebc
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push esi
mov esi, eax
lea eax, [ebx + 1]
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push edi
shl eax, 8
or eax, esi
mov word [0x69407c], ax
cmp word [0x693d00], 0
jne 0x488eaa
lea eax, [ebx + 2]
mov word [0x693f80], ax
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x488e62
cmp dword [0x693b44], 4
jle 0x488f27
cmp bx, 0x4000
jbe 0x488f57
cmp bx, 0x8000
jbe 0x488f33
cmp bx, 0xc000
jbe 0x488f57
test byte [0x693f68], 1
je 0x488f57
jmp 0x488f33
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x488f57
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x488fa9
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x488fe8
cmp ax, 0x3fff
jbe 0x489016
test ax, ax
jns 0x488ff2
cmp ax, 0xbfff
jbe 0x489016
test byte [0x693f68], 1
je 0x489016
jmp 0x488ff2
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x488f6c
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x489016
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48906d
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4890af
cmp ax, 0x3ffe
jbe 0x4890dd
cmp ax, 0x7ffe
jbe 0x4890b9
add ax, 0x4001
cmp ax, 0x3fff
ja 0x4890dd
test byte [0x693f68], 1
je 0x4890dd
jmp 0x4890b9
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48902b
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x4890dd
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48914c
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push esi
mov esi, eax
lea eax, [ebx + 1]
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push edi
shl eax, 8
or eax, esi
mov word [0x69407c], ax
cmp word [0x693d00], 0
je 0x48913a
lea eax, [ebx + 2]
mov word [0x693f80], ax
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4890f2
cmp dword [0x693b44], 4
jle 0x4891b7
cmp bx, 0x4000
jbe 0x4891e7
cmp bx, 0x8000
jbe 0x4891c3
cmp bx, 0xc000
jbe 0x4891e7
test byte [0x693f68], 1
je 0x4891e7
jmp 0x4891c3
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4891e7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x489239
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x489278
cmp ax, 0x3fff
jbe 0x4892a6
test ax, ax
jns 0x489282
cmp ax, 0xbfff
jbe 0x4892a6
test byte [0x693f68], 1
je 0x4892a6
jmp 0x489282
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4891fc
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4892a6
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4892fd
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48933f
cmp ax, 0x3ffe
jbe 0x48936d
cmp ax, 0x7ffe
jbe 0x489349
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48936d
test byte [0x693f68], 1
je 0x48936d
jmp 0x489349
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4892bb
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48936d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4893db
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push esi
mov esi, eax
lea eax, [ebx + 1]
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push edi
shl eax, 8
or eax, esi
mov word [0x69407c], ax
test byte [0x693d1d], 1
je 0x4893c9
lea eax, [ebx + 2]
mov word [0x693f80], ax
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x489382
cmp dword [0x693b44], 4
jle 0x489446
cmp bx, 0x4000
jbe 0x489476
cmp bx, 0x8000
jbe 0x489452
cmp bx, 0xc000
jbe 0x489476
test byte [0x693f68], 1
je 0x489476
jmp 0x489452
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x489476
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4894c8
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x489507
cmp ax, 0x3fff
jbe 0x489535
test ax, ax
jns 0x489511
cmp ax, 0xbfff
jbe 0x489535
test byte [0x693f68], 1
je 0x489535
jmp 0x489511
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48948b
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x489535
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48958c
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4895ce
cmp ax, 0x3ffe
jbe 0x4895fc
cmp ax, 0x7ffe
jbe 0x4895d8
add ax, 0x4001
cmp ax, 0x3fff
ja 0x4895fc
test byte [0x693f68], 1
je 0x4895fc
jmp 0x4895d8
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48954a
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x4895fc
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48966a
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push esi
mov esi, eax
lea eax, [ebx + 1]
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push edi
shl eax, 8
or eax, esi
mov word [0x69407c], ax
test byte [0x693d1d], 1
jne 0x489658
lea eax, [ebx + 2]
mov word [0x693f80], ax
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x489611
test byte [0x693d21], 1
jne 0x48975f
cmp dword [0x693b44], 4
jg 0x489a01
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4896f6
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x489a34
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x489a76
cmp ax, 0x3fff
jbe 0x489aa4
test ax, ax
jns 0x489a80
cmp ax, 0xbfff
jbe 0x489aa4
test byte [0x693f68], 1
je 0x489aa4
jmp 0x489a80
cmp dword [0x693b44], 4
jle 0x489788
cmp bx, 0x4000
jbe 0x4897b8
cmp bx, 0x8000
jbe 0x489794
cmp bx, 0xc000
jbe 0x4897b8
test byte [0x693f68], 1
je 0x4897b8
jmp 0x489794
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4897b8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48980a
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x489849
cmp ax, 0x3fff
jbe 0x489877
test ax, ax
jns 0x489853
cmp ax, 0xbfff
jbe 0x489877
test byte [0x693f68], 1
je 0x489877
jmp 0x489853
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4897cd
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x489877
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4898ce
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x489910
cmp ax, 0x3ffe
jbe 0x48993e
cmp ax, 0x7ffe
jbe 0x48991a
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48993e
test byte [0x693f68], 1
je 0x48993e
jmp 0x48991a
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48988c
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48993e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4899bf
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push esi
mov esi, eax
lea eax, [ebx + 1]
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push edi
shl eax, 8
or eax, esi
mov word [0x69407c], ax
movzx ecx, word [0x693d00]
mov edx, ecx
shr dx, 4
xor edx, ecx
mov ecx, edx
and ecx, 0xf
mov edx, 0x9669
sar edx, cl
mov ecx, edx
lea edx, [ebx + 2]
and cl, 1
cmovne eax, edx
mov word [0x693f80], ax
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x489953
cmp bx, 0x4000
jbe 0x4896f6
cmp bx, 0x8000
jbe 0x4896d2
cmp bx, 0xc000
jbe 0x4896f6
test byte [0x693f68], 1
je 0x4896f6
jmp 0x4896d2
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48970f
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x489aa4
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x489afb
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x489b3d
cmp ax, 0x3ffe
jbe 0x489b6b
cmp ax, 0x7ffe
jbe 0x489b47
add ax, 0x4001
cmp ax, 0x3fff
ja 0x489b6b
test byte [0x693f68], 1
je 0x489b6b
jmp 0x489b47
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x489ab9
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x489b6b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x489be8
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push esi
mov esi, eax
lea eax, [ebx + 1]
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push edi
shl eax, 8
or eax, esi
mov word [0x69407c], ax
movzx edx, word [0x693d00]
movzx ecx, word [0x693d20]
xor ecx, edx
xor dx, word [0x693d1e]
and ecx, edx
lea edx, [ebx + 2]
and cl, 0x80
cmovne eax, edx
mov word [0x693f80], ax
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x489b80
test byte [0x693d21], 1
jne 0x489cdd
cmp dword [0x693b44], 4
jg 0x489f7f
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x489c74
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x489fb2
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x489ff4
cmp ax, 0x3fff
jbe 0x48a022
test ax, ax
jns 0x489ffe
cmp ax, 0xbfff
jbe 0x48a022
test byte [0x693f68], 1
je 0x48a022
jmp 0x489ffe
cmp dword [0x693b44], 4
jle 0x489d06
cmp bx, 0x4000
jbe 0x489d36
cmp bx, 0x8000
jbe 0x489d12
cmp bx, 0xc000
jbe 0x489d36
test byte [0x693f68], 1
je 0x489d36
jmp 0x489d12
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x489d36
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x489d88
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x489dc7
cmp ax, 0x3fff
jbe 0x489df5
test ax, ax
jns 0x489dd1
cmp ax, 0xbfff
jbe 0x489df5
test byte [0x693f68], 1
je 0x489df5
jmp 0x489dd1
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x489d4b
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x489df5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x489e4c
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x489e8e
cmp ax, 0x3ffe
jbe 0x489ebc
cmp ax, 0x7ffe
jbe 0x489e98
add ax, 0x4001
cmp ax, 0x3fff
ja 0x489ebc
test byte [0x693f68], 1
je 0x489ebc
jmp 0x489e98
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x489e0a
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x489ebc
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x489f3d
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push esi
mov esi, eax
lea eax, [ebx + 1]
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push edi
shl eax, 8
or eax, esi
mov word [0x69407c], ax
movzx ecx, word [0x693d00]
mov edx, ecx
shr dx, 4
xor edx, ecx
mov ecx, edx
and ecx, 0xf
mov edx, 0x9669
sar edx, cl
mov ecx, edx
lea edx, [ebx + 2]
and cl, 1
cmove eax, edx
mov word [0x693f80], ax
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x489ed1
cmp bx, 0x4000
jbe 0x489c74
cmp bx, 0x8000
jbe 0x489c50
cmp bx, 0xc000
jbe 0x489c74
test byte [0x693f68], 1
je 0x489c74
jmp 0x489c50
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x489c8d
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x48a022
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48a079
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48a0bb
cmp ax, 0x3ffe
jbe 0x48a0e9
cmp ax, 0x7ffe
jbe 0x48a0c5
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48a0e9
test byte [0x693f68], 1
je 0x48a0e9
jmp 0x48a0c5
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48a037
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48a0e9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48a166
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push esi
mov esi, eax
lea eax, [ebx + 1]
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push edi
shl eax, 8
or eax, esi
mov word [0x69407c], ax
movzx edx, word [0x693d00]
movzx ecx, word [0x693d20]
xor ecx, edx
xor dx, word [0x693d1e]
and ecx, edx
lea edx, [ebx + 2]
and cl, 0x80
cmove eax, edx
mov word [0x693f80], ax
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48a0fe
cmp dword [0x693b44], 4
jle 0x48a1d1
cmp bx, 0x4000
jbe 0x48a201
cmp bx, 0x8000
jbe 0x48a1dd
cmp bx, 0xc000
jbe 0x48a201
test byte [0x693f68], 1
je 0x48a201
jmp 0x48a1dd
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x48a201
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48a253
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48a292
cmp ax, 0x3fff
jbe 0x48a2c0
test ax, ax
jns 0x48a29c
cmp ax, 0xbfff
jbe 0x48a2c0
test byte [0x693f68], 1
je 0x48a2c0
jmp 0x48a29c
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48a216
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x48a2c0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48a317
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48a359
cmp ax, 0x3ffe
jbe 0x48a387
cmp ax, 0x7ffe
jbe 0x48a363
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48a387
test byte [0x693f68], 1
je 0x48a387
jmp 0x48a363
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48a2d5
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48a387
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48a3f5
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push esi
mov esi, eax
lea eax, [ebx + 1]
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push edi
shl eax, 8
or eax, esi
mov word [0x69407c], ax
test byte [0x693d1c], 0x80
je 0x48a3e3
lea eax, [ebx + 2]
mov word [0x693f80], ax
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48a39c
cmp dword [0x693b44], 4
jle 0x48a460
cmp bx, 0x4000
jbe 0x48a490
cmp bx, 0x8000
jbe 0x48a46c
cmp bx, 0xc000
jbe 0x48a490
test byte [0x693f68], 1
je 0x48a490
jmp 0x48a46c
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x48a490
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48a4e2
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48a521
cmp ax, 0x3fff
jbe 0x48a54f
test ax, ax
jns 0x48a52b
cmp ax, 0xbfff
jbe 0x48a54f
test byte [0x693f68], 1
je 0x48a54f
jmp 0x48a52b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48a4a5
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x48a54f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48a5a6
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48a5e8
cmp ax, 0x3ffe
jbe 0x48a616
cmp ax, 0x7ffe
jbe 0x48a5f2
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48a616
test byte [0x693f68], 1
je 0x48a616
jmp 0x48a5f2
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48a564
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48a616
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48a684
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push esi
mov esi, eax
lea eax, [ebx + 1]
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push edi
shl eax, 8
or eax, esi
mov word [0x69407c], ax
test byte [0x693d1c], 0x80
jne 0x48a672
lea eax, [ebx + 2]
mov word [0x693f80], ax
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48a62b
cmp dword [0x693b44], 4
jle 0x48a6ef
cmp bx, 0x4000
jbe 0x48a71f
cmp bx, 0x8000
jbe 0x48a6fb
cmp bx, 0xc000
jbe 0x48a71f
test byte [0x693f68], 1
je 0x48a71f
jmp 0x48a6fb
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x48a71f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48a771
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48a7b0
cmp ax, 0x3fff
jbe 0x48a7de
test ax, ax
jns 0x48a7ba
cmp ax, 0xbfff
jbe 0x48a7de
test byte [0x693f68], 1
je 0x48a7de
jmp 0x48a7ba
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48a734
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x48a7de
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48a835
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48a877
cmp ax, 0x3ffe
jbe 0x48a8a5
cmp ax, 0x7ffe
jbe 0x48a881
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48a8a5
test byte [0x693f68], 1
je 0x48a8a5
jmp 0x48a881
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48a7f3
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48a8a5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48a8fc
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48a93e
cmp ax, 0x3ffe
jbe 0x48a96c
cmp ax, 0x7ffe
jbe 0x48a948
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48a96c
test byte [0x693f68], 1
je 0x48a96c
jmp 0x48a948
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48a8ba
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48a96c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48aa09
mov dword [esp], 1
call fcn.00416240
push eax
movzx ebx, word [0x693f80]
lea eax, [ebx + 2]
mov word [0x693efe], ax
movzx eax, bx
mov dword [esp], eax
call fcn.004010a0
push edx
mov esi, eax
lea eax, [ebx + 1]
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ecx
shl eax, 8
or eax, esi
mov word [0x693f80], ax
mov word [0x69407c], ax
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x48aa4b
cmp ax, 0x3fff
jbe 0x48aa7b
test ax, ax
jns 0x48aa57
cmp ax, 0xbfff
jbe 0x48aa7b
test byte [0x693f68], 1
je 0x48aa7b
jmp 0x48aa57
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48a985
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x48aa7b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48aaf2
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693eff]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x48ab34
cmp ax, 0x3fff
jbe 0x48ab64
test ax, ax
jns 0x48ab40
cmp ax, 0xbfff
jbe 0x48ab64
test byte [0x693f68], 1
je 0x48ab64
jmp 0x48ab40
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48aa90
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x48ab64
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48abae
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push esi
push esi
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48ab79
movzx eax, bx
mov dword [esp], eax
call fcn.004010a0
push edx
mov edi, eax
lea eax, [esi + 2]
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ecx
shl eax, 8
or eax, edi
mov word [0x69407c], ax
cmp word [0x693d00], 0
jne 0x48acc9
cmp dword [0x693b44], 4
jg 0x48b1c4
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x48ac60
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48b1f7
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48b239
cmp ax, 0x3fff
jbe 0x48b267
test ax, ax
jns 0x48b243
cmp ax, 0xbfff
jbe 0x48b267
test byte [0x693f68], 1
je 0x48b267
jmp 0x48b243
cmp dword [0x693b44], 4
jle 0x48acf2
cmp bx, 0x4000
jbe 0x48ad22
cmp bx, 0x8000
jbe 0x48acfe
cmp bx, 0xc000
jbe 0x48ad22
test byte [0x693f68], 1
je 0x48ad22
jmp 0x48acfe
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x48ad22
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48ad74
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48adb3
cmp ax, 0x3fff
jbe 0x48ade1
test ax, ax
jns 0x48adbd
cmp ax, 0xbfff
jbe 0x48ade1
test byte [0x693f68], 1
je 0x48ade1
jmp 0x48adbd
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48ad37
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x48ade1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48ae38
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48ae7a
cmp ax, 0x3ffe
jbe 0x48aea8
cmp ax, 0x7ffe
jbe 0x48ae84
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48aea8
test byte [0x693f68], 1
je 0x48aea8
jmp 0x48ae84
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48adf6
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48aea8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48aeff
mov dword [esp], 3
call fcn.00416240
push edx
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48af41
cmp ax, 0x3ffe
jbe 0x48af6f
cmp ax, 0x7ffe
jbe 0x48af4b
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48af6f
test byte [0x693f68], 1
je 0x48af6f
jmp 0x48af4b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48aebd
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48af6f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48afe7
mov dword [esp], 1
call fcn.00416240
push eax
movzx eax, word [0x693f80]
add eax, 2
mov word [0x693efe], ax
movzx eax, word [0x69407c]
mov word [0x693f80], ax
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x48b029
cmp ax, 0x3fff
jbe 0x48b059
test ax, ax
jns 0x48b035
cmp ax, 0xbfff
jbe 0x48b059
test byte [0x693f68], 1
je 0x48b059
jmp 0x48b035
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48af84
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x48b059
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48b0d0
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, byte [0x693eff]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push ebp
push ebp
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x48b112
cmp ax, 0x3fff
jbe 0x48b142
test ax, ax
jns 0x48b11e
cmp ax, 0xbfff
jbe 0x48b142
test byte [0x693f68], 1
je 0x48b142
jmp 0x48b11e
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48b06e
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x48b142
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48b185
mov dword [esp], 3
call fcn.00416240
push edx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push ecx
push ecx
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48b157
cmp bx, 0x4000
jbe 0x48ac60
cmp bx, 0x8000
jbe 0x48ac3c
cmp bx, 0xc000
jbe 0x48ac60
test byte [0x693f68], 1
je 0x48ac60
jmp 0x48ac3c
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48ac79
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x48b267
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48b2be
mov dword [esp], 3
call fcn.00416240
push ebp
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48b300
cmp ax, 0x3ffe
jbe 0x48b32e
cmp ax, 0x7ffe
jbe 0x48b30a
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48b32e
test byte [0x693f68], 1
je 0x48b32e
jmp 0x48b30a
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48b27c
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48b32e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48b35d
mov dword [esp], 3
call fcn.00416240
push ebx
add word [0x693f80], 2
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48b343
movzx eax, bx
mov dword [esp], eax
call fcn.004010a0
push edx
mov edi, eax
lea eax, [esi + 2]
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ecx
shl eax, 8
or eax, edi
mov word [0x69407c], ax
cmp word [0x693d00], 0
jne 0x48b478
cmp dword [0x693b44], 4
jg 0x48b6c5
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x48b40f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48b6f8
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48b73a
cmp ax, 0x3fff
jbe 0x48b768
test ax, ax
jns 0x48b744
cmp ax, 0xbfff
jbe 0x48b768
test byte [0x693f68], 1
je 0x48b768
jmp 0x48b744
cmp dword [0x693b44], 4
jle 0x48b4a1
cmp bx, 0x4000
jbe 0x48b4d1
cmp bx, 0x8000
jbe 0x48b4ad
cmp bx, 0xc000
jbe 0x48b4d1
test byte [0x693f68], 1
je 0x48b4d1
jmp 0x48b4ad
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x48b4d1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48b523
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48b562
cmp ax, 0x3fff
jbe 0x48b590
test ax, ax
jns 0x48b56c
cmp ax, 0xbfff
jbe 0x48b590
test byte [0x693f68], 1
je 0x48b590
jmp 0x48b56c
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48b4e6
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x48b590
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48b5e7
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48b629
cmp ax, 0x3ffe
jbe 0x48b657
cmp ax, 0x7ffe
jbe 0x48b633
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48b657
test byte [0x693f68], 1
je 0x48b657
jmp 0x48b633
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48b5a5
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48b657
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48b686
mov dword [esp], 3
call fcn.00416240
push edx
add word [0x693f80], 2
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48b66c
cmp bx, 0x4000
jbe 0x48b40f
cmp bx, 0x8000
jbe 0x48b3eb
cmp bx, 0xc000
jbe 0x48b40f
test byte [0x693f68], 1
je 0x48b40f
jmp 0x48b3eb
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48b428
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x48b768
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48b7bf
mov dword [esp], 3
call fcn.00416240
push ebp
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48b801
cmp ax, 0x3ffe
jbe 0x48b82f
cmp ax, 0x7ffe
jbe 0x48b80b
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48b82f
test byte [0x693f68], 1
je 0x48b82f
jmp 0x48b80b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48b77d
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48b82f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48b886
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48b8c8
cmp ax, 0x3ffe
jbe 0x48b8f6
cmp ax, 0x7ffe
jbe 0x48b8d2
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48b8f6
test byte [0x693f68], 1
je 0x48b8f6
jmp 0x48b8d2
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48b844
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48b8f6
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48b96e
mov dword [esp], 1
call fcn.00416240
push eax
movzx eax, word [0x693f80]
add eax, 2
mov word [0x693efe], ax
movzx eax, word [0x69407c]
mov word [0x693f80], ax
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x48b9b0
cmp ax, 0x3fff
jbe 0x48b9e0
test ax, ax
jns 0x48b9bc
cmp ax, 0xbfff
jbe 0x48b9e0
test byte [0x693f68], 1
je 0x48b9e0
jmp 0x48b9bc
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48b90b
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x48b9e0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48ba57
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693eff]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x48ba99
cmp ax, 0x3fff
jbe 0x48bac9
test ax, ax
jns 0x48baa5
cmp ax, 0xbfff
jbe 0x48bac9
test byte [0x693f68], 1
je 0x48bac9
jmp 0x48baa5
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48b9f5
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x48bac9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48bb0c
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push esi
push esi
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48bade
movzx eax, bx
mov dword [esp], eax
call fcn.004010a0
push edx
mov edi, eax
lea eax, [esi + 2]
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ecx
shl eax, 8
or eax, edi
mov word [0x69407c], ax
test byte [0x693d1d], 1
jne 0x48bc26
cmp dword [0x693b44], 4
jg 0x48be73
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x48bbbd
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48bea6
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48bee8
cmp ax, 0x3fff
jbe 0x48bf16
test ax, ax
jns 0x48bef2
cmp ax, 0xbfff
jbe 0x48bf16
test byte [0x693f68], 1
je 0x48bf16
jmp 0x48bef2
cmp dword [0x693b44], 4
jle 0x48bc4f
cmp bx, 0x4000
jbe 0x48bc7f
cmp bx, 0x8000
jbe 0x48bc5b
cmp bx, 0xc000
jbe 0x48bc7f
test byte [0x693f68], 1
je 0x48bc7f
jmp 0x48bc5b
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x48bc7f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48bcd1
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48bd10
cmp ax, 0x3fff
jbe 0x48bd3e
test ax, ax
jns 0x48bd1a
cmp ax, 0xbfff
jbe 0x48bd3e
test byte [0x693f68], 1
je 0x48bd3e
jmp 0x48bd1a
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48bc94
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x48bd3e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48bd95
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48bdd7
cmp ax, 0x3ffe
jbe 0x48be05
cmp ax, 0x7ffe
jbe 0x48bde1
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48be05
test byte [0x693f68], 1
je 0x48be05
jmp 0x48bde1
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48bd53
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48be05
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48be34
mov dword [esp], 3
call fcn.00416240
push edx
add word [0x693f80], 2
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48be1a
cmp bx, 0x4000
jbe 0x48bbbd
cmp bx, 0x8000
jbe 0x48bb99
cmp bx, 0xc000
jbe 0x48bbbd
test byte [0x693f68], 1
je 0x48bbbd
jmp 0x48bb99
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48bbd6
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x48bf16
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48bf6d
mov dword [esp], 3
call fcn.00416240
push ebp
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48bfaf
cmp ax, 0x3ffe
jbe 0x48bfdd
cmp ax, 0x7ffe
jbe 0x48bfb9
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48bfdd
test byte [0x693f68], 1
je 0x48bfdd
jmp 0x48bfb9
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48bf2b
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48bfdd
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48c034
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48c076
cmp ax, 0x3ffe
jbe 0x48c0a4
cmp ax, 0x7ffe
jbe 0x48c080
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48c0a4
test byte [0x693f68], 1
je 0x48c0a4
jmp 0x48c080
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48bff2
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48c0a4
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48c11c
mov dword [esp], 1
call fcn.00416240
push eax
movzx eax, word [0x693f80]
add eax, 2
mov word [0x693efe], ax
movzx eax, word [0x69407c]
mov word [0x693f80], ax
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x48c15e
cmp ax, 0x3fff
jbe 0x48c18e
test ax, ax
jns 0x48c16a
cmp ax, 0xbfff
jbe 0x48c18e
test byte [0x693f68], 1
je 0x48c18e
jmp 0x48c16a
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48c0b9
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x48c18e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48c205
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693eff]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x48c247
cmp ax, 0x3fff
jbe 0x48c277
test ax, ax
jns 0x48c253
cmp ax, 0xbfff
jbe 0x48c277
test byte [0x693f68], 1
je 0x48c277
jmp 0x48c253
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48c1a3
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x48c277
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48c2ba
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push esi
push esi
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48c28c
movzx eax, bx
mov dword [esp], eax
call fcn.004010a0
push edx
mov edi, eax
lea eax, [esi + 2]
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ecx
shl eax, 8
or eax, edi
mov word [0x69407c], ax
test byte [0x693d1d], 1
jne 0x48c3d4
cmp dword [0x693b44], 4
jg 0x48c8cf
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x48c36b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48c902
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48c944
cmp ax, 0x3fff
jbe 0x48c972
test ax, ax
jns 0x48c94e
cmp ax, 0xbfff
jbe 0x48c972
test byte [0x693f68], 1
je 0x48c972
jmp 0x48c94e
cmp dword [0x693b44], 4
jle 0x48c3fd
cmp bx, 0x4000
jbe 0x48c42d
cmp bx, 0x8000
jbe 0x48c409
cmp bx, 0xc000
jbe 0x48c42d
test byte [0x693f68], 1
je 0x48c42d
jmp 0x48c409
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x48c42d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48c47f
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48c4be
cmp ax, 0x3fff
jbe 0x48c4ec
test ax, ax
jns 0x48c4c8
cmp ax, 0xbfff
jbe 0x48c4ec
test byte [0x693f68], 1
je 0x48c4ec
jmp 0x48c4c8
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48c442
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x48c4ec
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48c543
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48c585
cmp ax, 0x3ffe
jbe 0x48c5b3
cmp ax, 0x7ffe
jbe 0x48c58f
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48c5b3
test byte [0x693f68], 1
je 0x48c5b3
jmp 0x48c58f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48c501
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48c5b3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48c60a
mov dword [esp], 3
call fcn.00416240
push edx
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48c64c
cmp ax, 0x3ffe
jbe 0x48c67a
cmp ax, 0x7ffe
jbe 0x48c656
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48c67a
test byte [0x693f68], 1
je 0x48c67a
jmp 0x48c656
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48c5c8
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48c67a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48c6f2
mov dword [esp], 1
call fcn.00416240
push eax
movzx eax, word [0x693f80]
add eax, 2
mov word [0x693efe], ax
movzx eax, word [0x69407c]
mov word [0x693f80], ax
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x48c734
cmp ax, 0x3fff
jbe 0x48c764
test ax, ax
jns 0x48c740
cmp ax, 0xbfff
jbe 0x48c764
test byte [0x693f68], 1
je 0x48c764
jmp 0x48c740
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48c68f
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x48c764
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48c7db
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, byte [0x693eff]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push ebp
push ebp
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x48c81d
cmp ax, 0x3fff
jbe 0x48c84d
test ax, ax
jns 0x48c829
cmp ax, 0xbfff
jbe 0x48c84d
test byte [0x693f68], 1
je 0x48c84d
jmp 0x48c829
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48c779
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x48c84d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48c890
mov dword [esp], 3
call fcn.00416240
push edx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push ecx
push ecx
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48c862
cmp bx, 0x4000
jbe 0x48c36b
cmp bx, 0x8000
jbe 0x48c347
cmp bx, 0xc000
jbe 0x48c36b
test byte [0x693f68], 1
je 0x48c36b
jmp 0x48c347
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48c384
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x48c972
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48c9c9
mov dword [esp], 3
call fcn.00416240
push ebp
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48ca0b
cmp ax, 0x3ffe
jbe 0x48ca39
cmp ax, 0x7ffe
jbe 0x48ca15
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48ca39
test byte [0x693f68], 1
je 0x48ca39
jmp 0x48ca15
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48c987
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48ca39
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48ca68
mov dword [esp], 3
call fcn.00416240
push ebx
add word [0x693f80], 2
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48ca4e
movzx edi, word [0x693d20]
movzx eax, bx
mov dword [esp], eax
test di, 0x100
jne 0x48cb39
call fcn.004010a0
push edx
mov ebp, eax
lea eax, [esi + 2]
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ecx
shl eax, 8
or eax, ebp
mov word [0x69407c], ax
movzx edx, word [0x693d00]
movzx eax, word [0x693d1e]
xor eax, edx
xor edx, edi
and eax, edx
test al, 0x80
je 0x48d2f6
cmp dword [0x693b44], 4
jle 0x48d39c
cmp bx, 0x4000
jbe 0x48d3cc
cmp bx, 0x8000
jbe 0x48d3a8
cmp bx, 0xc000
jbe 0x48d3cc
test byte [0x693f68], 1
je 0x48d3cc
jmp 0x48d3a8
call fcn.004010a0
push edi
mov edi, eax
lea eax, [esi + 2]
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ebp
shl eax, 8
or eax, edi
mov word [0x69407c], ax
movzx edx, word [0x693d00]
mov eax, edx
shr ax, 4
xor eax, edx
mov edx, eax
and edx, 0xf
mov eax, 0x9669
bt eax, edx
jb 0x48cc23
cmp dword [0x693b44], 4
jg 0x48ce70
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x48cbba
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48cea3
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48cee5
cmp ax, 0x3fff
jbe 0x48cf13
test ax, ax
jns 0x48ceef
cmp ax, 0xbfff
jbe 0x48cf13
test byte [0x693f68], 1
je 0x48cf13
jmp 0x48ceef
cmp dword [0x693b44], 4
jle 0x48cc4c
cmp bx, 0x4000
jbe 0x48cc7c
cmp bx, 0x8000
jbe 0x48cc58
cmp bx, 0xc000
jbe 0x48cc7c
test byte [0x693f68], 1
je 0x48cc7c
jmp 0x48cc58
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x48cc7c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48ccce
mov dword [esp], 4
call fcn.00416240
push ecx
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48cd0d
cmp ax, 0x3fff
jbe 0x48cd3b
test ax, ax
jns 0x48cd17
cmp ax, 0xbfff
jbe 0x48cd3b
test byte [0x693f68], 1
je 0x48cd3b
jmp 0x48cd17
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48cc91
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x48cd3b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48cd92
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48cdd4
cmp ax, 0x3ffe
jbe 0x48ce02
cmp ax, 0x7ffe
jbe 0x48cdde
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48ce02
test byte [0x693f68], 1
je 0x48ce02
jmp 0x48cdde
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48cd50
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48ce02
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48ce31
mov dword [esp], 3
call fcn.00416240
push eax
add word [0x693f80], 2
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48ce17
cmp bx, 0x4000
jbe 0x48cbba
cmp bx, 0x8000
jbe 0x48cb96
cmp bx, 0xc000
jbe 0x48cbba
test byte [0x693f68], 1
je 0x48cbba
jmp 0x48cb96
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48cbd3
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x48cf13
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48cf6a
mov dword [esp], 3
call fcn.00416240
push edx
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48cfac
cmp ax, 0x3ffe
jbe 0x48cfda
cmp ax, 0x7ffe
jbe 0x48cfb6
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48cfda
test byte [0x693f68], 1
je 0x48cfda
jmp 0x48cfb6
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48cf28
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48cfda
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48d031
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48d073
cmp ax, 0x3ffe
jbe 0x48d0a1
cmp ax, 0x7ffe
jbe 0x48d07d
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48d0a1
test byte [0x693f68], 1
je 0x48d0a1
jmp 0x48d07d
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48cfef
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48d0a1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48d119
mov dword [esp], 1
call fcn.00416240
push ebp
movzx eax, word [0x693f80]
add eax, 2
mov word [0x693efe], ax
movzx eax, word [0x69407c]
mov word [0x693f80], ax
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x48d15b
cmp ax, 0x3fff
jbe 0x48d18b
test ax, ax
jns 0x48d167
cmp ax, 0xbfff
jbe 0x48d18b
test byte [0x693f68], 1
je 0x48d18b
jmp 0x48d167
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48d0b6
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x48d18b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48d202
mov dword [esp], 3
call fcn.00416240
push ecx
movzx eax, byte [0x693eff]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push ebx
push ebx
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x48d244
cmp ax, 0x3fff
jbe 0x48d274
test ax, ax
jns 0x48d250
cmp ax, 0xbfff
jbe 0x48d274
test byte [0x693f68], 1
je 0x48d274
jmp 0x48d250
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48d1a0
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x48d274
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48d2b7
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48d289
cmp dword [0x693b44], 4
jg 0x48d5c0
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x48d333
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48d5f3
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48d635
cmp ax, 0x3fff
jbe 0x48d663
test ax, ax
jns 0x48d63f
cmp ax, 0xbfff
jbe 0x48d663
test byte [0x693f68], 1
je 0x48d663
jmp 0x48d63f
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x48d3cc
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48d41e
mov dword [esp], 4
call fcn.00416240
push ebp
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48d45d
cmp ax, 0x3fff
jbe 0x48d48b
test ax, ax
jns 0x48d467
cmp ax, 0xbfff
jbe 0x48d48b
test byte [0x693f68], 1
je 0x48d48b
jmp 0x48d467
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48d3e1
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x48d48b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48d4e2
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48d524
cmp ax, 0x3ffe
jbe 0x48d552
cmp ax, 0x7ffe
jbe 0x48d52e
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48d552
test byte [0x693f68], 1
je 0x48d552
jmp 0x48d52e
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48d4a0
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48d552
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48d581
mov dword [esp], 3
call fcn.00416240
push eax
add word [0x693f80], 2
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48d567
cmp bx, 0x4000
jbe 0x48d333
cmp bx, 0x8000
jbe 0x48d30f
cmp bx, 0xc000
jbe 0x48d333
test byte [0x693f68], 1
je 0x48d333
jmp 0x48d30f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48d34c
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x48d663
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48d6ba
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48d6fc
cmp ax, 0x3ffe
jbe 0x48d72a
cmp ax, 0x7ffe
jbe 0x48d706
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48d72a
test byte [0x693f68], 1
je 0x48d72a
jmp 0x48d706
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48d678
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48d72a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48d781
mov dword [esp], 3
call fcn.00416240
push ecx
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48d7c3
cmp ax, 0x3ffe
jbe 0x48d7f1
cmp ax, 0x7ffe
jbe 0x48d7cd
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48d7f1
test byte [0x693f68], 1
je 0x48d7f1
jmp 0x48d7cd
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48d73f
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48d7f1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48d869
mov dword [esp], 1
call fcn.00416240
push eax
movzx eax, word [0x693f80]
add eax, 2
mov word [0x693efe], ax
movzx eax, word [0x69407c]
mov word [0x693f80], ax
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x48d8ab
cmp ax, 0x3fff
jbe 0x48d8db
test ax, ax
jns 0x48d8b7
cmp ax, 0xbfff
jbe 0x48d8db
test byte [0x693f68], 1
je 0x48d8db
jmp 0x48d8b7
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48d806
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x48d8db
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48d952
mov dword [esp], 3
call fcn.00416240
push ebp
movzx eax, byte [0x693eff]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x48d994
cmp ax, 0x3fff
jbe 0x48d9c4
test ax, ax
jns 0x48d9a0
cmp ax, 0xbfff
jbe 0x48d9c4
test byte [0x693f68], 1
je 0x48d9c4
jmp 0x48d9a0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48d8f0
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x48d9c4
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48da07
mov dword [esp], 3
call fcn.00416240
push ecx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push ebx
push ebx
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48d9d9
movzx edi, word [0x693d20]
movzx eax, bx
mov dword [esp], eax
test di, 0x100
jne 0x48dad8
call fcn.004010a0
push ecx
mov ebp, eax
lea eax, [esi + 2]
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push edx
shl eax, 8
or eax, ebp
mov word [0x69407c], ax
movzx edx, word [0x693d00]
movzx eax, word [0x693d1e]
xor eax, edx
xor edx, edi
and eax, edx
test al, 0x80
je 0x48e295
cmp dword [0x693b44], 4
jle 0x48e33b
cmp bx, 0x4000
jbe 0x48e36b
cmp bx, 0x8000
jbe 0x48e347
cmp bx, 0xc000
jbe 0x48e36b
test byte [0x693f68], 1
je 0x48e36b
jmp 0x48e347
call fcn.004010a0
push ebp
mov edi, eax
lea eax, [esi + 2]
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push edx
shl eax, 8
or eax, edi
mov word [0x69407c], ax
movzx edx, word [0x693d00]
mov eax, edx
shr ax, 4
xor eax, edx
mov edx, eax
and edx, 0xf
mov eax, 0x9669
bt eax, edx
jb 0x48dbc2
cmp dword [0x693b44], 4
jg 0x48e0bd
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x48db59
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48e0f0
mov dword [esp], 4
call fcn.00416240
push edi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48e132
cmp ax, 0x3fff
jbe 0x48e160
test ax, ax
jns 0x48e13c
cmp ax, 0xbfff
jbe 0x48e160
test byte [0x693f68], 1
je 0x48e160
jmp 0x48e13c
cmp dword [0x693b44], 4
jle 0x48dbeb
cmp bx, 0x4000
jbe 0x48dc1b
cmp bx, 0x8000
jbe 0x48dbf7
cmp bx, 0xc000
jbe 0x48dc1b
test byte [0x693f68], 1
je 0x48dc1b
jmp 0x48dbf7
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x48dc1b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48dc6d
mov dword [esp], 4
call fcn.00416240
push ebx
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48dcac
cmp ax, 0x3fff
jbe 0x48dcda
test ax, ax
jns 0x48dcb6
cmp ax, 0xbfff
jbe 0x48dcda
test byte [0x693f68], 1
je 0x48dcda
jmp 0x48dcb6
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48dc30
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x48dcda
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48dd31
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48dd73
cmp ax, 0x3ffe
jbe 0x48dda1
cmp ax, 0x7ffe
jbe 0x48dd7d
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48dda1
test byte [0x693f68], 1
je 0x48dda1
jmp 0x48dd7d
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48dcef
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48dda1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48ddf8
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48de3a
cmp ax, 0x3ffe
jbe 0x48de68
cmp ax, 0x7ffe
jbe 0x48de44
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48de68
test byte [0x693f68], 1
je 0x48de68
jmp 0x48de44
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48ddb6
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48de68
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48dee0
mov dword [esp], 1
call fcn.00416240
push edi
movzx eax, word [0x693f80]
add eax, 2
mov word [0x693efe], ax
movzx eax, word [0x69407c]
mov word [0x693f80], ax
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x48df22
cmp ax, 0x3fff
jbe 0x48df52
test ax, ax
jns 0x48df2e
cmp ax, 0xbfff
jbe 0x48df52
test byte [0x693f68], 1
je 0x48df52
jmp 0x48df2e
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48de7d
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x48df52
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48dfc9
mov dword [esp], 3
call fcn.00416240
push edx
movzx eax, byte [0x693eff]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push ecx
push ecx
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x48e00b
cmp ax, 0x3fff
jbe 0x48e03b
test ax, ax
jns 0x48e017
cmp ax, 0xbfff
jbe 0x48e03b
test byte [0x693f68], 1
je 0x48e03b
jmp 0x48e017
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48df67
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x48e03b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48e07e
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48e050
cmp bx, 0x4000
jbe 0x48db59
cmp bx, 0x8000
jbe 0x48db35
cmp bx, 0xc000
jbe 0x48db59
test byte [0x693f68], 1
je 0x48db59
jmp 0x48db35
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48db72
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x48e160
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48e1b7
mov dword [esp], 3
call fcn.00416240
push ecx
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48e1f9
cmp ax, 0x3ffe
jbe 0x48e227
cmp ax, 0x7ffe
jbe 0x48e203
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48e227
test byte [0x693f68], 1
je 0x48e227
jmp 0x48e203
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48e175
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48e227
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48e256
mov dword [esp], 3
call fcn.00416240
push eax
add word [0x693f80], 2
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48e23c
cmp dword [0x693b44], 4
jg 0x48e80d
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x48e2d2
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48e840
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48e882
cmp ax, 0x3fff
jbe 0x48e8b0
test ax, ax
jns 0x48e88c
cmp ax, 0xbfff
jbe 0x48e8b0
test byte [0x693f68], 1
je 0x48e8b0
jmp 0x48e88c
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x48e36b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48e3bd
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48e3fc
cmp ax, 0x3fff
jbe 0x48e42a
test ax, ax
jns 0x48e406
cmp ax, 0xbfff
jbe 0x48e42a
test byte [0x693f68], 1
je 0x48e42a
jmp 0x48e406
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48e380
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x48e42a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48e481
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48e4c3
cmp ax, 0x3ffe
jbe 0x48e4f1
cmp ax, 0x7ffe
jbe 0x48e4cd
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48e4f1
test byte [0x693f68], 1
je 0x48e4f1
jmp 0x48e4cd
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48e43f
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48e4f1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48e548
mov dword [esp], 3
call fcn.00416240
push edx
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48e58a
cmp ax, 0x3ffe
jbe 0x48e5b8
cmp ax, 0x7ffe
jbe 0x48e594
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48e5b8
test byte [0x693f68], 1
je 0x48e5b8
jmp 0x48e594
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48e506
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48e5b8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48e630
mov dword [esp], 1
call fcn.00416240
push eax
movzx eax, word [0x693f80]
add eax, 2
mov word [0x693efe], ax
movzx eax, word [0x69407c]
mov word [0x693f80], ax
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x48e672
cmp ax, 0x3fff
jbe 0x48e6a2
test ax, ax
jns 0x48e67e
cmp ax, 0xbfff
jbe 0x48e6a2
test byte [0x693f68], 1
je 0x48e6a2
jmp 0x48e67e
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48e5cd
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x48e6a2
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48e719
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, byte [0x693eff]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push ebp
push ebp
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x48e75b
cmp ax, 0x3fff
jbe 0x48e78b
test ax, ax
jns 0x48e767
cmp ax, 0xbfff
jbe 0x48e78b
test byte [0x693f68], 1
je 0x48e78b
jmp 0x48e767
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48e6b7
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x48e78b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48e7ce
mov dword [esp], 3
call fcn.00416240
push edx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push ecx
push ecx
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48e7a0
cmp bx, 0x4000
jbe 0x48e2d2
cmp bx, 0x8000
jbe 0x48e2ae
cmp bx, 0xc000
jbe 0x48e2d2
test byte [0x693f68], 1
je 0x48e2d2
jmp 0x48e2ae
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48e2eb
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x48e8b0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48e907
mov dword [esp], 3
call fcn.00416240
push ebp
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48e949
cmp ax, 0x3ffe
jbe 0x48e977
cmp ax, 0x7ffe
jbe 0x48e953
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48e977
test byte [0x693f68], 1
je 0x48e977
jmp 0x48e953
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48e8c5
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48e977
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48e9a6
mov dword [esp], 3
call fcn.00416240
push ebx
add word [0x693f80], 2
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48e98c
movzx eax, bx
mov dword [esp], eax
call fcn.004010a0
push edx
mov edi, eax
lea eax, [esi + 2]
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ecx
shl eax, 8
or eax, edi
mov word [0x69407c], ax
test byte [0x693d1c], 0x80
jne 0x48eac0
cmp dword [0x693b44], 4
jg 0x48ed0d
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x48ea57
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48ed40
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48ed82
cmp ax, 0x3fff
jbe 0x48edb0
test ax, ax
jns 0x48ed8c
cmp ax, 0xbfff
jbe 0x48edb0
test byte [0x693f68], 1
je 0x48edb0
jmp 0x48ed8c
cmp dword [0x693b44], 4
jle 0x48eae9
cmp bx, 0x4000
jbe 0x48eb19
cmp bx, 0x8000
jbe 0x48eaf5
cmp bx, 0xc000
jbe 0x48eb19
test byte [0x693f68], 1
je 0x48eb19
jmp 0x48eaf5
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x48eb19
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48eb6b
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48ebaa
cmp ax, 0x3fff
jbe 0x48ebd8
test ax, ax
jns 0x48ebb4
cmp ax, 0xbfff
jbe 0x48ebd8
test byte [0x693f68], 1
je 0x48ebd8
jmp 0x48ebb4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48eb2e
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x48ebd8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48ec2f
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48ec71
cmp ax, 0x3ffe
jbe 0x48ec9f
cmp ax, 0x7ffe
jbe 0x48ec7b
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48ec9f
test byte [0x693f68], 1
je 0x48ec9f
jmp 0x48ec7b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48ebed
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48ec9f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48ecce
mov dword [esp], 3
call fcn.00416240
push edx
add word [0x693f80], 2
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48ecb4
cmp bx, 0x4000
jbe 0x48ea57
cmp bx, 0x8000
jbe 0x48ea33
cmp bx, 0xc000
jbe 0x48ea57
test byte [0x693f68], 1
je 0x48ea57
jmp 0x48ea33
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48ea70
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x48edb0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48ee07
mov dword [esp], 3
call fcn.00416240
push ebp
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48ee49
cmp ax, 0x3ffe
jbe 0x48ee77
cmp ax, 0x7ffe
jbe 0x48ee53
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48ee77
test byte [0x693f68], 1
je 0x48ee77
jmp 0x48ee53
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48edc5
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48ee77
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48eece
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48ef10
cmp ax, 0x3ffe
jbe 0x48ef3e
cmp ax, 0x7ffe
jbe 0x48ef1a
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48ef3e
test byte [0x693f68], 1
je 0x48ef3e
jmp 0x48ef1a
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48ee8c
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48ef3e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48efb6
mov dword [esp], 1
call fcn.00416240
push eax
movzx eax, word [0x693f80]
add eax, 2
mov word [0x693efe], ax
movzx eax, word [0x69407c]
mov word [0x693f80], ax
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x48eff8
cmp ax, 0x3fff
jbe 0x48f028
test ax, ax
jns 0x48f004
cmp ax, 0xbfff
jbe 0x48f028
test byte [0x693f68], 1
je 0x48f028
jmp 0x48f004
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48ef53
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x48f028
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48f09f
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693eff]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x48f0e1
cmp ax, 0x3fff
jbe 0x48f111
test ax, ax
jns 0x48f0ed
cmp ax, 0xbfff
jbe 0x48f111
test byte [0x693f68], 1
je 0x48f111
jmp 0x48f0ed
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48f03d
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x48f111
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48f154
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push esi
push esi
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48f126
movzx eax, bx
mov dword [esp], eax
call fcn.004010a0
push edx
mov edi, eax
lea eax, [esi + 2]
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ecx
shl eax, 8
or eax, edi
mov word [0x69407c], ax
test byte [0x693d1c], 0x80
jne 0x48f26e
cmp dword [0x693b44], 4
jg 0x48f769
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x48f205
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48f79c
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48f7de
cmp ax, 0x3fff
jbe 0x48f80c
test ax, ax
jns 0x48f7e8
cmp ax, 0xbfff
jbe 0x48f80c
test byte [0x693f68], 1
je 0x48f80c
jmp 0x48f7e8
cmp dword [0x693b44], 4
jle 0x48f297
cmp bx, 0x4000
jbe 0x48f2c7
cmp bx, 0x8000
jbe 0x48f2a3
cmp bx, 0xc000
jbe 0x48f2c7
test byte [0x693f68], 1
je 0x48f2c7
jmp 0x48f2a3
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x48f2c7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48f319
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48f358
cmp ax, 0x3fff
jbe 0x48f386
test ax, ax
jns 0x48f362
cmp ax, 0xbfff
jbe 0x48f386
test byte [0x693f68], 1
je 0x48f386
jmp 0x48f362
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48f2dc
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x48f386
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48f3dd
mov dword [esp], 3
call fcn.00416240
push ebp
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48f41f
cmp ax, 0x3ffe
jbe 0x48f44d
cmp ax, 0x7ffe
jbe 0x48f429
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48f44d
test byte [0x693f68], 1
je 0x48f44d
jmp 0x48f429
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48f39b
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48f44d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48f4a4
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48f4e6
cmp ax, 0x3ffe
jbe 0x48f514
cmp ax, 0x7ffe
jbe 0x48f4f0
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48f514
test byte [0x693f68], 1
je 0x48f514
jmp 0x48f4f0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48f462
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48f514
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48f58c
mov dword [esp], 1
call fcn.00416240
push eax
movzx eax, word [0x693f80]
add eax, 2
mov word [0x693efe], ax
movzx eax, word [0x69407c]
mov word [0x693f80], ax
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x48f5ce
cmp ax, 0x3fff
jbe 0x48f5fe
test ax, ax
jns 0x48f5da
cmp ax, 0xbfff
jbe 0x48f5fe
test byte [0x693f68], 1
je 0x48f5fe
jmp 0x48f5da
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48f529
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x48f5fe
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48f675
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693eff]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x48f6b7
cmp ax, 0x3fff
jbe 0x48f6e7
test ax, ax
jns 0x48f6c3
cmp ax, 0xbfff
jbe 0x48f6e7
test byte [0x693f68], 1
je 0x48f6e7
jmp 0x48f6c3
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48f613
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x48f6e7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48f72a
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push esi
push esi
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48f6fc
cmp bx, 0x4000
jbe 0x48f205
cmp bx, 0x8000
jbe 0x48f1e1
cmp bx, 0xc000
jbe 0x48f205
test byte [0x693f68], 1
je 0x48f205
jmp 0x48f1e1
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48f21e
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x48f80c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48f863
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x48f8a5
cmp ax, 0x3ffe
jbe 0x48f8d3
cmp ax, 0x7ffe
jbe 0x48f8af
add ax, 0x4001
cmp ax, 0x3fff
ja 0x48f8d3
test byte [0x693f68], 1
je 0x48f8d3
jmp 0x48f8af
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48f821
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x48f8d3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48f902
mov dword [esp], 3
call fcn.00416240
push edi
add word [0x693f80], 2
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48f8e8
cmp dword [0x693b44], 4
jle 0x48f96a
cmp bx, 0x4000
jbe 0x48f99a
cmp bx, 0x8000
jbe 0x48f976
cmp bx, 0xc000
jbe 0x48f99a
test byte [0x693f68], 1
je 0x48f99a
jmp 0x48f976
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x48f99a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48fa39
mov dword [esp], 4
call fcn.00416240
push eax
movzx edi, byte [0x693f2a]
mov word [0x693d20], di
movzx esi, word [0x693f80]
mov dword [esp], esi
call fcn.004010a0
push edx
mov word [0x693d1e], ax
mov dword [esp], esi
call fcn.004010a0
push ecx
add eax, edi
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
cmp dword [0x693b44], 4
jle 0x48fa7b
cmp si, 0x3fff
jbe 0x48faab
test si, si
jns 0x48fa87
cmp si, 0xbfff
jbe 0x48faab
test byte [0x693f68], 1
je 0x48faab
jmp 0x48fa87
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48f9b3
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x48faab
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48fae1
mov dword [esp], 3
call fcn.00416240
push esi
add word [0x693f80], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48fac0
cmp dword [0x693b44], 4
jle 0x48fb49
cmp bx, 0x4000
jbe 0x48fb79
cmp bx, 0x8000
jbe 0x48fb55
cmp bx, 0xc000
jbe 0x48fb79
test byte [0x693f68], 1
je 0x48fb79
jmp 0x48fb55
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x48fb79
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48fc1d
mov dword [esp], 4
call fcn.00416240
push eax
movzx esi, byte [0x693f2a]
mov word [0x693d20], si
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov word [0x693d1e], ax
movzx edx, byte [0x693d1d]
and edx, 1
add edx, esi
add eax, edx
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
cmp dword [0x693b44], 4
jle 0x48fc5f
cmp bx, 0x3fff
jbe 0x48fc8f
test bx, bx
jns 0x48fc6b
cmp bx, 0xbfff
jbe 0x48fc8f
test byte [0x693f68], 1
je 0x48fc8f
jmp 0x48fc6b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48fb92
lea eax, [ebx - 0x4000]
cmp ax, 0x3fff
ja 0x48fc8f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48fcc5
mov dword [esp], 3
call fcn.00416240
push esi
add word [0x693f80], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48fca4
cmp dword [0x693b44], 4
jle 0x48fd2d
cmp bx, 0x4000
jbe 0x48fd5d
cmp bx, 0x8000
jbe 0x48fd39
cmp bx, 0xc000
jbe 0x48fd5d
test byte [0x693f68], 1
je 0x48fd5d
jmp 0x48fd39
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x48fd5d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48fdf8
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov edx, eax
not eax
mov word [0x693d1e], ax
movzx eax, byte [0x693f2a]
mov word [0x693d20], ax
sub eax, edx
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
cmp dword [0x693b44], 4
jle 0x48fe3a
cmp bx, 0x3fff
jbe 0x48fe6a
test bx, bx
jns 0x48fe46
cmp bx, 0xbfff
jbe 0x48fe6a
test byte [0x693f68], 1
je 0x48fe6a
jmp 0x48fe46
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48fd76
lea eax, [ebx - 0x4000]
cmp ax, 0x3fff
ja 0x48fe6a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48fea0
mov dword [esp], 3
call fcn.00416240
push esi
add word [0x693f80], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48fe7f
cmp dword [0x693b44], 4
jle 0x48ff08
cmp bx, 0x4000
jbe 0x48ff38
cmp bx, 0x8000
jbe 0x48ff14
cmp bx, 0xc000
jbe 0x48ff38
test byte [0x693f68], 1
je 0x48ff38
jmp 0x48ff14
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x48ff38
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x48ffe4
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov edx, eax
not eax
mov word [0x693d1e], ax
movzx eax, byte [0x693f2a]
mov word [0x693d20], ax
movzx ecx, byte [0x693d1d]
xor ecx, 1
and ecx, 1
lea eax, [eax + ecx - 1]
sub eax, edx
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
cmp dword [0x693b44], 4
jle 0x490026
cmp bx, 0x3fff
jbe 0x490056
test bx, bx
jns 0x490032
cmp bx, 0xbfff
jbe 0x490056
test byte [0x693f68], 1
je 0x490056
jmp 0x490032
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x48ff51
lea eax, [ebx - 0x4000]
cmp ax, 0x3fff
ja 0x490056
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49008c
mov dword [esp], 3
call fcn.00416240
push esi
add word [0x693f80], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49006b
cmp dword [0x693b44], 4
jle 0x4900f4
cmp bx, 0x4000
jbe 0x490124
cmp bx, 0x8000
jbe 0x490100
cmp bx, 0xc000
jbe 0x490124
test byte [0x693f68], 1
je 0x490124
jmp 0x490100
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x490124
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4901b8
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
movzx edx, byte [0x693f2a]
and eax, edx
mov word [0x693d00], ax
mov word [0x693d1c], ax
mov byte [0x693f2a], al
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
cmp dword [0x693b44], 4
jle 0x4901fa
cmp bx, 0x3fff
jbe 0x49022a
test bx, bx
jns 0x490206
cmp bx, 0xbfff
jbe 0x49022a
test byte [0x693f68], 1
je 0x49022a
jmp 0x490206
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x490139
lea eax, [ebx - 0x4000]
cmp ax, 0x3fff
ja 0x49022a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x490260
mov dword [esp], 3
call fcn.00416240
push esi
add word [0x693f80], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49023f
cmp dword [0x693b44], 4
jle 0x4902c8
cmp bx, 0x4000
jbe 0x4902f8
cmp bx, 0x8000
jbe 0x4902d4
cmp bx, 0xc000
jbe 0x4902f8
test byte [0x693f68], 1
je 0x4902f8
jmp 0x4902d4
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4902f8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x490391
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
xor al, byte [0x693f2a]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
cmp dword [0x693b44], 4
jle 0x4903d3
cmp bx, 0x3fff
jbe 0x490403
test bx, bx
jns 0x4903df
cmp bx, 0xbfff
jbe 0x490403
test byte [0x693f68], 1
je 0x490403
jmp 0x4903df
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x490311
lea eax, [ebx - 0x4000]
cmp ax, 0x3fff
ja 0x490403
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x490439
mov dword [esp], 3
call fcn.00416240
push esi
add word [0x693f80], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x490418
cmp dword [0x693b44], 4
jle 0x4904a1
cmp bx, 0x4000
jbe 0x4904d1
cmp bx, 0x8000
jbe 0x4904ad
cmp bx, 0xc000
jbe 0x4904d1
test byte [0x693f68], 1
je 0x4904d1
jmp 0x4904ad
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4904d1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49056a
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
or al, byte [0x693f2a]
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov word [0x693d1c], ax
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
cmp dword [0x693b44], 4
jle 0x4905ac
cmp bx, 0x3fff
jbe 0x4905dc
test bx, bx
jns 0x4905b8
cmp bx, 0xbfff
jbe 0x4905dc
test byte [0x693f68], 1
je 0x4905dc
jmp 0x4905b8
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4904ea
lea eax, [ebx - 0x4000]
cmp ax, 0x3fff
ja 0x4905dc
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x490612
mov dword [esp], 3
call fcn.00416240
push eax
add word [0x693f80], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4905f1
cmp dword [0x693b44], 4
jle 0x49067a
cmp bx, 0x4000
jbe 0x4906aa
cmp bx, 0x8000
jbe 0x490686
cmp bx, 0xc000
jbe 0x4906aa
test byte [0x693f68], 1
je 0x4906aa
jmp 0x490686
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4906aa
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x490764
mov dword [esp], 4
call fcn.00416240
push eax
movzx edi, byte [0x693f2a]
mov word [0x693d20], di
movzx esi, word [0x693f80]
mov ebx, esi
mov dword [esp], esi
call fcn.004010a0
push edx
sub edi, eax
mov word [0x693d00], di
mov dword [esp], esi
call fcn.004010a0
push ecx
not eax
mov word [0x693d1e], ax
mov dword [esp], esi
call fcn.004010a0
push esi
mov edx, edi
and edx, 0xffffffd7
and eax, 0x28
or eax, edx
mov word [0x693d1c], ax
mov eax, edi
and ax, 0xff
mov word [0x693d00], ax
mov dword [0x693c88], 1
cmp dword [0x693b44], 4
jle 0x4907a6
cmp bx, 0x3fff
jbe 0x4907d6
test bx, bx
jns 0x4907b2
cmp bx, 0xbfff
jbe 0x4907d6
test byte [0x693f68], 1
je 0x4907d6
jmp 0x4907b2
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4906c3
lea eax, [ebx - 0x4000]
cmp ax, 0x3fff
ja 0x4907d6
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49080c
mov dword [esp], 3
call fcn.00416240
push esi
add word [0x693f80], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4907eb
cmp dword [0x693b44], 4
jle 0x490874
cmp bx, 0x4000
jbe 0x4908a4
cmp bx, 0x8000
jbe 0x490880
cmp bx, 0xc000
jbe 0x4908a4
test byte [0x693f68], 1
je 0x4908a4
jmp 0x490880
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4908a4
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x490918
mov dword [esp], 4
call fcn.00416240
push edx
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x49095a
cmp eax, 0x3fff
jle 0x49098a
cmp eax, 0x7fff
jle 0x490966
cmp eax, 0xbfff
jle 0x49098a
test byte [0x693f68], 1
je 0x49098a
jmp 0x490966
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4908b9
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x49098a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4909e5
mov dword [esp], 1
call fcn.00416240
push eax
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x490a27
cmp ax, 0x3fff
jbe 0x490a57
test ax, ax
jns 0x490a33
cmp ax, 0xbfff
jbe 0x490a57
test byte [0x693f68], 1
je 0x490a57
jmp 0x490a33
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49099f
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x490a57
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x490ace
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, byte [0x693f81]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push ebp
push ebp
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x490b10
cmp ax, 0x3fff
jbe 0x490b40
test ax, ax
jns 0x490b1c
cmp ax, 0xbfff
jbe 0x490b40
test byte [0x693f68], 1
je 0x490b40
jmp 0x490b1c
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x490a6c
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x490b40
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x490b9c
mov dword [esp], 3
call fcn.00416240
push edx
movzx eax, word [0x693f80]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push ecx
push ecx
mov word [0x693f80], 0
mov word [0x69407c], 0
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x490b55
cmp dword [0x693b44], 4
jle 0x490c07
cmp bx, 0x4000
jbe 0x490c37
cmp bx, 0x8000
jbe 0x490c13
cmp bx, 0xc000
jbe 0x490c37
test byte [0x693f68], 1
je 0x490c37
jmp 0x490c13
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x490c37
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x490cab
mov dword [esp], 4
call fcn.00416240
push eax
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x490ced
cmp eax, 0x3fff
jle 0x490d1d
cmp eax, 0x7fff
jle 0x490cf9
cmp eax, 0xbfff
jle 0x490d1d
test byte [0x693f68], 1
je 0x490d1d
jmp 0x490cf9
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x490c4c
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x490d1d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x490d78
mov dword [esp], 1
call fcn.00416240
push ebp
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x490dba
cmp ax, 0x3fff
jbe 0x490dea
test ax, ax
jns 0x490dc6
cmp ax, 0xbfff
jbe 0x490dea
test byte [0x693f68], 1
je 0x490dea
jmp 0x490dc6
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x490d32
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x490dea
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x490e61
mov dword [esp], 3
call fcn.00416240
push ecx
movzx eax, byte [0x693f81]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push ebx
push ebx
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x490ea3
cmp ax, 0x3fff
jbe 0x490ed3
test ax, ax
jns 0x490eaf
cmp ax, 0xbfff
jbe 0x490ed3
test byte [0x693f68], 1
je 0x490ed3
jmp 0x490eaf
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x490dff
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x490ed3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x490f2f
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
mov word [0x693f80], 8
mov word [0x69407c], 8
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x490ee8
cmp dword [0x693b44], 4
jle 0x490f9a
cmp bx, 0x4000
jbe 0x490fca
cmp bx, 0x8000
jbe 0x490fa6
cmp bx, 0xc000
jbe 0x490fca
test byte [0x693f68], 1
je 0x490fca
jmp 0x490fa6
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x490fca
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49103e
mov dword [esp], 4
call fcn.00416240
push ebp
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x491080
cmp eax, 0x3fff
jle 0x4910b0
cmp eax, 0x7fff
jle 0x49108c
cmp eax, 0xbfff
jle 0x4910b0
test byte [0x693f68], 1
je 0x4910b0
jmp 0x49108c
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x490fdf
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4910b0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49110b
mov dword [esp], 1
call fcn.00416240
push ebx
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x49114d
cmp ax, 0x3fff
jbe 0x49117d
test ax, ax
jns 0x491159
cmp ax, 0xbfff
jbe 0x49117d
test byte [0x693f68], 1
je 0x49117d
jmp 0x491159
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4910c5
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x49117d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4911f4
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f81]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x491236
cmp ax, 0x3fff
jbe 0x491266
test ax, ax
jns 0x491242
cmp ax, 0xbfff
jbe 0x491266
test byte [0x693f68], 1
je 0x491266
jmp 0x491242
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x491192
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x491266
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4912c2
mov dword [esp], 3
call fcn.00416240
push ebp
movzx eax, word [0x693f80]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
mov word [0x693f80], 0x10
mov word [0x69407c], 0x10
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49127b
cmp dword [0x693b44], 4
jle 0x49132d
cmp bx, 0x4000
jbe 0x49135d
cmp bx, 0x8000
jbe 0x491339
cmp bx, 0xc000
jbe 0x49135d
test byte [0x693f68], 1
je 0x49135d
jmp 0x491339
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x49135d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4913d1
mov dword [esp], 4
call fcn.00416240
push ebx
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x491413
cmp eax, 0x3fff
jle 0x491443
cmp eax, 0x7fff
jle 0x49141f
cmp eax, 0xbfff
jle 0x491443
test byte [0x693f68], 1
je 0x491443
jmp 0x49141f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x491372
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x491443
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49149e
mov dword [esp], 1
call fcn.00416240
push eax
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x4914e0
cmp ax, 0x3fff
jbe 0x491510
test ax, ax
jns 0x4914ec
cmp ax, 0xbfff
jbe 0x491510
test byte [0x693f68], 1
je 0x491510
jmp 0x4914ec
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x491458
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x491510
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x491587
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f81]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x4915c9
cmp ax, 0x3fff
jbe 0x4915f9
test ax, ax
jns 0x4915d5
cmp ax, 0xbfff
jbe 0x4915f9
test byte [0x693f68], 1
je 0x4915f9
jmp 0x4915d5
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x491525
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x4915f9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x491655
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693f80]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push esi
push esi
mov word [0x693f80], 0x18
mov word [0x69407c], 0x18
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49160e
cmp dword [0x693b44], 4
jle 0x4916c0
cmp bx, 0x4000
jbe 0x4916f0
cmp bx, 0x8000
jbe 0x4916cc
cmp bx, 0xc000
jbe 0x4916f0
test byte [0x693f68], 1
je 0x4916f0
jmp 0x4916cc
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4916f0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x491764
mov dword [esp], 4
call fcn.00416240
push eax
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x4917a6
cmp eax, 0x3fff
jle 0x4917d6
cmp eax, 0x7fff
jle 0x4917b2
cmp eax, 0xbfff
jle 0x4917d6
test byte [0x693f68], 1
je 0x4917d6
jmp 0x4917b2
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x491705
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4917d6
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x491831
mov dword [esp], 1
call fcn.00416240
push eax
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x491873
cmp ax, 0x3fff
jbe 0x4918a3
test ax, ax
jns 0x49187f
cmp ax, 0xbfff
jbe 0x4918a3
test byte [0x693f68], 1
je 0x4918a3
jmp 0x49187f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4917eb
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x4918a3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49191a
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, byte [0x693f81]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push edi
push edi
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x49195c
cmp ax, 0x3fff
jbe 0x49198c
test ax, ax
jns 0x491968
cmp ax, 0xbfff
jbe 0x49198c
test byte [0x693f68], 1
je 0x49198c
jmp 0x491968
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4918b8
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x49198c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4919e8
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push edx
push edx
mov word [0x693f80], 0x20
mov word [0x69407c], 0x20
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4919a1
cmp dword [0x693b44], 4
jle 0x491a53
cmp bx, 0x4000
jbe 0x491a83
cmp bx, 0x8000
jbe 0x491a5f
cmp bx, 0xc000
jbe 0x491a83
test byte [0x693f68], 1
je 0x491a83
jmp 0x491a5f
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x491a83
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x491af7
mov dword [esp], 4
call fcn.00416240
push eax
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x491b39
cmp eax, 0x3fff
jle 0x491b69
cmp eax, 0x7fff
jle 0x491b45
cmp eax, 0xbfff
jle 0x491b69
test byte [0x693f68], 1
je 0x491b69
jmp 0x491b45
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x491a98
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x491b69
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x491bc4
mov dword [esp], 1
call fcn.00416240
push edi
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x491c06
cmp ax, 0x3fff
jbe 0x491c36
test ax, ax
jns 0x491c12
cmp ax, 0xbfff
jbe 0x491c36
test byte [0x693f68], 1
je 0x491c36
jmp 0x491c12
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x491b7e
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x491c36
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x491cad
mov dword [esp], 3
call fcn.00416240
push edx
movzx eax, byte [0x693f81]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push ecx
push ecx
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x491cef
cmp ax, 0x3fff
jbe 0x491d1f
test ax, ax
jns 0x491cfb
cmp ax, 0xbfff
jbe 0x491d1f
test byte [0x693f68], 1
je 0x491d1f
jmp 0x491cfb
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x491c4b
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x491d1f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x491d7b
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
mov word [0x693f80], 0x28
mov word [0x69407c], 0x28
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x491d34
cmp dword [0x693b44], 4
jle 0x491de6
cmp bx, 0x4000
jbe 0x491e16
cmp bx, 0x8000
jbe 0x491df2
cmp bx, 0xc000
jbe 0x491e16
test byte [0x693f68], 1
je 0x491e16
jmp 0x491df2
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x491e16
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x491e8a
mov dword [esp], 4
call fcn.00416240
push edi
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x491ecc
cmp eax, 0x3fff
jle 0x491efc
cmp eax, 0x7fff
jle 0x491ed8
cmp eax, 0xbfff
jle 0x491efc
test byte [0x693f68], 1
je 0x491efc
jmp 0x491ed8
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x491e2b
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x491efc
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x491f57
mov dword [esp], 1
call fcn.00416240
push ecx
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x491f99
cmp ax, 0x3fff
jbe 0x491fc9
test ax, ax
jns 0x491fa5
cmp ax, 0xbfff
jbe 0x491fc9
test byte [0x693f68], 1
je 0x491fc9
jmp 0x491fa5
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x491f11
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x491fc9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x492040
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f81]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x492082
cmp ax, 0x3fff
jbe 0x4920b2
test ax, ax
jns 0x49208e
cmp ax, 0xbfff
jbe 0x4920b2
test byte [0x693f68], 1
je 0x4920b2
jmp 0x49208e
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x491fde
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x4920b2
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49210e
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693f80]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push ebp
push ebp
mov word [0x693f80], 0x30
mov word [0x69407c], 0x30
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4920c7
cmp dword [0x693b44], 4
jle 0x492179
cmp bx, 0x4000
jbe 0x4921a9
cmp bx, 0x8000
jbe 0x492185
cmp bx, 0xc000
jbe 0x4921a9
test byte [0x693f68], 1
je 0x4921a9
jmp 0x492185
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4921a9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49221d
mov dword [esp], 4
call fcn.00416240
push ecx
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x49225f
cmp eax, 0x3fff
jle 0x49228f
cmp eax, 0x7fff
jle 0x49226b
cmp eax, 0xbfff
jle 0x49228f
test byte [0x693f68], 1
je 0x49228f
jmp 0x49226b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4921be
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x49228f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4922ea
mov dword [esp], 1
call fcn.00416240
push eax
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x49232c
cmp ax, 0x3fff
jbe 0x49235c
test ax, ax
jns 0x492338
cmp ax, 0xbfff
jbe 0x49235c
test byte [0x693f68], 1
je 0x49235c
jmp 0x492338
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4922a4
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x49235c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4923d3
mov dword [esp], 3
call fcn.00416240
push ebp
movzx eax, byte [0x693f81]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x492415
cmp ax, 0x3fff
jbe 0x492445
test ax, ax
jns 0x492421
cmp ax, 0xbfff
jbe 0x492445
test byte [0x693f68], 1
je 0x492445
jmp 0x492421
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x492371
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x492445
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4924a1
mov dword [esp], 3
call fcn.00416240
push ecx
movzx eax, word [0x693f80]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
push ebx
push ebx
mov word [0x693f80], 0x38
mov word [0x69407c], 0x38
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49245a
movzx eax, bx
mov dword [esp], eax
call fcn.004010a0
push edx
movzx edx, byte [0x693f2a]
shl edx, 8
or eax, edx
mov word [0x69407c], ax
cmp dword [0x693c18], 0
jne 0x49254a
cmp dword [0x693fc4], 0
je 0x492521
cmp al, 0xfe
jne 0x492521
mov dword [0x693bf0], 0x1a93
cmp dword [0x693b44], 4
jle 0x492570
cmp bx, 0x4000
jbe 0x4925a0
cmp bx, 0x8000
jbe 0x49257c
cmp bx, 0xc000
jbe 0x4925a0
test byte [0x693f68], 1
je 0x4925a0
jmp 0x49257c
cmp dword [0x693fa8], 1
je 0x492565
cmp dword [0x693d54], 1
je 0x492565
cmp dword [0x693b28], 1
jne 0x492521
movzx eax, al
cmp ax, 0xff
jne 0x492521
jmp 0x492517
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4925a0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4925f2
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x492631
cmp ax, 0x3fff
jbe 0x49265f
test ax, ax
jns 0x49263b
cmp ax, 0xbfff
jbe 0x49265f
test byte [0x693f68], 1
je 0x49265f
jmp 0x49263b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4925b5
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49265f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4926eb
mov dword [esp], 3
call fcn.00416240
push edi
add word [0x693f80], 1
movzx eax, word [0x69407c]
movzx edx, al
mov dword [0x694054], edx
mov edx, eax
shr dx, 8
movzx edx, dx
mov dword [0x694058], edx
mov edx, dword [0x693b44]
test al, 1
jne 0x49272d
cmp edx, 1
je 0x49291b
lea ecx, [edx - 2]
cmp ecx, 2
ja 0x492947
sub ax, 0x4000
cmp ax, 0x3fff
jbe 0x4927e3
mov dword [0x693c3c], 1
mov dword [esp], 1
jmp 0x4927fc
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x492674
cmp edx, 4
jle 0x4927d5
cmp edx, 5
je 0x4928d2
cmp edx, 6
jne 0x49288b
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push edx
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push ecx
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push ebx
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x49288b
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4928f4
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
movzx eax, byte [0x693f2a]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.00443bf0
push ecx
push ecx
movzx eax, word [0x69407c]
add eax, 1
movzx eax, al
movzx edx, byte [0x693f2a]
shl edx, 8
add eax, edx
mov word [0x69407c], ax
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
cmp ax, 0x3fff
jbe 0x4928f4
test ax, ax
jns 0x4927e3
cmp ax, 0xbfff
jbe 0x4928f4
test byte [0x693f68], 1
jne 0x4927e3
mov dword [0x693c3c], 4
mov dword [esp], 4
call fcn.00416240
push esi
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x49288b
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4929ea
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
jmp 0x4929fb
cmp edx, 5
jne 0x49273f
cmp ax, 0x3fff
jbe 0x4929ea
test ax, ax
js 0x4929d7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 3
mov dword [esp], 3
call fcn.00416240
push edi
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x49288b
cmp ax, 0xbfff
jbe 0x4929ea
test byte [0x693f68], 1
jne 0x49295f
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 3
jmp 0x492872
movzx eax, bx
mov dword [esp], eax
call fcn.004010a0
push edx
movzx edx, byte [0x693f2a]
shl edx, 8
or eax, edx
mov word [0x69407c], ax
cmp dword [0x693c30], 0
jne 0x492a5c
cmp dword [0x693cc0], 0
je 0x492a6e
and al, 0x7f
cmp ax, 0x3f
jne 0x492a6e
jmp 0x492a64
and al, 0x7f
cmp ax, 0x1f
jne 0x492a6e
mov dword [0x693bf0], 0x1a93
cmp dword [0x693b44], 4
jle 0x492a97
cmp bx, 0x4000
jbe 0x492ac7
cmp bx, 0x8000
jbe 0x492aa3
cmp bx, 0xc000
jbe 0x492ac7
test byte [0x693f68], 1
je 0x492ac7
jmp 0x492aa3
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x492ac7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x492b19
mov dword [esp], 4
call fcn.00416240
push ebp
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x492b58
cmp ax, 0x3fff
jbe 0x492b86
test ax, ax
jns 0x492b62
cmp ax, 0xbfff
jbe 0x492b86
test byte [0x693f68], 1
je 0x492b86
jmp 0x492b62
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x492adc
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x492b86
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x492bd9
mov dword [esp], 3
call fcn.00416240
push ecx
add word [0x693f80], 1
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.00445910
push ebx
mov byte [0x693f2a], al
add word [0x69407c], 1
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x492b9b
cmp dword [0x693b44], 4
jle 0x492c41
cmp bx, 0x4000
jbe 0x492c71
cmp bx, 0x8000
jbe 0x492c4d
cmp bx, 0xc000
jbe 0x492c71
test byte [0x693f68], 1
je 0x492c71
jmp 0x492c4d
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x492c71
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x492ca6
mov dword [esp], 4
call fcn.00416240
push eax
mov byte [0x693c74], 0
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x492c86
cmp dword [0x693b44], 4
jle 0x492d0e
cmp bx, 0x4000
jbe 0x492d3e
cmp bx, 0x8000
jbe 0x492d1a
cmp bx, 0xc000
jbe 0x492d3e
test byte [0x693f68], 1
je 0x492d3e
jmp 0x492d1a
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x492d3e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x492d7d
mov dword [esp], 4
call fcn.00416240
push eax
mov byte [0x693c74], 1
mov byte [0x693bee], 1
mov dword [0x693da4], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x492d53
cmp dword [0x693b44], 4
jle 0x492de5
cmp bx, 0x4000
jbe 0x492e15
cmp bx, 0x8000
jbe 0x492df1
cmp bx, 0xc000
jbe 0x492e15
test byte [0x693f68], 1
je 0x492e15
jmp 0x492df1
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x492e15
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x492e75
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, byte [0x693f24]
movzx edx, byte [0x693f11]
mov byte [0x693f24], dl
mov byte [0x693f11], al
movzx eax, byte [0x693f1c]
movzx edx, byte [0x693f01]
mov byte [0x693f1c], dl
mov byte [0x693f01], al
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x492e2a
cmp dword [0x693b44], 4
jle 0x492ee0
cmp bx, 0x4000
jbe 0x492f10
cmp bx, 0x8000
jbe 0x492eec
cmp bx, 0xc000
jbe 0x492f10
test byte [0x693f68], 1
je 0x492f10
jmp 0x492eec
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x492f10
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x492fd8
mov dword [esp], 4
call fcn.00416240
push edx
movzx eax, byte [0x693f26]
movzx edx, byte [0x693ed8]
mov byte [0x693f26], dl
mov byte [0x693ed8], al
movzx eax, byte [0x693f25]
movzx edx, byte [0x693e78]
mov byte [0x693f25], dl
mov byte [0x693e78], al
movzx eax, byte [0x693f24]
movzx edx, byte [0x693e24]
mov byte [0x693f24], dl
mov byte [0x693e24], al
movzx eax, byte [0x693f1c]
movzx edx, byte [0x693dac]
mov byte [0x693f1c], dl
mov byte [0x693dac], al
movzx eax, byte [0x693f11]
movzx edx, byte [0x693c5c]
mov byte [0x693f11], dl
mov byte [0x693c5c], al
movzx eax, byte [0x693f01]
movzx edx, byte [0x693b1c]
mov byte [0x693f01], dl
mov byte [0x693b1c], al
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x492f29
cmp byte [0x693bee], 0
jne 0x493070
cmp byte [0x693bbc], 0
je 0x4935b8
cmp dword [0x693b44], 4
jle 0x49365e
cmp bx, 0x4000
jbe 0x49368e
cmp bx, 0x8000
jbe 0x49366a
cmp bx, 0xc000
jbe 0x49368e
test byte [0x693f68], 1
je 0x49368e
jmp 0x49366a
cmp dword [0x693b44], 4
jle 0x493099
cmp bx, 0x4000
jbe 0x4930c9
cmp bx, 0x8000
jbe 0x4930a5
cmp bx, 0xc000
jbe 0x4930c9
test byte [0x693f68], 1
je 0x4930c9
jmp 0x4930a5
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4930c9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49311b
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693e70]
cmp dword [0x693b44], 4
jle 0x49315a
cmp ax, 0x3fff
jbe 0x493188
test ax, ax
jns 0x493164
cmp ax, 0xbfff
jbe 0x493188
test byte [0x693f68], 1
je 0x493188
jmp 0x493164
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4930de
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x493188
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4931df
mov dword [esp], 3
call fcn.00416240
push ebp
movzx eax, word [0x693e70]
cmp dword [0x693b44], 4
jle 0x493221
cmp ax, 0x3ffe
jbe 0x49324f
cmp ax, 0x7ffe
jbe 0x49322b
add ax, 0x4001
cmp ax, 0x3fff
ja 0x49324f
test byte [0x693f68], 1
je 0x49324f
jmp 0x49322b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49319d
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x49324f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4932a6
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693e70]
cmp dword [0x693b44], 4
jle 0x4932e8
cmp ax, 0x3ffe
jbe 0x493316
cmp ax, 0x7ffe
jbe 0x4932f2
add ax, 0x4001
cmp ax, 0x3fff
ja 0x493316
test byte [0x693f68], 1
je 0x493316
jmp 0x4932f2
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x493264
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x493316
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49336d
mov dword [esp], 1
call fcn.00416240
push eax
movzx eax, word [0x693e70]
cmp dword [0x693b44], 4
jle 0x4933af
cmp ax, 0x3ffe
jbe 0x4933dd
cmp ax, 0x7ffe
jbe 0x4933b9
add ax, 0x4001
cmp ax, 0x3fff
ja 0x4933dd
test byte [0x693f68], 1
je 0x4933dd
jmp 0x4933b9
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49332b
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x4933dd
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49342f
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693e70]
cmp dword [0x693b44], 4
jle 0x49346e
cmp ax, 0x3fff
jbe 0x49349c
test ax, ax
jns 0x493478
cmp ax, 0xbfff
jbe 0x49349c
test byte [0x693f68], 1
je 0x49349c
jmp 0x493478
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4933f2
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49349c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x493576
mov dword [esp], 3
call fcn.00416240
push edx
movzx ebx, word [0x693e70]
mov dword [esp], ebx
call fcn.004010a0
push ecx
mov word [0x693efe], ax
movzx eax, byte [0x693f01]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004015c0
push ebx
push ebx
movzx eax, word [0x693efe]
mov byte [0x693f01], al
movzx ebx, word [0x693e70]
lea eax, [ebx + 1]
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push esi
mov word [0x693efe], ax
movzx eax, byte [0x693f11]
mov dword [esp + 4], eax
movzx eax, bx
add eax, 1
mov dword [esp], eax
call fcn.004015c0
push edi
push edi
movzx edx, word [0x693efe]
mov byte [0x693f11], dl
movzx eax, byte [0x693f01]
shl edx, 8
or eax, edx
mov word [0x69407c], ax
mov dword [esp + 8], 2
mov dword [esp + 4], 1
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4934b5
cmp dword [0x693b44], 4
jg 0x493b7d
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4935f5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x493bb0
mov dword [esp], 4
call fcn.00416240
push ebp
movzx eax, word [0x693e70]
cmp dword [0x693b44], 4
jle 0x493bf2
cmp ax, 0x3fff
jbe 0x493c20
test ax, ax
jns 0x493bfc
cmp ax, 0xbfff
jbe 0x493c20
test byte [0x693f68], 1
je 0x493c20
jmp 0x493bfc
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x49368e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4936e0
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693e70]
cmp dword [0x693b44], 4
jle 0x49371f
cmp ax, 0x3fff
jbe 0x49374d
test ax, ax
jns 0x493729
cmp ax, 0xbfff
jbe 0x49374d
test byte [0x693f68], 1
je 0x49374d
jmp 0x493729
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4936a3
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49374d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4937a4
mov dword [esp], 3
call fcn.00416240
push ebp
movzx eax, word [0x693e70]
cmp dword [0x693b44], 4
jle 0x4937e6
cmp ax, 0x3ffe
jbe 0x493814
cmp ax, 0x7ffe
jbe 0x4937f0
add ax, 0x4001
cmp ax, 0x3fff
ja 0x493814
test byte [0x693f68], 1
je 0x493814
jmp 0x4937f0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x493762
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x493814
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49386b
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693e70]
cmp dword [0x693b44], 4
jle 0x4938ad
cmp ax, 0x3ffe
jbe 0x4938db
cmp ax, 0x7ffe
jbe 0x4938b7
add ax, 0x4001
cmp ax, 0x3fff
ja 0x4938db
test byte [0x693f68], 1
je 0x4938db
jmp 0x4938b7
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x493829
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x4938db
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x493932
mov dword [esp], 1
call fcn.00416240
push eax
movzx eax, word [0x693e70]
cmp dword [0x693b44], 4
jle 0x493974
cmp ax, 0x3ffe
jbe 0x4939a2
cmp ax, 0x7ffe
jbe 0x49397e
add ax, 0x4001
cmp ax, 0x3fff
ja 0x4939a2
test byte [0x693f68], 1
je 0x4939a2
jmp 0x49397e
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4938f0
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x4939a2
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4939f4
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693e70]
cmp dword [0x693b44], 4
jle 0x493a33
cmp ax, 0x3fff
jbe 0x493a61
test ax, ax
jns 0x493a3d
cmp ax, 0xbfff
jbe 0x493a61
test byte [0x693f68], 1
je 0x493a61
jmp 0x493a3d
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4939b7
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x493a61
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x493b3b
mov dword [esp], 3
call fcn.00416240
push eax
movzx ebx, word [0x693e70]
mov dword [esp], ebx
call fcn.004010a0
push edx
mov word [0x693efe], ax
movzx eax, byte [0x693c00]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004015c0
push ecx
push ecx
movzx eax, word [0x693efe]
mov byte [0x693c00], al
movzx ebx, word [0x693e70]
lea eax, [ebx + 1]
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push esi
mov word [0x693efe], ax
movzx eax, byte [0x693c08]
mov dword [esp + 4], eax
movzx eax, bx
add eax, 1
mov dword [esp], eax
call fcn.004015c0
push edi
push edi
movzx edx, word [0x693efe]
mov byte [0x693c08], dl
movzx eax, byte [0x693c00]
shl edx, 8
or eax, edx
mov word [0x69407c], ax
mov dword [esp + 8], 2
mov dword [esp + 4], 1
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x493a7a
cmp bx, 0x4000
jbe 0x4935f5
cmp bx, 0x8000
jbe 0x4935d1
cmp bx, 0xc000
jbe 0x4935f5
test byte [0x693f68], 1
je 0x4935f5
jmp 0x4935d1
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49360e
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x493c20
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x493c77
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693e70]
cmp dword [0x693b44], 4
jle 0x493cb9
cmp ax, 0x3ffe
jbe 0x493ce7
cmp ax, 0x7ffe
jbe 0x493cc3
add ax, 0x4001
cmp ax, 0x3fff
ja 0x493ce7
test byte [0x693f68], 1
je 0x493ce7
jmp 0x493cc3
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x493c35
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x493ce7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x493d3e
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693e70]
cmp dword [0x693b44], 4
jle 0x493d80
cmp ax, 0x3ffe
jbe 0x493dae
cmp ax, 0x7ffe
jbe 0x493d8a
add ax, 0x4001
cmp ax, 0x3fff
ja 0x493dae
test byte [0x693f68], 1
je 0x493dae
jmp 0x493d8a
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x493cfc
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x493dae
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x493e05
mov dword [esp], 1
call fcn.00416240
push eax
movzx eax, word [0x693e70]
cmp dword [0x693b44], 4
jle 0x493e47
cmp ax, 0x3ffe
jbe 0x493e75
cmp ax, 0x7ffe
jbe 0x493e51
add ax, 0x4001
cmp ax, 0x3fff
ja 0x493e75
test byte [0x693f68], 1
je 0x493e75
jmp 0x493e51
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x493dc3
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x493e75
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x493ec7
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693e70]
cmp dword [0x693b44], 4
jle 0x493f06
cmp ax, 0x3fff
jbe 0x493f34
test ax, ax
jns 0x493f10
cmp ax, 0xbfff
jbe 0x493f34
test byte [0x693f68], 1
je 0x493f34
jmp 0x493f10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x493e8a
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x493f34
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49400e
mov dword [esp], 3
call fcn.00416240
push edi
movzx ebx, word [0x693e70]
mov dword [esp], ebx
call fcn.004010a0
push ebp
mov word [0x693efe], ax
movzx eax, byte [0x693c5d]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004015c0
push eax
push eax
movzx eax, word [0x693efe]
mov byte [0x693c5d], al
movzx ebx, word [0x693e70]
lea eax, [ebx + 1]
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push edx
mov word [0x693efe], ax
movzx eax, byte [0x693c5e]
mov dword [esp + 4], eax
movzx eax, bx
add eax, 1
mov dword [esp], eax
call fcn.004015c0
push ecx
push ecx
movzx edx, word [0x693efe]
mov byte [0x693c5e], dl
movzx eax, byte [0x693c5d]
shl edx, 8
or eax, edx
mov word [0x69407c], ax
mov dword [esp + 8], 2
mov dword [esp + 4], 1
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x493f4d
cmp byte [0x693bee], 0
jne 0x4940a6
cmp byte [0x693bbc], 0
je 0x494180
cmp dword [0x693b44], 4
jle 0x49420a
cmp bx, 0x4000
jbe 0x49423a
cmp bx, 0x8000
jbe 0x494216
cmp bx, 0xc000
jbe 0x49423a
test byte [0x693f68], 1
je 0x49423a
jmp 0x494216
cmp dword [0x693b44], 4
jle 0x4940cf
cmp bx, 0x4000
jbe 0x4940ff
cmp bx, 0x8000
jbe 0x4940db
cmp bx, 0xc000
jbe 0x4940ff
test byte [0x693f68], 1
je 0x4940ff
jmp 0x4940db
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4940ff
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x494141
mov dword [esp], 4
call fcn.00416240
push ecx
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693f80], ax
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x494114
cmp dword [0x693b44], 4
jg 0x4942c2
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4941bd
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4942f5
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693c5e]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693c5d]
or eax, edx
mov word [0x693f80], ax
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x49423a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x494283
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693c08]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693c00]
or eax, edx
mov word [0x693f80], ax
mov byte [0x693bee], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49424f
cmp bx, 0x4000
jbe 0x4941bd
cmp bx, 0x8000
jbe 0x494199
cmp bx, 0xc000
jbe 0x4941bd
test byte [0x693f68], 1
je 0x4941bd
jmp 0x494199
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4941d6
cmp dword [0x693b44], 4
jle 0x494360
cmp bx, 0x4000
jbe 0x494390
cmp bx, 0x8000
jbe 0x49436c
cmp bx, 0xc000
jbe 0x494390
test byte [0x693f68], 1
je 0x494390
jmp 0x49436c
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x494390
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49442c
mov dword [esp], 4
call fcn.00416240
push esi
mov dword [esp + 8], 2
mov dword [esp + 4], 1
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
cmp byte [0x693bee], 0
jne 0x49446e
cmp byte [0x693bbc], 0
je 0x49448e
movzx eax, byte [0x693c08]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693c00]
or eax, edx
mov word [0x693e70], ax
jmp 0x482d10
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4943a9
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693e70], ax
jmp 0x482d10
movzx eax, byte [0x693c5e]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693c5d]
or eax, edx
mov word [0x693e70], ax
jmp 0x482d10
cmp dword [0x693b44], 4
jle 0x4944d7
cmp bx, 0x4000
jbe 0x494507
cmp bx, 0x8000
jbe 0x4944e3
cmp bx, 0xc000
jbe 0x494507
test byte [0x693f68], 1
je 0x494507
jmp 0x4944e3
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x494507
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49453c
mov dword [esp], 4
call fcn.00416240
push edx
mov byte [0x693bbc], 0
mov byte [0x693bee], 0
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49451c
cmp dword [0x693b44], 4
jle 0x4945a4
cmp bx, 0x4000
jbe 0x4945d4
cmp bx, 0x8000
jbe 0x4945b0
cmp bx, 0xc000
jbe 0x4945d4
test byte [0x693f68], 1
je 0x4945d4
jmp 0x4945b0
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4945d4
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x494609
mov dword [esp], 4
call fcn.00416240
push eax
mov byte [0x693bbc], 1
mov byte [0x693bee], 0
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4945e9
cmp byte [0x693bee], 0
jne 0x4946fb
cmp dword [0x693b44], 4
jg 0x49d6bf
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x494692
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49d6f2
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x49d734
cmp ax, 0x3fff
jbe 0x49d762
test ax, ax
jns 0x49d73e
cmp ax, 0xbfff
jbe 0x49d762
test byte [0x693f68], 1
je 0x49d762
jmp 0x49d73e
lea eax, [ebp + 2]
mov byte [0x693f00], al
lea eax, [edi + 2]
mov dword [0x693d0c], eax
lea eax, [esi + 2]
mov word [0x693f80], ax
cmp dword [0x693b44], 4
jle 0x49473a
cmp ax, 0x4001
jbe 0x49476a
cmp ax, 0x8001
jbe 0x494746
cmp ax, 0xc001
jbe 0x49476a
test byte [0x693f68], 1
je 0x49476a
jmp 0x494746
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x49476a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4947bd
mov dword [esp], 4
call fcn.00416240
push ebp
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4947fc
cmp ax, 0x4000
jbe 0x49482a
cmp ax, 0x8000
jbe 0x494806
cmp ax, 0xc000
jbe 0x49482a
test byte [0x693f68], 1
je 0x49482a
jmp 0x494806
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49477f
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x49482a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49487b
mov dword [esp], 4
call fcn.00416240
push ecx
movzx eax, word [0x693f80]
sub eax, 1
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ebx
test eax, eax
je 0x4948ba
sub eax, 1
cmp eax, 0xfe
ja case.0x4be7fa.0
jmp dword [eax*4 + 0x61a030]
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49483f
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, byte [0x693f26]
mov edx, ecx
shr dl, 7
movzx eax, dl
mov dword [0x693da0], eax
lea eax, [edx + ecx*2]
mov byte [0x693f26], al
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, ecx
xor edx, 1
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push edx
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, byte [0x693f25]
mov edx, ecx
shr dl, 7
movzx eax, dl
mov dword [0x693da0], eax
lea eax, [edx + ecx*2]
mov byte [0x693f25], al
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, ecx
xor edx, 1
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, byte [0x693f24]
mov edx, ecx
shr dl, 7
movzx eax, dl
mov dword [0x693da0], eax
lea eax, [edx + ecx*2]
mov byte [0x693f24], al
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, ecx
xor edx, 1
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, byte [0x693f1c]
mov edx, ecx
shr dl, 7
movzx eax, dl
mov dword [0x693da0], eax
lea eax, [edx + ecx*2]
mov byte [0x693f1c], al
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, ecx
xor edx, 1
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, byte [0x693f11]
mov edx, ecx
shr dl, 7
movzx eax, dl
mov dword [0x693da0], eax
lea eax, [edx + ecx*2]
mov byte [0x693f11], al
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, ecx
xor edx, 1
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, byte [0x693f01]
mov edx, ecx
shr dl, 7
movzx eax, dl
mov dword [0x693da0], eax
lea eax, [edx + ecx*2]
mov byte [0x693f01], al
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, ecx
xor edx, 1
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x494e5d
cmp ax, 0x3fff
jbe 0x494dfb
test ax, ax
js 0x494e68
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x494e7c
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x494ebe
cmp ax, 0x3fff
jbe 0x494eec
test ax, ax
jns 0x494ec8
cmp ax, 0xbfff
jbe 0x494eec
test byte [0x693f68], 1
je 0x494eec
jmp 0x494ec8
cmp ax, 0x3fff
jle 0x494dfb
jmp 0x494dd7
cmp ax, 0xbfff
jbe 0x494dfb
test byte [0x693f68], 1
je 0x494dfb
jmp 0x494dd7
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x494e10
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x494eec
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x494f76
mov dword [esp], 1
call fcn.00416240
push ebp
movzx esi, word [0x693efe]
mov dword [esp], esi
call fcn.004010a0
push edx
mov ebx, eax
mov word [0x693efc], ax
cmp esi, dword [0x693fe0]
jne 0x494f38
mov dword [0x693bf0], 0x1a90
call fcn.00401000
mov dword [0x693f18], eax
mov eax, ebx
shr ax, 7
mov edx, eax
and edx, 1
and eax, 1
mov dword [0x693da0], eax
lea eax, [ebx + ebx]
and ax, 0xfe
add eax, edx
mov word [0x693efc], ax
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, 1
jmp 0x49789b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x494f01
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49893e
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, byte [0x693f2a]
mov edx, ecx
shr dl, 7
movzx eax, dl
mov dword [0x693da0], eax
lea eax, [edx + ecx*2]
mov byte [0x693f2a], al
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, ecx
xor edx, 1
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push ecx
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
movzx eax, byte [0x693f26]
mov ecx, eax
and ecx, 1
mov edx, eax
and edx, 1
mov dword [0x693da8], edx
ror al, 1
mov byte [0x693f26], al
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
xor edx, 1
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push edx
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
movzx eax, byte [0x693f25]
mov ecx, eax
and ecx, 1
mov edx, eax
and edx, 1
mov dword [0x693da8], edx
ror al, 1
mov byte [0x693f25], al
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
xor edx, 1
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
movzx eax, byte [0x693f24]
mov ecx, eax
and ecx, 1
mov edx, eax
and edx, 1
mov dword [0x693da8], edx
ror al, 1
mov byte [0x693f24], al
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
xor edx, 1
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
movzx eax, byte [0x693f1c]
mov ecx, eax
and ecx, 1
mov edx, eax
and edx, 1
mov dword [0x693da8], edx
ror al, 1
mov byte [0x693f1c], al
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
xor edx, 1
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
movzx eax, byte [0x693f11]
mov ecx, eax
and ecx, 1
mov edx, eax
and edx, 1
mov dword [0x693da8], edx
ror al, 1
mov byte [0x693f11], al
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
xor edx, 1
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
movzx eax, byte [0x693f01]
mov ecx, eax
and ecx, 1
mov edx, eax
and edx, 1
mov dword [0x693da8], edx
ror al, 1
mov byte [0x693f01], al
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
xor edx, 1
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x49567a
cmp ax, 0x3fff
jbe 0x495618
test ax, ax
js 0x495685
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x495699
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x4956db
cmp ax, 0x3fff
jbe 0x495709
test ax, ax
jns 0x4956e5
cmp ax, 0xbfff
jbe 0x495709
test byte [0x693f68], 1
je 0x495709
jmp 0x4956e5
cmp ax, 0x3fff
jle 0x495618
jmp 0x4955f4
cmp ax, 0xbfff
jbe 0x495618
test byte [0x693f68], 1
je 0x495618
jmp 0x4955f4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49562d
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x495709
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x495797
mov dword [esp], 1
call fcn.00416240
push eax
movzx esi, word [0x693efe]
mov dword [esp], esi
call fcn.004010a0
push edx
mov ebx, eax
mov word [0x693efc], ax
cmp esi, dword [0x693fe0]
jne 0x495755
mov dword [0x693bf0], 0x1a90
call fcn.00401000
mov dword [0x693f18], eax
mov edx, ebx
and edx, 1
mov eax, ebx
and eax, 1
mov dword [0x693da8], eax
mov eax, ebx
shr ax, 1
and eax, 0x7f
mov ecx, eax
mov eax, edx
shl eax, 7
add eax, ecx
mov word [0x693efc], ax
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, 1
jmp 0x49789b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49571e
call fcn.00401000
mov dword [0x693f18], eax
movzx eax, byte [0x693f2a]
mov ecx, eax
and ecx, 1
mov edx, eax
and edx, 1
mov dword [0x693da8], edx
ror al, 1
mov byte [0x693f2a], al
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
xor edx, 1
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push ebp
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov ecx, eax
and ecx, 1
and eax, 1
mov dword [0x693b6c], eax
movzx ebx, byte [0x693f26]
mov edx, ebx
shr dl, 7
movzx eax, dl
mov dword [0x693da0], eax
lea eax, [ecx + ebx*2]
mov byte [0x693f26], al
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, ecx
xor edx, 1
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push edi
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov ecx, eax
and ecx, 1
and eax, 1
mov dword [0x693b6c], eax
movzx ebx, byte [0x693f25]
mov edx, ebx
shr dl, 7
movzx eax, dl
mov dword [0x693da0], eax
lea eax, [ecx + ebx*2]
mov byte [0x693f25], al
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, ecx
xor edx, 1
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push esi
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov ecx, eax
and ecx, 1
and eax, 1
mov dword [0x693b6c], eax
movzx ebx, byte [0x693f24]
mov edx, ebx
shr dl, 7
movzx eax, dl
mov dword [0x693da0], eax
lea eax, [ecx + ebx*2]
mov byte [0x693f24], al
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, ecx
xor edx, 1
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push ebx
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov ecx, eax
and ecx, 1
and eax, 1
mov dword [0x693b6c], eax
movzx ebx, byte [0x693f1c]
mov edx, ebx
shr dl, 7
movzx eax, dl
mov dword [0x693da0], eax
lea eax, [ecx + ebx*2]
mov byte [0x693f1c], al
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, ecx
xor edx, 1
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push ecx
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov ecx, eax
and ecx, 1
and eax, 1
mov dword [0x693b6c], eax
movzx ebx, byte [0x693f11]
mov edx, ebx
shr dl, 7
movzx eax, dl
mov dword [0x693da0], eax
lea eax, [ecx + ebx*2]
mov byte [0x693f11], al
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, ecx
xor edx, 1
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push edx
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov ecx, eax
and ecx, 1
and eax, 1
mov dword [0x693b6c], eax
movzx ebx, byte [0x693f01]
mov edx, ebx
shr dl, 7
movzx eax, dl
mov dword [0x693da0], eax
lea eax, [ecx + ebx*2]
mov byte [0x693f01], al
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, ecx
xor edx, 1
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x495ebb
cmp ax, 0x3fff
jbe 0x495e59
test ax, ax
js 0x495ec6
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x495eda
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x495f1c
cmp ax, 0x3fff
jbe 0x495f4a
test ax, ax
jns 0x495f26
cmp ax, 0xbfff
jbe 0x495f4a
test byte [0x693f68], 1
je 0x495f4a
jmp 0x495f26
cmp ax, 0x3fff
jle 0x495e59
jmp 0x495e35
cmp ax, 0xbfff
jbe 0x495e59
test byte [0x693f68], 1
je 0x495e59
jmp 0x495e35
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x495e6e
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x495f4a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x495fd9
mov dword [esp], 1
call fcn.00416240
push ebx
movzx esi, word [0x693efe]
mov dword [esp], esi
call fcn.004010a0
push edi
mov ebx, eax
mov word [0x693efc], ax
cmp esi, dword [0x693fe0]
jne 0x495f96
mov dword [0x693bf0], 0x1a90
call fcn.00401000
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov edx, eax
and edx, 1
mov dword [0x693b6c], edx
mov edx, ebx
shr dx, 7
mov ecx, edx
and ecx, 1
mov dword [0x693da0], ecx
lea ecx, [ebx + ebx]
and cx, 0xfe
and eax, 1
add eax, ecx
mov word [0x693efc], ax
jmp 0x49788a
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x495f5f
call fcn.00401000
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov ecx, eax
and ecx, 1
and eax, 1
mov dword [0x693b6c], eax
movzx ebx, byte [0x693f2a]
mov edx, ebx
shr dl, 7
movzx eax, dl
mov dword [0x693da0], eax
lea eax, [ecx + ebx*2]
mov byte [0x693f2a], al
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, ecx
xor edx, 1
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push ecx
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
mov edx, dword [0x693f18]
mov eax, edx
and eax, 1
mov dword [0x693b6c], eax
movzx eax, byte [0x693f26]
mov ebx, eax
and ebx, 1
mov ecx, eax
and ecx, 1
mov dword [0x693da8], ecx
shr al, 1
mov ecx, eax
mov eax, edx
shl eax, 7
add eax, ecx
mov byte [0x693f26], al
movzx edx, byte [0x693f18]
and edx, 0xfffffffe
or edx, ebx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push edx
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
mov edx, dword [0x693f18]
mov eax, edx
and eax, 1
mov dword [0x693b6c], eax
movzx eax, byte [0x693f25]
mov ebx, eax
and ebx, 1
mov ecx, eax
and ecx, 1
mov dword [0x693da8], ecx
shr al, 1
mov ecx, eax
mov eax, edx
shl eax, 7
add eax, ecx
mov byte [0x693f25], al
movzx edx, byte [0x693f18]
and edx, 0xfffffffe
or edx, ebx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
mov edx, dword [0x693f18]
mov eax, edx
and eax, 1
mov dword [0x693b6c], eax
movzx eax, byte [0x693f24]
mov ebx, eax
and ebx, 1
mov ecx, eax
and ecx, 1
mov dword [0x693da8], ecx
shr al, 1
mov ecx, eax
mov eax, edx
shl eax, 7
add eax, ecx
mov byte [0x693f24], al
movzx edx, byte [0x693f18]
and edx, 0xfffffffe
or edx, ebx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
mov edx, dword [0x693f18]
mov eax, edx
and eax, 1
mov dword [0x693b6c], eax
movzx eax, byte [0x693f1c]
mov ebx, eax
and ebx, 1
mov ecx, eax
and ecx, 1
mov dword [0x693da8], ecx
shr al, 1
mov ecx, eax
mov eax, edx
shl eax, 7
add eax, ecx
mov byte [0x693f1c], al
movzx edx, byte [0x693f18]
and edx, 0xfffffffe
or edx, ebx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
mov edx, dword [0x693f18]
mov eax, edx
and eax, 1
mov dword [0x693b6c], eax
movzx eax, byte [0x693f11]
mov ebx, eax
and ebx, 1
mov ecx, eax
and ecx, 1
mov dword [0x693da8], ecx
shr al, 1
mov ecx, eax
mov eax, edx
shl eax, 7
add eax, ecx
mov byte [0x693f11], al
movzx edx, byte [0x693f18]
and edx, 0xfffffffe
or edx, ebx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
mov edx, dword [0x693f18]
mov eax, edx
and eax, 1
mov dword [0x693b6c], eax
movzx eax, byte [0x693f01]
mov ebx, eax
and ebx, 1
mov ecx, eax
and ecx, 1
mov dword [0x693da8], ecx
shr al, 1
mov ecx, eax
mov eax, edx
shl eax, 7
add eax, ecx
mov byte [0x693f01], al
movzx edx, byte [0x693f18]
and edx, 0xfffffffe
or edx, ebx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x496731
cmp ax, 0x3fff
jbe 0x4966cf
test ax, ax
js 0x49673c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x496750
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x496792
cmp ax, 0x3fff
jbe 0x4967c0
test ax, ax
jns 0x49679c
cmp ax, 0xbfff
jbe 0x4967c0
test byte [0x693f68], 1
je 0x4967c0
jmp 0x49679c
cmp ax, 0x3fff
jle 0x4966cf
jmp 0x4966ab
cmp ax, 0xbfff
jbe 0x4966cf
test byte [0x693f68], 1
je 0x4966cf
jmp 0x4966ab
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4966e4
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4967c0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49684e
mov dword [esp], 1
call fcn.00416240
push eax
movzx esi, word [0x693efe]
mov dword [esp], esi
call fcn.004010a0
push edx
mov ebx, eax
mov word [0x693efc], ax
cmp esi, dword [0x693fe0]
jne 0x49680c
mov dword [0x693bf0], 0x1a90
call fcn.00401000
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov edx, eax
and edx, 1
mov dword [0x693b6c], edx
mov edx, ebx
and edx, 1
mov dword [0x693da8], edx
mov edx, ebx
shr dx, 1
and edx, 0x7f
and eax, 1
shl eax, 7
add eax, edx
mov word [0x693efc], ax
mov edx, ebx
jmp 0x49788a
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4967d5
call fcn.00401000
mov dword [0x693f18], eax
mov edx, dword [0x693f18]
mov eax, edx
and eax, 1
mov dword [0x693b6c], eax
movzx eax, byte [0x693f2a]
mov ebx, eax
and ebx, 1
mov ecx, eax
and ecx, 1
mov dword [0x693da8], ecx
shr al, 1
mov ecx, eax
mov eax, edx
shl eax, 7
add eax, ecx
mov byte [0x693f2a], al
movzx edx, byte [0x693f18]
and edx, 0xfffffffe
or edx, ebx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push ebp
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, byte [0x693f26]
mov edx, ecx
shr dl, 7
movzx eax, dl
mov dword [0x693da0], eax
movzx eax, cl
add eax, eax
mov byte [0x693f26], al
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, ecx
xor edx, 1
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push edi
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, byte [0x693f25]
mov edx, ecx
shr dl, 7
movzx eax, dl
mov dword [0x693da0], eax
movzx eax, cl
add eax, eax
mov byte [0x693f25], al
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, ecx
xor edx, 1
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push esi
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, byte [0x693f24]
mov edx, ecx
shr dl, 7
movzx eax, dl
mov dword [0x693da0], eax
movzx eax, cl
add eax, eax
mov byte [0x693f24], al
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, ecx
xor edx, 1
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push ebx
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, byte [0x693f1c]
mov edx, ecx
shr dl, 7
movzx eax, dl
mov dword [0x693da0], eax
movzx eax, cl
add eax, eax
mov byte [0x693f1c], al
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, ecx
xor edx, 1
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push ecx
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, byte [0x693f11]
mov edx, ecx
shr dl, 7
movzx eax, dl
mov dword [0x693da0], eax
movzx eax, cl
add eax, eax
mov byte [0x693f11], al
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, ecx
xor edx, 1
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push edx
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, byte [0x693f01]
mov edx, ecx
shr dl, 7
movzx eax, dl
mov dword [0x693da0], eax
movzx eax, cl
add eax, eax
mov byte [0x693f01], al
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, ecx
xor edx, 1
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x496f28
cmp ax, 0x3fff
jbe 0x496ec6
test ax, ax
js 0x496f33
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x496f47
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x496f89
cmp ax, 0x3fff
jbe 0x496fb7
test ax, ax
jns 0x496f93
cmp ax, 0xbfff
jbe 0x496fb7
test byte [0x693f68], 1
je 0x496fb7
jmp 0x496f93
cmp ax, 0x3fff
jle 0x496ec6
jmp 0x496ea2
cmp ax, 0xbfff
jbe 0x496ec6
test byte [0x693f68], 1
je 0x496ec6
jmp 0x496ea2
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x496edb
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x496fb7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49702f
mov dword [esp], 1
call fcn.00416240
push ebx
movzx esi, word [0x693efe]
mov dword [esp], esi
call fcn.004010a0
push edi
mov ebx, eax
mov word [0x693efc], ax
cmp esi, dword [0x693fe0]
jne 0x497003
mov dword [0x693bf0], 0x1a90
call fcn.00401000
mov dword [0x693f18], eax
mov edx, ebx
shr dx, 7
mov eax, edx
and eax, 1
mov dword [0x693da0], eax
lea eax, [ebx + ebx]
and ax, 0xfe
mov word [0x693efc], ax
jmp 0x49788a
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x496fcc
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, byte [0x693f2a]
mov edx, ecx
shr dl, 7
movzx eax, dl
mov dword [0x693da0], eax
movzx eax, cl
add eax, eax
mov byte [0x693f2a], al
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, ecx
xor edx, 1
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push ecx
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
movzx eax, byte [0x693f26]
mov ebx, eax
and ebx, 1
mov edx, eax
and edx, 1
mov dword [0x693da8], edx
mov edx, eax
shr dl, 7
movzx ecx, dl
mov dword [0x693da0], ecx
shr al, 1
mov ecx, eax
mov eax, edx
shl eax, 7
add eax, ecx
mov byte [0x693f26], al
movzx edx, byte [0x693f18]
and edx, 0xfffffffe
or edx, ebx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push edx
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
movzx eax, byte [0x693f25]
mov ebx, eax
and ebx, 1
mov edx, eax
and edx, 1
mov dword [0x693da8], edx
mov edx, eax
shr dl, 7
movzx ecx, dl
mov dword [0x693da0], ecx
shr al, 1
mov ecx, eax
mov eax, edx
shl eax, 7
add eax, ecx
mov byte [0x693f25], al
movzx edx, byte [0x693f18]
and edx, 0xfffffffe
or edx, ebx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
movzx eax, byte [0x693f24]
mov ebx, eax
and ebx, 1
mov edx, eax
and edx, 1
mov dword [0x693da8], edx
mov edx, eax
shr dl, 7
movzx ecx, dl
mov dword [0x693da0], ecx
shr al, 1
mov ecx, eax
mov eax, edx
shl eax, 7
add eax, ecx
mov byte [0x693f24], al
movzx edx, byte [0x693f18]
and edx, 0xfffffffe
or edx, ebx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
movzx eax, byte [0x693f1c]
mov ebx, eax
and ebx, 1
mov edx, eax
and edx, 1
mov dword [0x693da8], edx
mov edx, eax
shr dl, 7
movzx ecx, dl
mov dword [0x693da0], ecx
shr al, 1
mov ecx, eax
mov eax, edx
shl eax, 7
add eax, ecx
mov byte [0x693f1c], al
movzx edx, byte [0x693f18]
and edx, 0xfffffffe
or edx, ebx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
movzx eax, byte [0x693f11]
mov ebx, eax
and ebx, 1
mov edx, eax
and edx, 1
mov dword [0x693da8], edx
mov edx, eax
shr dl, 7
movzx ecx, dl
mov dword [0x693da0], ecx
shr al, 1
mov ecx, eax
mov eax, edx
shl eax, 7
add eax, ecx
mov byte [0x693f11], al
movzx edx, byte [0x693f18]
and edx, 0xfffffffe
or edx, ebx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
movzx eax, byte [0x693f01]
mov ebx, eax
and ebx, 1
mov edx, eax
and edx, 1
mov dword [0x693da8], edx
mov edx, eax
shr dl, 7
movzx ecx, dl
mov dword [0x693da0], ecx
shr al, 1
mov ecx, eax
mov eax, edx
shl eax, 7
add eax, ecx
mov byte [0x693f01], al
movzx edx, byte [0x693f18]
and edx, 0xfffffffe
or edx, ebx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x49776b
cmp ax, 0x3fff
jbe 0x497709
test ax, ax
js 0x497776
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49778a
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x4977cc
cmp ax, 0x3fff
jbe 0x4977fa
test ax, ax
jns 0x4977d6
cmp ax, 0xbfff
jbe 0x4977fa
test byte [0x693f68], 1
je 0x4977fa
jmp 0x4977d6
cmp ax, 0x3fff
jle 0x497709
jmp 0x4976e5
cmp ax, 0xbfff
jbe 0x497709
test byte [0x693f68], 1
je 0x497709
jmp 0x4976e5
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49771e
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4977fa
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49797e
mov dword [esp], 1
call fcn.00416240
push eax
movzx esi, word [0x693efe]
mov dword [esp], esi
call fcn.004010a0
push edx
mov ebx, eax
mov word [0x693efc], ax
cmp esi, dword [0x693fe0]
jne 0x49784a
mov dword [0x693bf0], 0x1a90
call fcn.00401000
mov dword [0x693f18], eax
mov eax, ebx
and eax, 1
mov dword [0x693da8], eax
mov eax, ebx
shr ax, 7
mov ecx, eax
and ecx, 1
and eax, 1
mov dword [0x693da0], eax
mov eax, ebx
shr ax, 1
and eax, 0x7f
mov edx, eax
mov eax, ecx
shl eax, 7
add eax, edx
mov word [0x693efc], ax
mov edx, ebx
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x4988f7
cmp ax, 0x3fff
jbe 0x498925
test ax, ax
jns 0x498901
cmp ax, 0xbfff
jbe 0x498925
test byte [0x693f68], 1
je 0x498925
jmp 0x498901
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x497813
call fcn.00401000
mov dword [0x693f18], eax
movzx eax, byte [0x693f2a]
mov ebx, eax
and ebx, 1
mov edx, eax
and edx, 1
mov dword [0x693da8], edx
mov edx, eax
shr dl, 7
movzx ecx, dl
mov dword [0x693da0], ecx
shr al, 1
mov ecx, eax
mov eax, edx
shl eax, 7
add eax, ecx
mov byte [0x693f2a], al
movzx edx, byte [0x693f18]
and edx, 0xfffffffe
or edx, ebx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test al, al
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push ebp
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, byte [0x693f26]
mov edx, ecx
shr dl, 7
movzx eax, dl
mov dword [0x693da0], eax
lea eax, [ecx + ecx + 1]
mov byte [0x693f26], al
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, ecx
xor edx, 1
and edx, 0xffffffbf
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push edi
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, byte [0x693f25]
mov edx, ecx
shr dl, 7
movzx eax, dl
mov dword [0x693da0], eax
lea eax, [ecx + ecx + 1]
mov byte [0x693f25], al
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, ecx
xor edx, 1
and edx, 0xffffffbf
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push esi
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, byte [0x693f24]
mov edx, ecx
shr dl, 7
movzx eax, dl
mov dword [0x693da0], eax
lea eax, [ecx + ecx + 1]
mov byte [0x693f24], al
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, ecx
xor edx, 1
and edx, 0xffffffbf
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push ebx
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, byte [0x693f1c]
mov edx, ecx
shr dl, 7
movzx eax, dl
mov dword [0x693da0], eax
lea eax, [ecx + ecx + 1]
mov byte [0x693f1c], al
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, ecx
xor edx, 1
and edx, 0xffffffbf
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push ecx
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, byte [0x693f11]
mov edx, ecx
shr dl, 7
movzx eax, dl
mov dword [0x693da0], eax
lea eax, [ecx + ecx + 1]
mov byte [0x693f11], al
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, ecx
xor edx, 1
and edx, 0xffffffbf
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push edx
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, byte [0x693f01]
mov edx, ecx
shr dl, 7
movzx eax, dl
mov dword [0x693da0], eax
lea eax, [ecx + ecx + 1]
mov byte [0x693f01], al
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, ecx
xor edx, 1
and edx, 0xffffffbf
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x497ffc
cmp ax, 0x3fff
jbe 0x497f9a
test ax, ax
js 0x498007
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49801b
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x49805d
cmp ax, 0x3fff
jbe 0x49808b
test ax, ax
jns 0x498067
cmp ax, 0xbfff
jbe 0x49808b
test byte [0x693f68], 1
je 0x49808b
jmp 0x498067
cmp ax, 0x3fff
jle 0x497f9a
jmp 0x497f76
cmp ax, 0xbfff
jbe 0x497f9a
test byte [0x693f68], 1
je 0x497f9a
jmp 0x497f76
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x497faf
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49808b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49811c
mov dword [esp], 1
call fcn.00416240
push ebx
movzx esi, word [0x693efe]
mov dword [esp], esi
call fcn.004010a0
push edi
mov ebx, eax
mov word [0x693efc], ax
cmp esi, dword [0x693fe0]
jne 0x4980d7
mov dword [0x693bf0], 0x1a90
call fcn.00401000
mov dword [0x693f18], eax
mov edx, ebx
shr dx, 7
mov eax, edx
and eax, 1
mov dword [0x693da0], eax
lea eax, [ebx + ebx]
and ax, 0xfe
or eax, 1
mov word [0x693efc], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
and edx, 0xffffffbf
jmp 0x4978af
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4980a0
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, byte [0x693f2a]
mov edx, ecx
shr dl, 7
movzx eax, dl
mov dword [0x693da0], eax
lea eax, [ecx + ecx + 1]
mov byte [0x693f2a], al
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, ecx
xor edx, 1
and edx, 0xffffffbf
mov byte [0x693f18], dl
movzx ecx, al
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
and ecx, 0xffffff80
add ecx, 0xffffff80
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push ecx
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
movzx eax, byte [0x693f26]
mov ebx, eax
and ebx, 1
mov edx, eax
and edx, 1
mov dword [0x693da8], edx
mov edx, eax
shr dl, 1
mov byte [0x693f26], dl
movzx ecx, byte [0x693f18]
and ecx, 0xfffffffe
or ecx, ebx
mov ebx, ecx
or ebx, 0x40
xor ecx, ecx
test dl, dl
setne cl
shl ecx, 6
xor ecx, ebx
mov byte [0x693f18], cl
movzx edx, dl
mov ebx, dword [0x694108]
movzx edx, byte [ebx + edx]
xor edx, 1
lea ebx, [edx*4]
or ecx, 4
mov edx, ecx
xor edx, ebx
and edx, 0x7f
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 6
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 4
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push edx
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
movzx eax, byte [0x693f25]
mov ebx, eax
and ebx, 1
mov edx, eax
and edx, 1
mov dword [0x693da8], edx
mov edx, eax
shr dl, 1
mov byte [0x693f25], dl
movzx ecx, byte [0x693f18]
and ecx, 0xfffffffe
or ecx, ebx
mov ebx, ecx
or ebx, 0x40
xor ecx, ecx
test dl, dl
setne cl
shl ecx, 6
xor ecx, ebx
mov byte [0x693f18], cl
movzx edx, dl
mov ebx, dword [0x694108]
movzx edx, byte [ebx + edx]
xor edx, 1
lea ebx, [edx*4]
or ecx, 4
mov edx, ecx
xor edx, ebx
and edx, 0x7f
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 6
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 4
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
movzx eax, byte [0x693f24]
mov ebx, eax
and ebx, 1
mov edx, eax
and edx, 1
mov dword [0x693da8], edx
mov edx, eax
shr dl, 1
mov byte [0x693f24], dl
movzx ecx, byte [0x693f18]
and ecx, 0xfffffffe
or ecx, ebx
mov ebx, ecx
or ebx, 0x40
xor ecx, ecx
test dl, dl
setne cl
shl ecx, 6
xor ecx, ebx
mov byte [0x693f18], cl
movzx edx, dl
mov ebx, dword [0x694108]
movzx edx, byte [ebx + edx]
xor edx, 1
lea ebx, [edx*4]
or ecx, 4
mov edx, ecx
xor edx, ebx
and edx, 0x7f
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 6
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 4
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
movzx eax, byte [0x693f1c]
mov ebx, eax
and ebx, 1
mov edx, eax
and edx, 1
mov dword [0x693da8], edx
mov edx, eax
shr dl, 1
mov byte [0x693f1c], dl
movzx ecx, byte [0x693f18]
and ecx, 0xfffffffe
or ecx, ebx
mov ebx, ecx
or ebx, 0x40
xor ecx, ecx
test dl, dl
setne cl
shl ecx, 6
xor ecx, ebx
mov byte [0x693f18], cl
movzx edx, dl
mov ebx, dword [0x694108]
movzx edx, byte [ebx + edx]
xor edx, 1
lea ebx, [edx*4]
or ecx, 4
mov edx, ecx
xor edx, ebx
and edx, 0x7f
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 6
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 4
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
movzx eax, byte [0x693f11]
mov ebx, eax
and ebx, 1
mov edx, eax
and edx, 1
mov dword [0x693da8], edx
mov edx, eax
shr dl, 1
mov byte [0x693f11], dl
movzx ecx, byte [0x693f18]
and ecx, 0xfffffffe
or ecx, ebx
mov ebx, ecx
or ebx, 0x40
xor ecx, ecx
test dl, dl
setne cl
shl ecx, 6
xor ecx, ebx
mov byte [0x693f18], cl
movzx edx, dl
mov ebx, dword [0x694108]
movzx edx, byte [ebx + edx]
xor edx, 1
lea ebx, [edx*4]
or ecx, 4
mov edx, ecx
xor edx, ebx
and edx, 0x7f
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 6
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 4
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
call fcn.00401000
mov dword [0x693f18], eax
movzx eax, byte [0x693f01]
mov ebx, eax
and ebx, 1
mov edx, eax
and edx, 1
mov dword [0x693da8], edx
mov edx, eax
shr dl, 1
mov byte [0x693f01], dl
movzx ecx, byte [0x693f18]
and ecx, 0xfffffffe
or ecx, ebx
mov ebx, ecx
or ebx, 0x40
xor ecx, ecx
test dl, dl
setne cl
shl ecx, 6
xor ecx, ebx
mov byte [0x693f18], cl
movzx edx, dl
mov ebx, dword [0x694108]
movzx edx, byte [ebx + edx]
xor edx, 1
lea ebx, [edx*4]
or ecx, 4
mov edx, ecx
xor edx, ebx
and edx, 0x7f
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 6
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 4
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x4987b9
cmp ax, 0x3fff
jbe 0x498757
test ax, ax
js 0x4987c4
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4987d8
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x49881a
cmp ax, 0x3fff
jbe 0x498848
test ax, ax
jns 0x498824
cmp ax, 0xbfff
jbe 0x498848
test byte [0x693f68], 1
je 0x498848
jmp 0x498824
cmp ax, 0x3fff
jle 0x498757
jmp 0x498733
cmp ax, 0xbfff
jbe 0x498757
test byte [0x693f68], 1
je 0x498757
jmp 0x498733
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49876c
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x498848
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4988b5
mov dword [esp], 1
call fcn.00416240
push eax
movzx esi, word [0x693efe]
mov dword [esp], esi
call fcn.004010a0
push edx
mov ebx, eax
mov word [0x693efc], ax
cmp esi, dword [0x693fe0]
jne 0x498894
mov dword [0x693bf0], 0x1a90
call fcn.00401000
mov dword [0x693f18], eax
mov eax, ebx
and eax, 1
mov dword [0x693da8], eax
mov eax, ebx
shr ax, 1
movzx eax, al
jmp 0x497882
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49885d
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x498925
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x494fb8
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693efc]
mov dword [esp + 4], eax
movzx eax, word [0x693efe]
mov dword [esp], eax
call fcn.004015c0
push esi
push esi
movzx eax, word [0x693efe]
cmp eax, dword [0x693fd4]
jne case.0x4be7fa.0
jmp 0x49abaf
call fcn.00401000
mov dword [0x693f18], eax
movzx eax, byte [0x693f2a]
mov ebx, eax
and ebx, 1
mov edx, eax
and edx, 1
mov dword [0x693da8], edx
mov edx, eax
shr dl, 1
mov byte [0x693f2a], dl
movzx ecx, byte [0x693f18]
and ecx, 0xfffffffe
or ecx, ebx
mov ebx, ecx
or ebx, 0x40
xor ecx, ecx
test dl, dl
setne cl
shl ecx, 6
xor ecx, ebx
mov byte [0x693f18], cl
movzx edx, dl
mov ebx, dword [0x694108]
movzx edx, byte [ebx + edx]
xor edx, 1
lea ebx, [edx*4]
or ecx, 4
mov edx, ecx
xor edx, ebx
and edx, 0x7f
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dl, 6
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr al, 4
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f26]
mov eax, edx
and eax, 1
mov word [0x693d00], ax
and edx, 0x29
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f25]
mov eax, edx
and eax, 1
mov word [0x693d00], ax
and edx, 0x29
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f24]
mov eax, edx
and eax, 1
mov word [0x693d00], ax
and edx, 0x29
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f1c]
mov eax, edx
and eax, 1
mov word [0x693d00], ax
and edx, 0x29
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f11]
mov eax, edx
and eax, 1
mov word [0x693d00], ax
and edx, 0x29
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f01]
mov eax, edx
and eax, 1
mov word [0x693d00], ax
and edx, 0x29
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x498bee
cmp eax, 0x3fff
jle 0x498c1e
cmp eax, 0x7fff
jle 0x498bfa
cmp eax, 0xbfff
jle 0x498c1e
test byte [0x693f68], 1
je 0x498c1e
jmp 0x498bfa
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x498c1e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x498c82
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x498cc4
cmp eax, 0x3fff
jle 0x498cf4
cmp eax, 0x7fff
jle 0x498cd0
cmp eax, 0xbfff
jle 0x498cf4
test byte [0x693f68], 1
je 0x498cf4
jmp 0x498cd0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x498c33
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x498cf4
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x498da8
mov dword [esp], 1
call fcn.00416240
push eax
movzx esi, byte [0x693f01]
movzx eax, byte [0x693f11]
shl eax, 8
mov ebx, eax
mov eax, esi
movzx eax, al
or eax, ebx
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push edx
mov ecx, esi
movzx edx, cl
or edx, ebx
cmp edx, dword [0x693fe0]
jne 0x498d59
mov dword [0x693bf0], 0x1a90
and eax, 1
mov word [0x693efe], ax
movzx edx, byte [0x69407d]
mov ecx, edx
and ecx, 0x28
movzx edx, word [0x693d1c]
xor dl, dl
or edx, ecx
or edx, eax
mov word [0x693d1c], dx
mov word [0x693d00], ax
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x498d0d
movzx edx, byte [0x693f2a]
mov eax, edx
and eax, 1
mov word [0x693d00], ax
and edx, 0x29
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f26]
mov eax, edx
and eax, 2
mov word [0x693d00], ax
and edx, 0x2a
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f25]
mov eax, edx
and eax, 2
mov word [0x693d00], ax
and edx, 0x2a
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f24]
mov eax, edx
and eax, 2
mov word [0x693d00], ax
and edx, 0x2a
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f1c]
mov eax, edx
and eax, 2
mov word [0x693d00], ax
and edx, 0x2a
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f11]
mov eax, edx
and eax, 2
mov word [0x693d00], ax
and edx, 0x2a
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f01]
mov eax, edx
and eax, 2
mov word [0x693d00], ax
and edx, 0x2a
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x498fc5
cmp eax, 0x3fff
jle 0x498ff5
cmp eax, 0x7fff
jle 0x498fd1
cmp eax, 0xbfff
jle 0x498ff5
test byte [0x693f68], 1
je 0x498ff5
jmp 0x498fd1
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x498ff5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x499059
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x49909b
cmp eax, 0x3fff
jle 0x4990cb
cmp eax, 0x7fff
jle 0x4990a7
cmp eax, 0xbfff
jle 0x4990cb
test byte [0x693f68], 1
je 0x4990cb
jmp 0x4990a7
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49900a
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4990cb
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49917f
mov dword [esp], 1
call fcn.00416240
push eax
movzx esi, byte [0x693f01]
movzx eax, byte [0x693f11]
shl eax, 8
mov ebx, eax
mov eax, esi
movzx eax, al
or eax, ebx
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push edx
mov ecx, esi
movzx edx, cl
or edx, ebx
cmp edx, dword [0x693fe0]
jne 0x499130
mov dword [0x693bf0], 0x1a90
and eax, 2
mov word [0x693efe], ax
movzx edx, byte [0x69407d]
mov ecx, edx
and ecx, 0x28
movzx edx, word [0x693d1c]
xor dl, dl
or edx, ecx
or edx, eax
mov word [0x693d1c], dx
mov word [0x693d00], ax
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4990e4
movzx edx, byte [0x693f2a]
mov eax, edx
and eax, 2
mov word [0x693d00], ax
and edx, 0x2a
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f26]
mov eax, edx
and eax, 4
mov word [0x693d00], ax
and edx, 0x2c
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f25]
mov eax, edx
and eax, 4
mov word [0x693d00], ax
and edx, 0x2c
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f24]
mov eax, edx
and eax, 4
mov word [0x693d00], ax
and edx, 0x2c
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f1c]
mov eax, edx
and eax, 4
mov word [0x693d00], ax
and edx, 0x2c
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f11]
mov eax, edx
and eax, 4
mov word [0x693d00], ax
and edx, 0x2c
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f01]
mov eax, edx
and eax, 4
mov word [0x693d00], ax
and edx, 0x2c
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x49939c
cmp eax, 0x3fff
jle 0x4993cc
cmp eax, 0x7fff
jle 0x4993a8
cmp eax, 0xbfff
jle 0x4993cc
test byte [0x693f68], 1
je 0x4993cc
jmp 0x4993a8
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4993cc
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x499430
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x499472
cmp eax, 0x3fff
jle 0x4994a2
cmp eax, 0x7fff
jle 0x49947e
cmp eax, 0xbfff
jle 0x4994a2
test byte [0x693f68], 1
je 0x4994a2
jmp 0x49947e
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4993e1
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4994a2
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x499556
mov dword [esp], 1
call fcn.00416240
push eax
movzx esi, byte [0x693f01]
movzx eax, byte [0x693f11]
shl eax, 8
mov ebx, eax
mov eax, esi
movzx eax, al
or eax, ebx
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push edx
mov ecx, esi
movzx edx, cl
or edx, ebx
cmp edx, dword [0x693fe0]
jne 0x499507
mov dword [0x693bf0], 0x1a90
and eax, 4
mov word [0x693efe], ax
movzx edx, byte [0x69407d]
mov ecx, edx
and ecx, 0x28
movzx edx, word [0x693d1c]
xor dl, dl
or edx, ecx
or edx, eax
mov word [0x693d1c], dx
mov word [0x693d00], ax
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4994bb
movzx edx, byte [0x693f2a]
mov eax, edx
and eax, 4
mov word [0x693d00], ax
and edx, 0x2c
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f26]
mov eax, edx
and eax, 8
mov word [0x693d00], ax
and edx, 0x28
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f25]
mov eax, edx
and eax, 8
mov word [0x693d00], ax
and edx, 0x28
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f24]
mov eax, edx
and eax, 8
mov word [0x693d00], ax
and edx, 0x28
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f1c]
mov eax, edx
and eax, 8
mov word [0x693d00], ax
and edx, 0x28
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f11]
mov eax, edx
and eax, 8
mov word [0x693d00], ax
and edx, 0x28
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f01]
mov eax, edx
and eax, 8
mov word [0x693d00], ax
and edx, 0x28
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x499773
cmp eax, 0x3fff
jle 0x4997a3
cmp eax, 0x7fff
jle 0x49977f
cmp eax, 0xbfff
jle 0x4997a3
test byte [0x693f68], 1
je 0x4997a3
jmp 0x49977f
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4997a3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x499807
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x499849
cmp eax, 0x3fff
jle 0x499879
cmp eax, 0x7fff
jle 0x499855
cmp eax, 0xbfff
jle 0x499879
test byte [0x693f68], 1
je 0x499879
jmp 0x499855
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4997b8
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x499879
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49991d
mov dword [esp], 1
call fcn.00416240
push eax
movzx esi, byte [0x693f01]
movzx eax, byte [0x693f11]
shl eax, 8
mov ebx, eax
mov eax, esi
movzx eax, al
or eax, ebx
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push edx
mov ecx, esi
movzx edx, cl
or edx, ebx
cmp edx, dword [0x693fe0]
jne 0x4998de
mov dword [0x693bf0], 0x1a90
and eax, 8
mov word [0x693efe], ax
movzx edx, byte [0x69407d]
and edx, 0x28
mov byte [0x693d1c], dl
mov word [0x693d00], ax
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x499892
movzx edx, byte [0x693f2a]
mov eax, edx
and eax, 8
mov word [0x693d00], ax
and edx, 0x28
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f26]
mov eax, edx
and eax, 0x10
mov word [0x693d00], ax
and edx, 0x38
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f25]
mov eax, edx
and eax, 0x10
mov word [0x693d00], ax
and edx, 0x38
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f24]
mov eax, edx
and eax, 0x10
mov word [0x693d00], ax
and edx, 0x38
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f1c]
mov eax, edx
and eax, 0x10
mov word [0x693d00], ax
and edx, 0x38
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f11]
mov eax, edx
and eax, 0x10
mov word [0x693d00], ax
and edx, 0x38
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f01]
mov eax, edx
and eax, 0x10
mov word [0x693d00], ax
and edx, 0x38
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x499b3a
cmp eax, 0x3fff
jle 0x499b6a
cmp eax, 0x7fff
jle 0x499b46
cmp eax, 0xbfff
jle 0x499b6a
test byte [0x693f68], 1
je 0x499b6a
jmp 0x499b46
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x499b6a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x499bce
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x499c10
cmp eax, 0x3fff
jle 0x499c40
cmp eax, 0x7fff
jle 0x499c1c
cmp eax, 0xbfff
jle 0x499c40
test byte [0x693f68], 1
je 0x499c40
jmp 0x499c1c
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x499b7f
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x499c40
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x499cf4
mov dword [esp], 1
call fcn.00416240
push eax
movzx esi, byte [0x693f01]
movzx eax, byte [0x693f11]
shl eax, 8
mov ebx, eax
mov eax, esi
movzx eax, al
or eax, ebx
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push edx
mov ecx, esi
movzx edx, cl
or edx, ebx
cmp edx, dword [0x693fe0]
jne 0x499ca5
mov dword [0x693bf0], 0x1a90
and eax, 0x10
mov word [0x693efe], ax
movzx edx, byte [0x69407d]
mov ecx, edx
and ecx, 0x28
movzx edx, word [0x693d1c]
xor dl, dl
or edx, ecx
or edx, eax
mov word [0x693d1c], dx
mov word [0x693d00], ax
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x499c59
movzx edx, byte [0x693f2a]
mov eax, edx
and eax, 0x10
mov word [0x693d00], ax
and edx, 0x38
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f26]
mov eax, edx
and eax, 0x20
mov word [0x693d00], ax
and edx, 0x28
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f25]
mov eax, edx
and eax, 0x20
mov word [0x693d00], ax
and edx, 0x28
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f24]
mov eax, edx
and eax, 0x20
mov word [0x693d00], ax
and edx, 0x28
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f1c]
mov eax, edx
and eax, 0x20
mov word [0x693d00], ax
and edx, 0x28
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f11]
mov eax, edx
and eax, 0x20
mov word [0x693d00], ax
and edx, 0x28
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f01]
mov eax, edx
and eax, 0x20
mov word [0x693d00], ax
and edx, 0x28
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x499f11
cmp eax, 0x3fff
jle 0x499f41
cmp eax, 0x7fff
jle 0x499f1d
cmp eax, 0xbfff
jle 0x499f41
test byte [0x693f68], 1
je 0x499f41
jmp 0x499f1d
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x499f41
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x499fa5
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x499fe7
cmp eax, 0x3fff
jle 0x49a017
cmp eax, 0x7fff
jle 0x499ff3
cmp eax, 0xbfff
jle 0x49a017
test byte [0x693f68], 1
je 0x49a017
jmp 0x499ff3
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x499f56
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x49a017
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49a0bb
mov dword [esp], 1
call fcn.00416240
push eax
movzx esi, byte [0x693f01]
movzx eax, byte [0x693f11]
shl eax, 8
mov ebx, eax
mov eax, esi
movzx eax, al
or eax, ebx
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push edx
mov ecx, esi
movzx edx, cl
or edx, ebx
cmp edx, dword [0x693fe0]
jne 0x49a07c
mov dword [0x693bf0], 0x1a90
and eax, 0x20
mov word [0x693efe], ax
movzx edx, byte [0x69407d]
and edx, 0x28
mov byte [0x693d1c], dl
mov word [0x693d00], ax
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49a030
movzx edx, byte [0x693f2a]
mov eax, edx
and eax, 0x20
mov word [0x693d00], ax
and edx, 0x28
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f26]
mov eax, edx
and eax, 0x40
mov word [0x693d00], ax
and edx, 0x68
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f25]
mov eax, edx
and eax, 0x40
mov word [0x693d00], ax
and edx, 0x68
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f24]
mov eax, edx
and eax, 0x40
mov word [0x693d00], ax
and edx, 0x68
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f1c]
mov eax, edx
and eax, 0x40
mov word [0x693d00], ax
and edx, 0x68
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f11]
mov eax, edx
and eax, 0x40
mov word [0x693d00], ax
and edx, 0x68
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f01]
mov eax, edx
and eax, 0x40
mov word [0x693d00], ax
and edx, 0x68
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x49a2d8
cmp eax, 0x3fff
jle 0x49a308
cmp eax, 0x7fff
jle 0x49a2e4
cmp eax, 0xbfff
jle 0x49a308
test byte [0x693f68], 1
je 0x49a308
jmp 0x49a2e4
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x49a308
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49a36c
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x49a3ae
cmp eax, 0x3fff
jle 0x49a3de
cmp eax, 0x7fff
jle 0x49a3ba
cmp eax, 0xbfff
jle 0x49a3de
test byte [0x693f68], 1
je 0x49a3de
jmp 0x49a3ba
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49a31d
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x49a3de
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49a492
mov dword [esp], 1
call fcn.00416240
push eax
movzx esi, byte [0x693f01]
movzx eax, byte [0x693f11]
shl eax, 8
mov ebx, eax
mov eax, esi
movzx eax, al
or eax, ebx
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push edx
mov ecx, esi
movzx edx, cl
or edx, ebx
cmp edx, dword [0x693fe0]
jne 0x49a443
mov dword [0x693bf0], 0x1a90
and eax, 0x40
mov word [0x693efe], ax
movzx edx, byte [0x69407d]
mov ecx, edx
and ecx, 0x28
movzx edx, word [0x693d1c]
xor dl, dl
or edx, ecx
or edx, eax
mov word [0x693d1c], dx
mov word [0x693d00], ax
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49a3f7
movzx edx, byte [0x693f2a]
mov eax, edx
and eax, 0x40
mov word [0x693d00], ax
and edx, 0x68
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f26]
mov eax, edx
and ax, 0x80
mov word [0x693d00], ax
and dx, 0xa8
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f25]
mov eax, edx
and ax, 0x80
mov word [0x693d00], ax
and dx, 0xa8
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f24]
mov eax, edx
and ax, 0x80
mov word [0x693d00], ax
and dx, 0xa8
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f1c]
mov eax, edx
and ax, 0x80
mov word [0x693d00], ax
and dx, 0xa8
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f11]
mov eax, edx
and ax, 0x80
mov word [0x693d00], ax
and dx, 0xa8
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx edx, byte [0x693f01]
mov eax, edx
and ax, 0x80
mov word [0x693d00], ax
and dx, 0xa8
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x49a6c1
cmp eax, 0x3fff
jle 0x49a6f1
cmp eax, 0x7fff
jle 0x49a6cd
cmp eax, 0xbfff
jle 0x49a6f1
test byte [0x693f68], 1
je 0x49a6f1
jmp 0x49a6cd
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x49a6f1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49a755
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x49a797
cmp eax, 0x3fff
jle 0x49a7c7
cmp eax, 0x7fff
jle 0x49a7a3
cmp eax, 0xbfff
jle 0x49a7c7
test byte [0x693f68], 1
je 0x49a7c7
jmp 0x49a7a3
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49a706
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x49a7c7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49a87c
mov dword [esp], 1
call fcn.00416240
push eax
movzx esi, byte [0x693f01]
movzx eax, byte [0x693f11]
shl eax, 8
mov ebx, eax
mov eax, esi
movzx eax, al
or eax, ebx
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push edx
mov ecx, esi
movzx edx, cl
or edx, ebx
cmp edx, dword [0x693fe0]
jne 0x49a82c
mov dword [0x693bf0], 0x1a90
and ax, 0x80
mov word [0x693efe], ax
movzx edx, byte [0x69407d]
mov ecx, edx
and ecx, 0x28
movzx edx, word [0x693d1c]
xor dl, dl
or edx, ecx
or edx, eax
mov word [0x693d1c], dx
mov word [0x693d00], ax
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49a7e0
movzx edx, byte [0x693f2a]
mov eax, edx
and ax, 0x80
mov word [0x693d00], ax
and dx, 0xa8
mov byte [0x693d1c], dl
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.0x4be7fa.0
and byte [0x693f26], 0xfe
jmp case.0x4be7fa.0
and byte [0x693f25], 0xfe
jmp case.0x4be7fa.0
and byte [0x693f24], 0xfe
jmp case.0x4be7fa.0
and byte [0x693f1c], 0xfe
jmp case.0x4be7fa.0
and byte [0x693f11], 0xfe
jmp case.0x4be7fa.0
and byte [0x693f01], 0xfe
jmp case.0x4be7fa.0
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x49aa01
cmp ax, 0x3fff
jbe 0x49a99f
test ax, ax
js 0x49aa0c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49aa20
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x49aa62
cmp ax, 0x3fff
jbe 0x49aa90
test ax, ax
jns 0x49aa6c
cmp ax, 0xbfff
jbe 0x49aa90
test byte [0x693f68], 1
je 0x49aa90
jmp 0x49aa6c
cmp ax, 0x3fff
jle 0x49a99f
jmp 0x49a97b
cmp ax, 0xbfff
jbe 0x49a99f
test byte [0x693f68], 1
je 0x49a99f
jmp 0x49a97b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49a9b4
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49aa90
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49aae2
mov dword [esp], 1
call fcn.00416240
push esi
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x49ab21
cmp ax, 0x3fff
jbe 0x49ab4f
test ax, ax
jns 0x49ab2b
cmp ax, 0xbfff
jbe 0x49ab4f
test byte [0x693f68], 1
je 0x49ab4f
jmp 0x49ab2b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49aaa5
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49ab4f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49abbe
mov dword [esp], 3
call fcn.00416240
push eax
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
and eax, 0xfe
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004015c0
push eax
push eax
movzx eax, word [0x693efe]
cmp eax, dword [0x693fd4]
je 0x49abaf
cmp eax, dword [0x693fe0]
jne case.0x4be7fa.0
mov dword [0x693bf0], 0x1a90
jmp case.0x4be7fa.0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49ab64
and byte [0x693f2a], 0xfe
jmp case.0x4be7fa.0
and byte [0x693f26], 0xfd
jmp case.0x4be7fa.0
and byte [0x693f25], 0xfd
jmp case.0x4be7fa.0
and byte [0x693f24], 0xfd
jmp case.0x4be7fa.0
and byte [0x693f1c], 0xfd
jmp case.0x4be7fa.0
and byte [0x693f11], 0xfd
jmp case.0x4be7fa.0
and byte [0x693f01], 0xfd
jmp case.0x4be7fa.0
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x49ad11
cmp ax, 0x3fff
jbe 0x49acaf
test ax, ax
js 0x49ad1c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49ad30
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x49ad72
cmp ax, 0x3fff
jbe 0x49ada0
test ax, ax
jns 0x49ad7c
cmp ax, 0xbfff
jbe 0x49ada0
test byte [0x693f68], 1
je 0x49ada0
jmp 0x49ad7c
cmp ax, 0x3fff
jle 0x49acaf
jmp 0x49ac8b
cmp ax, 0xbfff
jbe 0x49acaf
test byte [0x693f68], 1
je 0x49acaf
jmp 0x49ac8b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49acc4
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49ada0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49adf2
mov dword [esp], 1
call fcn.00416240
push esi
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x49ae31
cmp ax, 0x3fff
jbe 0x49ae5f
test ax, ax
jns 0x49ae3b
cmp ax, 0xbfff
jbe 0x49ae5f
test byte [0x693f68], 1
je 0x49ae5f
jmp 0x49ae3b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49adb5
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49ae5f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49ae9b
mov dword [esp], 3
call fcn.00416240
push eax
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
and eax, 0xfd
jmp 0x49ab86
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49ae74
and byte [0x693f2a], 0xfd
jmp case.0x4be7fa.0
and byte [0x693f26], 0xfb
jmp case.0x4be7fa.0
and byte [0x693f25], 0xfb
jmp case.0x4be7fa.0
and byte [0x693f24], 0xfb
jmp case.0x4be7fa.0
and byte [0x693f1c], 0xfb
jmp case.0x4be7fa.0
and byte [0x693f11], 0xfb
jmp case.0x4be7fa.0
and byte [0x693f01], 0xfb
jmp case.0x4be7fa.0
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x49afeb
cmp ax, 0x3fff
jbe 0x49af89
test ax, ax
js 0x49aff6
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49b00a
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x49b04c
cmp ax, 0x3fff
jbe 0x49b07a
test ax, ax
jns 0x49b056
cmp ax, 0xbfff
jbe 0x49b07a
test byte [0x693f68], 1
je 0x49b07a
jmp 0x49b056
cmp ax, 0x3fff
jle 0x49af89
jmp 0x49af65
cmp ax, 0xbfff
jbe 0x49af89
test byte [0x693f68], 1
je 0x49af89
jmp 0x49af65
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49af9e
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49b07a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49b0cc
mov dword [esp], 1
call fcn.00416240
push esi
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x49b10b
cmp ax, 0x3fff
jbe 0x49b139
test ax, ax
jns 0x49b115
cmp ax, 0xbfff
jbe 0x49b139
test byte [0x693f68], 1
je 0x49b139
jmp 0x49b115
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49b08f
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49b139
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49b175
mov dword [esp], 3
call fcn.00416240
push eax
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
and eax, 0xfb
jmp 0x49ab86
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49b14e
and byte [0x693f2a], 0xfb
jmp case.0x4be7fa.0
and byte [0x693f26], 0xf7
jmp case.0x4be7fa.0
and byte [0x693f25], 0xf7
jmp case.0x4be7fa.0
and byte [0x693f24], 0xf7
jmp case.0x4be7fa.0
and byte [0x693f1c], 0xf7
jmp case.0x4be7fa.0
and byte [0x693f11], 0xf7
jmp case.0x4be7fa.0
and byte [0x693f01], 0xf7
jmp case.0x4be7fa.0
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x49b2c5
cmp ax, 0x3fff
jbe 0x49b263
test ax, ax
js 0x49b2d0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49b2e4
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x49b326
cmp ax, 0x3fff
jbe 0x49b354
test ax, ax
jns 0x49b330
cmp ax, 0xbfff
jbe 0x49b354
test byte [0x693f68], 1
je 0x49b354
jmp 0x49b330
cmp ax, 0x3fff
jle 0x49b263
jmp 0x49b23f
cmp ax, 0xbfff
jbe 0x49b263
test byte [0x693f68], 1
je 0x49b263
jmp 0x49b23f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49b278
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49b354
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49b3a6
mov dword [esp], 1
call fcn.00416240
push esi
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x49b3e5
cmp ax, 0x3fff
jbe 0x49b413
test ax, ax
jns 0x49b3ef
cmp ax, 0xbfff
jbe 0x49b413
test byte [0x693f68], 1
je 0x49b413
jmp 0x49b3ef
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49b369
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49b413
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49b44f
mov dword [esp], 3
call fcn.00416240
push eax
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
and eax, 0xf7
jmp 0x49ab86
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49b428
and byte [0x693f2a], 0xf7
jmp case.0x4be7fa.0
and byte [0x693f26], 0xef
jmp case.0x4be7fa.0
and byte [0x693f25], 0xef
jmp case.0x4be7fa.0
and byte [0x693f24], 0xef
jmp case.0x4be7fa.0
and byte [0x693f1c], 0xef
jmp case.0x4be7fa.0
and byte [0x693f11], 0xef
jmp case.0x4be7fa.0
and byte [0x693f01], 0xef
jmp case.0x4be7fa.0
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x49b59f
cmp ax, 0x3fff
jbe 0x49b53d
test ax, ax
js 0x49b5aa
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49b5be
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x49b600
cmp ax, 0x3fff
jbe 0x49b62e
test ax, ax
jns 0x49b60a
cmp ax, 0xbfff
jbe 0x49b62e
test byte [0x693f68], 1
je 0x49b62e
jmp 0x49b60a
cmp ax, 0x3fff
jle 0x49b53d
jmp 0x49b519
cmp ax, 0xbfff
jbe 0x49b53d
test byte [0x693f68], 1
je 0x49b53d
jmp 0x49b519
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49b552
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49b62e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49b680
mov dword [esp], 1
call fcn.00416240
push esi
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x49b6bf
cmp ax, 0x3fff
jbe 0x49b6ed
test ax, ax
jns 0x49b6c9
cmp ax, 0xbfff
jbe 0x49b6ed
test byte [0x693f68], 1
je 0x49b6ed
jmp 0x49b6c9
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49b643
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49b6ed
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49b729
mov dword [esp], 3
call fcn.00416240
push eax
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
and eax, 0xef
jmp 0x49ab86
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49b702
and byte [0x693f2a], 0xef
jmp case.0x4be7fa.0
and byte [0x693f26], 0xdf
jmp case.0x4be7fa.0
and byte [0x693f25], 0xdf
jmp case.0x4be7fa.0
and byte [0x693f24], 0xdf
jmp case.0x4be7fa.0
and byte [0x693f1c], 0xdf
jmp case.0x4be7fa.0
and byte [0x693f11], 0xdf
jmp case.0x4be7fa.0
and byte [0x693f01], 0xdf
jmp case.0x4be7fa.0
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x49b879
cmp ax, 0x3fff
jbe 0x49b817
test ax, ax
js 0x49b884
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49b898
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x49b8da
cmp ax, 0x3fff
jbe 0x49b908
test ax, ax
jns 0x49b8e4
cmp ax, 0xbfff
jbe 0x49b908
test byte [0x693f68], 1
je 0x49b908
jmp 0x49b8e4
cmp ax, 0x3fff
jle 0x49b817
jmp 0x49b7f3
cmp ax, 0xbfff
jbe 0x49b817
test byte [0x693f68], 1
je 0x49b817
jmp 0x49b7f3
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49b82c
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49b908
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49b95a
mov dword [esp], 1
call fcn.00416240
push esi
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x49b999
cmp ax, 0x3fff
jbe 0x49b9c7
test ax, ax
jns 0x49b9a3
cmp ax, 0xbfff
jbe 0x49b9c7
test byte [0x693f68], 1
je 0x49b9c7
jmp 0x49b9a3
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49b91d
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49b9c7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49ba03
mov dword [esp], 3
call fcn.00416240
push eax
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
and eax, 0xdf
jmp 0x49ab86
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49b9dc
and byte [0x693f2a], 0xdf
jmp case.0x4be7fa.0
and byte [0x693f26], 0xbf
jmp case.0x4be7fa.0
and byte [0x693f25], 0xbf
jmp case.0x4be7fa.0
and byte [0x693f24], 0xbf
jmp case.0x4be7fa.0
and byte [0x693f1c], 0xbf
jmp case.0x4be7fa.0
and byte [0x693f11], 0xbf
jmp case.0x4be7fa.0
and byte [0x693f01], 0xbf
jmp case.0x4be7fa.0
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x49bb53
cmp ax, 0x3fff
jbe 0x49baf1
test ax, ax
js 0x49bb5e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49bb72
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x49bbb4
cmp ax, 0x3fff
jbe 0x49bbe2
test ax, ax
jns 0x49bbbe
cmp ax, 0xbfff
jbe 0x49bbe2
test byte [0x693f68], 1
je 0x49bbe2
jmp 0x49bbbe
cmp ax, 0x3fff
jle 0x49baf1
jmp 0x49bacd
cmp ax, 0xbfff
jbe 0x49baf1
test byte [0x693f68], 1
je 0x49baf1
jmp 0x49bacd
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49bb06
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49bbe2
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49bc34
mov dword [esp], 1
call fcn.00416240
push esi
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x49bc73
cmp ax, 0x3fff
jbe 0x49bca1
test ax, ax
jns 0x49bc7d
cmp ax, 0xbfff
jbe 0x49bca1
test byte [0x693f68], 1
je 0x49bca1
jmp 0x49bc7d
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49bbf7
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49bca1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49bcdd
mov dword [esp], 3
call fcn.00416240
push eax
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
and eax, 0xbf
jmp 0x49ab86
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49bcb6
and byte [0x693f2a], 0xbf
jmp case.0x4be7fa.0
and byte [0x693f26], 0x7f
jmp case.0x4be7fa.0
and byte [0x693f25], 0x7f
jmp case.0x4be7fa.0
and byte [0x693f24], 0x7f
jmp case.0x4be7fa.0
and byte [0x693f1c], 0x7f
jmp case.0x4be7fa.0
and byte [0x693f11], 0x7f
jmp case.0x4be7fa.0
and byte [0x693f01], 0x7f
jmp case.0x4be7fa.0
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x49be2d
cmp ax, 0x3fff
jbe 0x49bdcb
test ax, ax
js 0x49be38
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49be4c
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x49be8e
cmp ax, 0x3fff
jbe 0x49bebc
test ax, ax
jns 0x49be98
cmp ax, 0xbfff
jbe 0x49bebc
test byte [0x693f68], 1
je 0x49bebc
jmp 0x49be98
cmp ax, 0x3fff
jle 0x49bdcb
jmp 0x49bda7
cmp ax, 0xbfff
jbe 0x49bdcb
test byte [0x693f68], 1
je 0x49bdcb
jmp 0x49bda7
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49bde0
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49bebc
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49bf0e
mov dword [esp], 1
call fcn.00416240
push esi
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x49bf4d
cmp ax, 0x3fff
jbe 0x49bf7b
test ax, ax
jns 0x49bf57
cmp ax, 0xbfff
jbe 0x49bf7b
test byte [0x693f68], 1
je 0x49bf7b
jmp 0x49bf57
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49bed1
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49bf7b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49bfb5
mov dword [esp], 3
call fcn.00416240
push eax
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
and eax, 0x7f
jmp 0x49ab86
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49bf90
and byte [0x693f2a], 0x7f
jmp case.0x4be7fa.0
or byte [0x693f26], 1
jmp case.0x4be7fa.0
or byte [0x693f25], 1
jmp case.0x4be7fa.0
or byte [0x693f24], 1
jmp case.0x4be7fa.0
or byte [0x693f1c], 1
jmp case.0x4be7fa.0
or byte [0x693f11], 1
jmp case.0x4be7fa.0
or byte [0x693f01], 1
jmp case.0x4be7fa.0
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x49c105
cmp ax, 0x3fff
jbe 0x49c0a3
test ax, ax
js 0x49c110
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49c124
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x49c166
cmp ax, 0x3fff
jbe 0x49c194
test ax, ax
jns 0x49c170
cmp ax, 0xbfff
jbe 0x49c194
test byte [0x693f68], 1
je 0x49c194
jmp 0x49c170
cmp ax, 0x3fff
jle 0x49c0a3
jmp 0x49c07f
cmp ax, 0xbfff
jbe 0x49c0a3
test byte [0x693f68], 1
je 0x49c0a3
jmp 0x49c07f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49c0b8
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49c194
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49c1e6
mov dword [esp], 1
call fcn.00416240
push esi
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x49c225
cmp ax, 0x3fff
jbe 0x49c253
test ax, ax
jns 0x49c22f
cmp ax, 0xbfff
jbe 0x49c253
test byte [0x693f68], 1
je 0x49c253
jmp 0x49c22f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49c1a9
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49c253
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49c28d
mov dword [esp], 3
call fcn.00416240
push eax
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
or eax, 1
jmp 0x49ab86
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49c268
or byte [0x693f2a], 1
jmp case.0x4be7fa.0
or byte [0x693f26], 2
jmp case.0x4be7fa.0
or byte [0x693f25], 2
jmp case.0x4be7fa.0
or byte [0x693f24], 2
jmp case.0x4be7fa.0
or byte [0x693f1c], 2
jmp case.0x4be7fa.0
or byte [0x693f11], 2
jmp case.0x4be7fa.0
or byte [0x693f01], 2
jmp case.0x4be7fa.0
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x49c3dd
cmp ax, 0x3fff
jbe 0x49c37b
test ax, ax
js 0x49c3e8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49c3fc
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x49c43e
cmp ax, 0x3fff
jbe 0x49c46c
test ax, ax
jns 0x49c448
cmp ax, 0xbfff
jbe 0x49c46c
test byte [0x693f68], 1
je 0x49c46c
jmp 0x49c448
cmp ax, 0x3fff
jle 0x49c37b
jmp 0x49c357
cmp ax, 0xbfff
jbe 0x49c37b
test byte [0x693f68], 1
je 0x49c37b
jmp 0x49c357
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49c390
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49c46c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49c4be
mov dword [esp], 1
call fcn.00416240
push esi
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x49c4fd
cmp ax, 0x3fff
jbe 0x49c52b
test ax, ax
jns 0x49c507
cmp ax, 0xbfff
jbe 0x49c52b
test byte [0x693f68], 1
je 0x49c52b
jmp 0x49c507
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49c481
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49c52b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49c565
mov dword [esp], 3
call fcn.00416240
push eax
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
or eax, 2
jmp 0x49ab86
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49c540
or byte [0x693f2a], 2
jmp case.0x4be7fa.0
or byte [0x693f26], 4
jmp case.0x4be7fa.0
or byte [0x693f25], 4
jmp case.0x4be7fa.0
or byte [0x693f24], 4
jmp case.0x4be7fa.0
or byte [0x693f1c], 4
jmp case.0x4be7fa.0
or byte [0x693f11], 4
jmp case.0x4be7fa.0
or byte [0x693f01], 4
jmp case.0x4be7fa.0
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x49c6b5
cmp ax, 0x3fff
jbe 0x49c653
test ax, ax
js 0x49c6c0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49c6d4
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x49c716
cmp ax, 0x3fff
jbe 0x49c744
test ax, ax
jns 0x49c720
cmp ax, 0xbfff
jbe 0x49c744
test byte [0x693f68], 1
je 0x49c744
jmp 0x49c720
cmp ax, 0x3fff
jle 0x49c653
jmp 0x49c62f
cmp ax, 0xbfff
jbe 0x49c653
test byte [0x693f68], 1
je 0x49c653
jmp 0x49c62f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49c668
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49c744
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49c796
mov dword [esp], 1
call fcn.00416240
push esi
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x49c7d5
cmp ax, 0x3fff
jbe 0x49c803
test ax, ax
jns 0x49c7df
cmp ax, 0xbfff
jbe 0x49c803
test byte [0x693f68], 1
je 0x49c803
jmp 0x49c7df
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49c759
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49c803
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49c83d
mov dword [esp], 3
call fcn.00416240
push eax
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
or eax, 4
jmp 0x49ab86
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49c818
or byte [0x693f2a], 4
jmp case.0x4be7fa.0
or byte [0x693f26], 8
jmp case.0x4be7fa.0
or byte [0x693f25], 8
jmp case.0x4be7fa.0
or byte [0x693f24], 8
jmp case.0x4be7fa.0
or byte [0x693f1c], 8
jmp case.0x4be7fa.0
or byte [0x693f11], 8
jmp case.0x4be7fa.0
or byte [0x693f01], 8
jmp case.0x4be7fa.0
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x49c98d
cmp ax, 0x3fff
jbe 0x49c92b
test ax, ax
js 0x49c998
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49c9ac
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x49c9ee
cmp ax, 0x3fff
jbe 0x49ca1c
test ax, ax
jns 0x49c9f8
cmp ax, 0xbfff
jbe 0x49ca1c
test byte [0x693f68], 1
je 0x49ca1c
jmp 0x49c9f8
cmp ax, 0x3fff
jle 0x49c92b
jmp 0x49c907
cmp ax, 0xbfff
jbe 0x49c92b
test byte [0x693f68], 1
je 0x49c92b
jmp 0x49c907
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49c940
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49ca1c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49ca6e
mov dword [esp], 1
call fcn.00416240
push esi
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x49caad
cmp ax, 0x3fff
jbe 0x49cadb
test ax, ax
jns 0x49cab7
cmp ax, 0xbfff
jbe 0x49cadb
test byte [0x693f68], 1
je 0x49cadb
jmp 0x49cab7
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49ca31
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49cadb
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49cb15
mov dword [esp], 3
call fcn.00416240
push eax
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
or eax, 8
jmp 0x49ab86
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49caf0
or byte [0x693f2a], 8
jmp case.0x4be7fa.0
or byte [0x693f26], 0x10
jmp case.0x4be7fa.0
or byte [0x693f25], 0x10
jmp case.0x4be7fa.0
or byte [0x693f24], 0x10
jmp case.0x4be7fa.0
or byte [0x693f1c], 0x10
jmp case.0x4be7fa.0
or byte [0x693f11], 0x10
jmp case.0x4be7fa.0
or byte [0x693f01], 0x10
jmp case.0x4be7fa.0
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x49cc65
cmp ax, 0x3fff
jbe 0x49cc03
test ax, ax
js 0x49cc70
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49cc84
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x49ccc6
cmp ax, 0x3fff
jbe 0x49ccf4
test ax, ax
jns 0x49ccd0
cmp ax, 0xbfff
jbe 0x49ccf4
test byte [0x693f68], 1
je 0x49ccf4
jmp 0x49ccd0
cmp ax, 0x3fff
jle 0x49cc03
jmp 0x49cbdf
cmp ax, 0xbfff
jbe 0x49cc03
test byte [0x693f68], 1
je 0x49cc03
jmp 0x49cbdf
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49cc18
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49ccf4
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49cd46
mov dword [esp], 1
call fcn.00416240
push esi
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x49cd85
cmp ax, 0x3fff
jbe 0x49cdb3
test ax, ax
jns 0x49cd8f
cmp ax, 0xbfff
jbe 0x49cdb3
test byte [0x693f68], 1
je 0x49cdb3
jmp 0x49cd8f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49cd09
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49cdb3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49cded
mov dword [esp], 3
call fcn.00416240
push eax
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
or eax, 0x10
jmp 0x49ab86
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49cdc8
or byte [0x693f2a], 0x10
jmp case.0x4be7fa.0
or byte [0x693f26], 0x20
jmp case.0x4be7fa.0
or byte [0x693f25], 0x20
jmp case.0x4be7fa.0
or byte [0x693f24], 0x20
jmp case.0x4be7fa.0
or byte [0x693f1c], 0x20
jmp case.0x4be7fa.0
or byte [0x693f11], 0x20
jmp case.0x4be7fa.0
or byte [0x693f01], 0x20
jmp case.0x4be7fa.0
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x49cf3d
cmp ax, 0x3fff
jbe 0x49cedb
test ax, ax
js 0x49cf48
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49cf5c
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x49cf9e
cmp ax, 0x3fff
jbe 0x49cfcc
test ax, ax
jns 0x49cfa8
cmp ax, 0xbfff
jbe 0x49cfcc
test byte [0x693f68], 1
je 0x49cfcc
jmp 0x49cfa8
cmp ax, 0x3fff
jle 0x49cedb
jmp 0x49ceb7
cmp ax, 0xbfff
jbe 0x49cedb
test byte [0x693f68], 1
je 0x49cedb
jmp 0x49ceb7
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49cef0
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49cfcc
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49d01e
mov dword [esp], 1
call fcn.00416240
push esi
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x49d05d
cmp ax, 0x3fff
jbe 0x49d08b
test ax, ax
jns 0x49d067
cmp ax, 0xbfff
jbe 0x49d08b
test byte [0x693f68], 1
je 0x49d08b
jmp 0x49d067
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49cfe1
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49d08b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49d0c5
mov dword [esp], 3
call fcn.00416240
push eax
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
or eax, 0x20
jmp 0x49ab86
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49d0a0
or byte [0x693f2a], 0x20
jmp case.0x4be7fa.0
or byte [0x693f26], 0x40
jmp case.0x4be7fa.0
or byte [0x693f25], 0x40
jmp case.0x4be7fa.0
or byte [0x693f24], 0x40
jmp case.0x4be7fa.0
or byte [0x693f1c], 0x40
jmp case.0x4be7fa.0
or byte [0x693f11], 0x40
jmp case.0x4be7fa.0
or byte [0x693f01], 0x40
jmp case.0x4be7fa.0
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x49d215
cmp ax, 0x3fff
jbe 0x49d1b3
test ax, ax
js 0x49d220
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49d234
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x49d276
cmp ax, 0x3fff
jbe 0x49d2a4
test ax, ax
jns 0x49d280
cmp ax, 0xbfff
jbe 0x49d2a4
test byte [0x693f68], 1
je 0x49d2a4
jmp 0x49d280
cmp ax, 0x3fff
jle 0x49d1b3
jmp 0x49d18f
cmp ax, 0xbfff
jbe 0x49d1b3
test byte [0x693f68], 1
je 0x49d1b3
jmp 0x49d18f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49d1c8
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49d2a4
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49d2f6
mov dword [esp], 1
call fcn.00416240
push esi
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x49d335
cmp ax, 0x3fff
jbe 0x49d363
test ax, ax
jns 0x49d33f
cmp ax, 0xbfff
jbe 0x49d363
test byte [0x693f68], 1
je 0x49d363
jmp 0x49d33f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49d2b9
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49d363
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49d39d
mov dword [esp], 3
call fcn.00416240
push eax
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
or eax, 0x40
jmp 0x49ab86
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49d378
or byte [0x693f2a], 0x40
jmp case.0x4be7fa.0
or byte [0x693f26], 0x80
jmp case.0x4be7fa.0
or byte [0x693f25], 0x80
jmp case.0x4be7fa.0
or byte [0x693f24], 0x80
jmp case.0x4be7fa.0
or byte [0x693f1c], 0x80
jmp case.0x4be7fa.0
or byte [0x693f11], 0x80
jmp case.0x4be7fa.0
or byte [0x693f01], 0x80
jmp case.0x4be7fa.0
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x49d4ed
cmp ax, 0x3fff
jbe 0x49d48b
test ax, ax
js 0x49d4f8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49d50c
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x49d54e
cmp ax, 0x3fff
jbe 0x49d57c
test ax, ax
jns 0x49d558
cmp ax, 0xbfff
jbe 0x49d57c
test byte [0x693f68], 1
je 0x49d57c
jmp 0x49d558
cmp ax, 0x3fff
jle 0x49d48b
jmp 0x49d467
cmp ax, 0xbfff
jbe 0x49d48b
test byte [0x693f68], 1
je 0x49d48b
jmp 0x49d467
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49d4a0
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49d57c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49d5ce
mov dword [esp], 1
call fcn.00416240
push esi
movzx eax, word [0x693efe]
cmp dword [0x693b44], 4
jle 0x49d60d
cmp ax, 0x3fff
jbe 0x49d63b
test ax, ax
jns 0x49d617
cmp ax, 0xbfff
jbe 0x49d63b
test byte [0x693f68], 1
je 0x49d63b
jmp 0x49d617
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49d591
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49d63b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49d674
mov dword [esp], 3
call fcn.00416240
push eax
movzx ebx, word [0x693efe]
mov dword [esp], ebx
call fcn.004010a0
push edx
or al, 0x80
jmp 0x49ab86
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49d650
or byte [0x693f2a], 0x80
jmp case.0x4be7fa.0
cmp bx, 0x4000
jbe 0x494692
cmp bx, 0x8000
jbe 0x49466e
cmp bx, 0xc000
jbe 0x494692
test byte [0x693f68], 1
je 0x494692
jmp 0x49466e
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4946ab
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49d762
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49d82e
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693f80]
mov esi, eax
cmp byte [0x693bbc], 0
mov dword [esp], eax
jne 0x49d870
call fcn.004010a0
push ebx
movzx edx, byte [0x693c5e]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c5d]
or edx, ecx
xor al, 0x80
lea eax, [edx + eax - 0x80]
mov word [0x69407c], ax
movzx ebx, ax
mov dword [esp], ebx
call fcn.004010a0
push edx
mov word [0x693efe], ax
cmp ebx, dword [0x693fe0]
jne 0x49d7ec
mov dword [0x693bf0], 0x1a90
lea eax, [esi + 1]
mov word [0x693f80], ax
cmp dword [0x693b44], 4
jle 0x49d88e
cmp ax, 0x3fff
jbe 0x49d8bc
test ax, ax
jns 0x49d898
cmp ax, 0xbfff
jbe 0x49d8bc
test byte [0x693f68], 1
je 0x49d8bc
jmp 0x49d898
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49d77b
call fcn.004010a0
push ecx
movzx edx, byte [0x693c08]
mov ecx, edx
shl ecx, 8
movzx edx, byte [0x693c00]
jmp 0x49d7ba
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49d8bc
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49d930
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 2
mov dword [esp + 4], 1
movzx eax, word [0x693f80]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x49d972
cmp ax, 0x3fff
jbe 0x49d9a0
test ax, ax
jns 0x49d97c
cmp ax, 0xbfff
jbe 0x49d9a0
test byte [0x693f68], 1
je 0x49d9a0
jmp 0x49d97c
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49d8d1
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49d9a0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49d9f2
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x49da31
cmp ax, 0x3fff
jbe 0x49da5f
test ax, ax
jns 0x49da3b
cmp ax, 0xbfff
jbe 0x49da5f
test byte [0x693f68], 1
je 0x49da5f
jmp 0x49da3b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49d9b5
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49da5f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49dab2
mov dword [esp], 1
call fcn.00416240
push eax
movzx eax, word [0x693f80]
lea edx, [eax + 1]
mov word [0x693f80], dx
mov dword [esp], eax
call fcn.004010a0
push edx
test eax, eax
je 0x49daf1
lea edx, [eax - 1]
cmp edx, 0x3e
ja case.default.0x49daab
jmp dword [edx*4 + 0x61a42c]
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49da74
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, word [0x693efe]
mov eax, ecx
shr ax, 7
mov edx, eax
and edx, 1
and eax, 1
mov dword [0x693da0], eax
lea eax, [ecx + ecx]
and ax, 0xfe
add eax, edx
mov word [0x693efe], ax
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x49dbfd
cmp ax, 0x3fff
jbe 0x49dc2b
test ax, ax
jns 0x49dc07
cmp ax, 0xbfff
jbe 0x49dc2b
test byte [0x693f68], 1
je 0x49dc2b
jmp 0x49dc07
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49dc2b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f26], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49dc97
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ebp
push ebp
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
mov dword [0x693bf0], 0x1a90
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49dc4c
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, word [0x693efe]
mov eax, ecx
shr ax, 7
mov edx, eax
and edx, 1
and eax, 1
mov dword [0x693da0], eax
lea eax, [ecx + ecx]
and ax, 0xfe
add eax, edx
mov word [0x693efe], ax
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push esi
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x49dde5
cmp ax, 0x3fff
jbe 0x49de13
test ax, ax
jns 0x49ddef
cmp ax, 0xbfff
jbe 0x49de13
test byte [0x693f68], 1
je 0x49de13
jmp 0x49ddef
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49de13
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov byte [0x693f25], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49de75
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edx
push edx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49de34
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, word [0x693efe]
mov eax, ecx
shr ax, 7
mov edx, eax
and edx, 1
and eax, 1
mov dword [0x693da0], eax
lea eax, [ecx + ecx]
and ax, 0xfe
add eax, edx
mov word [0x693efe], ax
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x49dfc0
cmp ax, 0x3fff
jbe 0x49dfee
test ax, ax
jns 0x49dfca
cmp ax, 0xbfff
jbe 0x49dfee
test byte [0x693f68], 1
je 0x49dfee
jmp 0x49dfca
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49dfee
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f24], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49e050
mov dword [esp], 3
call fcn.00416240
push ebp
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49e00f
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, word [0x693efe]
mov eax, ecx
shr ax, 7
mov edx, eax
and edx, 1
and eax, 1
mov dword [0x693da0], eax
lea eax, [ecx + ecx]
and ax, 0xfe
add eax, edx
mov word [0x693efe], ax
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push edi
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x49e19b
cmp ax, 0x3fff
jbe 0x49e1c9
test ax, ax
jns 0x49e1a5
cmp ax, 0xbfff
jbe 0x49e1c9
test byte [0x693f68], 1
je 0x49e1c9
jmp 0x49e1a5
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49e1c9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
movzx eax, word [0x693efe]
mov byte [0x693f1c], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49e22b
mov dword [esp], 3
call fcn.00416240
push edx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ecx
push ecx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49e1ea
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, word [0x693efe]
mov eax, ecx
shr ax, 7
mov edx, eax
and edx, 1
and eax, 1
mov dword [0x693da0], eax
lea eax, [ecx + ecx]
and ax, 0xfe
add eax, edx
mov word [0x693efe], ax
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x49e376
cmp ax, 0x3fff
jbe 0x49e3a4
test ax, ax
jns 0x49e380
cmp ax, 0xbfff
jbe 0x49e3a4
test byte [0x693f68], 1
je 0x49e3a4
jmp 0x49e380
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49e3a4
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f11], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49e406
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49e3c5
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, word [0x693efe]
mov eax, ecx
shr ax, 7
mov edx, eax
and edx, 1
and eax, 1
mov dword [0x693da0], eax
lea eax, [ecx + ecx]
and ax, 0xfe
add eax, edx
mov word [0x693efe], ax
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push ebp
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x49e551
cmp ax, 0x3fff
jbe 0x49e57f
test ax, ax
jns 0x49e55b
cmp ax, 0xbfff
jbe 0x49e57f
test byte [0x693f68], 1
je 0x49e57f
jmp 0x49e55b
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49e57f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
movzx eax, word [0x693efe]
mov byte [0x693f01], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49e5e1
mov dword [esp], 3
call fcn.00416240
push ecx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ebx
push ebx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49e5a0
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, word [0x693efe]
mov eax, ecx
shr ax, 7
mov edx, eax
and edx, 1
and eax, 1
mov dword [0x693da0], eax
lea eax, [ecx + ecx]
and ax, 0xfe
add eax, edx
mov word [0x693efe], ax
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push edx
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x49e72c
cmp ax, 0x3fff
jbe 0x49e75a
test ax, ax
jns 0x49e736
cmp ax, 0xbfff
jbe 0x49e75a
test byte [0x693f68], 1
je 0x49e75a
jmp 0x49e736
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49e75a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49e7b0
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49e76f
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, word [0x693efe]
mov eax, ecx
shr ax, 7
mov edx, eax
and edx, 1
and eax, 1
mov dword [0x693da0], eax
lea eax, [ecx + ecx]
and ax, 0xfe
add eax, edx
mov word [0x693efe], ax
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x49e8fb
cmp ax, 0x3fff
jbe 0x49e929
test ax, ax
jns 0x49e905
cmp ax, 0xbfff
jbe 0x49e929
test byte [0x693f68], 1
je 0x49e929
jmp 0x49e905
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49e929
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
movzx eax, word [0x693efe]
mov byte [0x693f2a], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49e98b
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push esi
push esi
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49e94a
call fcn.00401000
mov dword [0x693f18], eax
movzx eax, word [0x693efe]
mov edx, eax
and edx, 1
mov ecx, eax
and ecx, 1
mov dword [0x693da8], ecx
shr ax, 1
and eax, 0x7f
mov ecx, eax
mov eax, edx
shl eax, 7
add eax, ecx
mov word [0x693efe], ax
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push ecx
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x49ead9
cmp ax, 0x3fff
jbe 0x49eb07
test ax, ax
jns 0x49eae3
cmp ax, 0xbfff
jbe 0x49eb07
test byte [0x693f68], 1
je 0x49eb07
jmp 0x49eae3
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49eb07
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
movzx eax, word [0x693efe]
mov byte [0x693f26], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49eb69
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49eb28
call fcn.00401000
mov dword [0x693f18], eax
movzx eax, word [0x693efe]
mov edx, eax
and edx, 1
mov ecx, eax
and ecx, 1
mov dword [0x693da8], ecx
shr ax, 1
and eax, 0x7f
mov ecx, eax
mov eax, edx
shl eax, 7
add eax, ecx
mov word [0x693efe], ax
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x49ecb7
cmp ax, 0x3fff
jbe 0x49ece5
test ax, ax
jns 0x49ecc1
cmp ax, 0xbfff
jbe 0x49ece5
test byte [0x693f68], 1
je 0x49ece5
jmp 0x49ecc1
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49ece5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f25], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49ed47
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edi
push edi
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49ed06
call fcn.00401000
mov dword [0x693f18], eax
movzx eax, word [0x693efe]
mov edx, eax
and edx, 1
mov ecx, eax
and ecx, 1
mov dword [0x693da8], ecx
shr ax, 1
and eax, 0x7f
mov ecx, eax
mov eax, edx
shl eax, 7
add eax, ecx
mov word [0x693efe], ax
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push ebx
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x49ee95
cmp ax, 0x3fff
jbe 0x49eec3
test ax, ax
jns 0x49ee9f
cmp ax, 0xbfff
jbe 0x49eec3
test byte [0x693f68], 1
je 0x49eec3
jmp 0x49ee9f
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49eec3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
movzx eax, word [0x693efe]
mov byte [0x693f24], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49ef25
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49eee4
call fcn.00401000
mov dword [0x693f18], eax
movzx eax, word [0x693efe]
mov edx, eax
and edx, 1
mov ecx, eax
and ecx, 1
mov dword [0x693da8], ecx
shr ax, 1
and eax, 0x7f
mov ecx, eax
mov eax, edx
shl eax, 7
add eax, ecx
mov word [0x693efe], ax
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x49f073
cmp ax, 0x3fff
jbe 0x49f0a1
test ax, ax
jns 0x49f07d
cmp ax, 0xbfff
jbe 0x49f0a1
test byte [0x693f68], 1
je 0x49f0a1
jmp 0x49f07d
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49f0a1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f1c], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49f103
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ebp
push ebp
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49f0c2
call fcn.00401000
mov dword [0x693f18], eax
movzx eax, word [0x693efe]
mov edx, eax
and edx, 1
mov ecx, eax
and ecx, 1
mov dword [0x693da8], ecx
shr ax, 1
and eax, 0x7f
mov ecx, eax
mov eax, edx
shl eax, 7
add eax, ecx
mov word [0x693efe], ax
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push esi
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x49f251
cmp ax, 0x3fff
jbe 0x49f27f
test ax, ax
jns 0x49f25b
cmp ax, 0xbfff
jbe 0x49f27f
test byte [0x693f68], 1
je 0x49f27f
jmp 0x49f25b
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49f27f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov byte [0x693f11], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49f2e1
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edx
push edx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49f2a0
call fcn.00401000
mov dword [0x693f18], eax
movzx eax, word [0x693efe]
mov edx, eax
and edx, 1
mov ecx, eax
and ecx, 1
mov dword [0x693da8], ecx
shr ax, 1
and eax, 0x7f
mov ecx, eax
mov eax, edx
shl eax, 7
add eax, ecx
mov word [0x693efe], ax
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x49f42f
cmp ax, 0x3fff
jbe 0x49f45d
test ax, ax
jns 0x49f439
cmp ax, 0xbfff
jbe 0x49f45d
test byte [0x693f68], 1
je 0x49f45d
jmp 0x49f439
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49f45d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f01], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49f4bf
mov dword [esp], 3
call fcn.00416240
push ebp
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49f47e
call fcn.00401000
mov dword [0x693f18], eax
movzx eax, word [0x693efe]
mov edx, eax
and edx, 1
mov ecx, eax
and ecx, 1
mov dword [0x693da8], ecx
shr ax, 1
and eax, 0x7f
mov ecx, eax
mov eax, edx
shl eax, 7
add eax, ecx
mov word [0x693efe], ax
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push edi
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x49f60d
cmp ax, 0x3fff
jbe 0x49f63b
test ax, ax
jns 0x49f617
cmp ax, 0xbfff
jbe 0x49f63b
test byte [0x693f68], 1
je 0x49f63b
jmp 0x49f617
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49f63b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49f691
mov dword [esp], 3
call fcn.00416240
push edx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ecx
push ecx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49f650
call fcn.00401000
mov dword [0x693f18], eax
movzx eax, word [0x693efe]
mov edx, eax
and edx, 1
mov ecx, eax
and ecx, 1
mov dword [0x693da8], ecx
shr ax, 1
and eax, 0x7f
mov ecx, eax
mov eax, edx
shl eax, 7
add eax, ecx
mov word [0x693efe], ax
movzx ecx, byte [0x693f18]
or ecx, 1
xor edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x49f7df
cmp ax, 0x3fff
jbe 0x49f80d
test ax, ax
jns 0x49f7e9
cmp ax, 0xbfff
jbe 0x49f80d
test byte [0x693f68], 1
je 0x49f80d
jmp 0x49f7e9
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49f80d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f2a], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49f86f
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49f82e
call fcn.00401000
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov edx, eax
and edx, 1
mov dword [0x693b6c], edx
movzx ebx, word [0x693efe]
mov edx, ebx
shr dx, 7
mov ecx, edx
and ecx, 1
mov dword [0x693da0], ecx
lea ecx, [ebx + ebx]
and cx, 0xfe
and eax, 1
add eax, ecx
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push ebp
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x49f9d0
cmp ax, 0x3fff
jbe 0x49f9fe
test ax, ax
jns 0x49f9da
cmp ax, 0xbfff
jbe 0x49f9fe
test byte [0x693f68], 1
je 0x49f9fe
jmp 0x49f9da
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49f9fe
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
movzx eax, word [0x693efe]
mov byte [0x693f26], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49fa60
mov dword [esp], 3
call fcn.00416240
push ecx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ebx
push ebx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49fa1f
call fcn.00401000
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov edx, eax
and edx, 1
mov dword [0x693b6c], edx
movzx ebx, word [0x693efe]
mov edx, ebx
shr dx, 7
mov ecx, edx
and ecx, 1
mov dword [0x693da0], ecx
lea ecx, [ebx + ebx]
and cx, 0xfe
and eax, 1
add eax, ecx
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push edx
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x49fbc1
cmp ax, 0x3fff
jbe 0x49fbef
test ax, ax
jns 0x49fbcb
cmp ax, 0xbfff
jbe 0x49fbef
test byte [0x693f68], 1
je 0x49fbef
jmp 0x49fbcb
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49fbef
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f25], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49fc51
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49fc10
call fcn.00401000
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov edx, eax
and edx, 1
mov dword [0x693b6c], edx
movzx ebx, word [0x693efe]
mov edx, ebx
shr dx, 7
mov ecx, edx
and ecx, 1
mov dword [0x693da0], ecx
lea ecx, [ebx + ebx]
and cx, 0xfe
and eax, 1
add eax, ecx
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x49fdb2
cmp ax, 0x3fff
jbe 0x49fde0
test ax, ax
jns 0x49fdbc
cmp ax, 0xbfff
jbe 0x49fde0
test byte [0x693f68], 1
je 0x49fde0
jmp 0x49fdbc
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49fde0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
movzx eax, word [0x693efe]
mov byte [0x693f24], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x49fe42
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push esi
push esi
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49fe01
call fcn.00401000
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov edx, eax
and edx, 1
mov dword [0x693b6c], edx
movzx ebx, word [0x693efe]
mov edx, ebx
shr dx, 7
mov ecx, edx
and ecx, 1
mov dword [0x693da0], ecx
lea ecx, [ebx + ebx]
and cx, 0xfe
and eax, 1
add eax, ecx
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push ecx
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x49ffa3
cmp ax, 0x3fff
jbe 0x49ffd1
test ax, ax
jns 0x49ffad
cmp ax, 0xbfff
jbe 0x49ffd1
test byte [0x693f68], 1
je 0x49ffd1
jmp 0x49ffad
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x49ffd1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
movzx eax, word [0x693efe]
mov byte [0x693f1c], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a0033
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x49fff2
call fcn.00401000
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov edx, eax
and edx, 1
mov dword [0x693b6c], edx
movzx ebx, word [0x693efe]
mov edx, ebx
shr dx, 7
mov ecx, edx
and ecx, 1
mov dword [0x693da0], ecx
lea ecx, [ebx + ebx]
and cx, 0xfe
and eax, 1
add eax, ecx
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a0194
cmp ax, 0x3fff
jbe 0x4a01c2
test ax, ax
jns 0x4a019e
cmp ax, 0xbfff
jbe 0x4a01c2
test byte [0x693f68], 1
je 0x4a01c2
jmp 0x4a019e
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a01c2
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f11], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a0224
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edi
push edi
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a01e3
call fcn.00401000
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov edx, eax
and edx, 1
mov dword [0x693b6c], edx
movzx ebx, word [0x693efe]
mov edx, ebx
shr dx, 7
mov ecx, edx
and ecx, 1
mov dword [0x693da0], ecx
lea ecx, [ebx + ebx]
and cx, 0xfe
and eax, 1
add eax, ecx
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push ebx
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a0385
cmp ax, 0x3fff
jbe 0x4a03b3
test ax, ax
jns 0x4a038f
cmp ax, 0xbfff
jbe 0x4a03b3
test byte [0x693f68], 1
je 0x4a03b3
jmp 0x4a038f
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a03b3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
movzx eax, word [0x693efe]
mov byte [0x693f01], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a0415
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a03d4
call fcn.00401000
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov edx, eax
and edx, 1
mov dword [0x693b6c], edx
movzx ebx, word [0x693efe]
mov edx, ebx
shr dx, 7
mov ecx, edx
and ecx, 1
mov dword [0x693da0], ecx
lea ecx, [ebx + ebx]
and cx, 0xfe
and eax, 1
add eax, ecx
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a0576
cmp ax, 0x3fff
jbe 0x4a05a4
test ax, ax
jns 0x4a0580
cmp ax, 0xbfff
jbe 0x4a05a4
test byte [0x693f68], 1
je 0x4a05a4
jmp 0x4a0580
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a05a4
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a05fa
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ebp
push ebp
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a05b9
call fcn.00401000
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov edx, eax
and edx, 1
mov dword [0x693b6c], edx
movzx ebx, word [0x693efe]
mov edx, ebx
shr dx, 7
mov ecx, edx
and ecx, 1
mov dword [0x693da0], ecx
lea ecx, [ebx + ebx]
and cx, 0xfe
and eax, 1
add eax, ecx
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push esi
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a075b
cmp ax, 0x3fff
jbe 0x4a0789
test ax, ax
jns 0x4a0765
cmp ax, 0xbfff
jbe 0x4a0789
test byte [0x693f68], 1
je 0x4a0789
jmp 0x4a0765
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a0789
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov byte [0x693f2a], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a07eb
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edx
push edx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a07aa
call fcn.00401000
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov edx, eax
and edx, 1
mov dword [0x693b6c], edx
movzx edx, word [0x693efe]
mov ecx, edx
and ecx, 1
mov dword [0x693da8], ecx
mov ecx, edx
shr cx, 1
and ecx, 0x7f
and eax, 1
shl eax, 7
add eax, ecx
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a0949
cmp ax, 0x3fff
jbe 0x4a0977
test ax, ax
jns 0x4a0953
cmp ax, 0xbfff
jbe 0x4a0977
test byte [0x693f68], 1
je 0x4a0977
jmp 0x4a0953
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a0977
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f26], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a09d9
mov dword [esp], 3
call fcn.00416240
push ebp
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a0998
call fcn.00401000
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov edx, eax
and edx, 1
mov dword [0x693b6c], edx
movzx edx, word [0x693efe]
mov ecx, edx
and ecx, 1
mov dword [0x693da8], ecx
mov ecx, edx
shr cx, 1
and ecx, 0x7f
and eax, 1
shl eax, 7
add eax, ecx
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push edi
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a0b37
cmp ax, 0x3fff
jbe 0x4a0b65
test ax, ax
jns 0x4a0b41
cmp ax, 0xbfff
jbe 0x4a0b65
test byte [0x693f68], 1
je 0x4a0b65
jmp 0x4a0b41
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a0b65
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
movzx eax, word [0x693efe]
mov byte [0x693f25], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a0bc7
mov dword [esp], 3
call fcn.00416240
push edx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ecx
push ecx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a0b86
call fcn.00401000
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov edx, eax
and edx, 1
mov dword [0x693b6c], edx
movzx edx, word [0x693efe]
mov ecx, edx
and ecx, 1
mov dword [0x693da8], ecx
mov ecx, edx
shr cx, 1
and ecx, 0x7f
and eax, 1
shl eax, 7
add eax, ecx
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a0d25
cmp ax, 0x3fff
jbe 0x4a0d53
test ax, ax
jns 0x4a0d2f
cmp ax, 0xbfff
jbe 0x4a0d53
test byte [0x693f68], 1
je 0x4a0d53
jmp 0x4a0d2f
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a0d53
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f24], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a0db5
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a0d74
call fcn.00401000
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov edx, eax
and edx, 1
mov dword [0x693b6c], edx
movzx edx, word [0x693efe]
mov ecx, edx
and ecx, 1
mov dword [0x693da8], ecx
mov ecx, edx
shr cx, 1
and ecx, 0x7f
and eax, 1
shl eax, 7
add eax, ecx
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push ebp
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a0f13
cmp ax, 0x3fff
jbe 0x4a0f41
test ax, ax
jns 0x4a0f1d
cmp ax, 0xbfff
jbe 0x4a0f41
test byte [0x693f68], 1
je 0x4a0f41
jmp 0x4a0f1d
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a0f41
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
movzx eax, word [0x693efe]
mov byte [0x693f1c], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a0fa3
mov dword [esp], 3
call fcn.00416240
push ecx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ebx
push ebx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a0f62
call fcn.00401000
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov edx, eax
and edx, 1
mov dword [0x693b6c], edx
movzx edx, word [0x693efe]
mov ecx, edx
and ecx, 1
mov dword [0x693da8], ecx
mov ecx, edx
shr cx, 1
and ecx, 0x7f
and eax, 1
shl eax, 7
add eax, ecx
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push edx
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a1101
cmp ax, 0x3fff
jbe 0x4a112f
test ax, ax
jns 0x4a110b
cmp ax, 0xbfff
jbe 0x4a112f
test byte [0x693f68], 1
je 0x4a112f
jmp 0x4a110b
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a112f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f11], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a1191
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a1150
call fcn.00401000
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov edx, eax
and edx, 1
mov dword [0x693b6c], edx
movzx edx, word [0x693efe]
mov ecx, edx
and ecx, 1
mov dword [0x693da8], ecx
mov ecx, edx
shr cx, 1
and ecx, 0x7f
and eax, 1
shl eax, 7
add eax, ecx
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a12ef
cmp ax, 0x3fff
jbe 0x4a131d
test ax, ax
jns 0x4a12f9
cmp ax, 0xbfff
jbe 0x4a131d
test byte [0x693f68], 1
je 0x4a131d
jmp 0x4a12f9
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a131d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
movzx eax, word [0x693efe]
mov byte [0x693f01], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a137f
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push esi
push esi
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a133e
call fcn.00401000
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov edx, eax
and edx, 1
mov dword [0x693b6c], edx
movzx edx, word [0x693efe]
mov ecx, edx
and ecx, 1
mov dword [0x693da8], ecx
mov ecx, edx
shr cx, 1
and ecx, 0x7f
and eax, 1
shl eax, 7
add eax, ecx
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push ecx
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a14dd
cmp ax, 0x3fff
jbe 0x4a150b
test ax, ax
jns 0x4a14e7
cmp ax, 0xbfff
jbe 0x4a150b
test byte [0x693f68], 1
je 0x4a150b
jmp 0x4a14e7
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a150b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a1561
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a1520
call fcn.00401000
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov edx, eax
and edx, 1
mov dword [0x693b6c], edx
movzx edx, word [0x693efe]
mov ecx, edx
and ecx, 1
mov dword [0x693da8], ecx
mov ecx, edx
shr cx, 1
and ecx, 0x7f
and eax, 1
shl eax, 7
add eax, ecx
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a16bf
cmp ax, 0x3fff
jbe 0x4a16ed
test ax, ax
jns 0x4a16c9
cmp ax, 0xbfff
jbe 0x4a16ed
test byte [0x693f68], 1
je 0x4a16ed
jmp 0x4a16c9
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a16ed
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f2a], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a174f
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edi
push edi
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a170e
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, word [0x693efe]
mov edx, ecx
shr dx, 7
mov eax, edx
and eax, 1
mov dword [0x693da0], eax
lea eax, [ecx + ecx]
and ax, 0xfe
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push ebx
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a1899
cmp ax, 0x3fff
jbe 0x4a18c7
test ax, ax
jns 0x4a18a3
cmp ax, 0xbfff
jbe 0x4a18c7
test byte [0x693f68], 1
je 0x4a18c7
jmp 0x4a18a3
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a18c7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
movzx eax, word [0x693efe]
mov byte [0x693f26], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a1929
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a18e8
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, word [0x693efe]
mov edx, ecx
shr dx, 7
mov eax, edx
and eax, 1
mov dword [0x693da0], eax
lea eax, [ecx + ecx]
and ax, 0xfe
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a1a73
cmp ax, 0x3fff
jbe 0x4a1aa1
test ax, ax
jns 0x4a1a7d
cmp ax, 0xbfff
jbe 0x4a1aa1
test byte [0x693f68], 1
je 0x4a1aa1
jmp 0x4a1a7d
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a1aa1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f25], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a1b03
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ebp
push ebp
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a1ac2
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, word [0x693efe]
mov edx, ecx
shr dx, 7
mov eax, edx
and eax, 1
mov dword [0x693da0], eax
lea eax, [ecx + ecx]
and ax, 0xfe
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push esi
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a1c4d
cmp ax, 0x3fff
jbe 0x4a1c7b
test ax, ax
jns 0x4a1c57
cmp ax, 0xbfff
jbe 0x4a1c7b
test byte [0x693f68], 1
je 0x4a1c7b
jmp 0x4a1c57
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a1c7b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov byte [0x693f24], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a1cdd
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edx
push edx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a1c9c
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, word [0x693efe]
mov edx, ecx
shr dx, 7
mov eax, edx
and eax, 1
mov dword [0x693da0], eax
lea eax, [ecx + ecx]
and ax, 0xfe
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a1e27
cmp ax, 0x3fff
jbe 0x4a1e55
test ax, ax
jns 0x4a1e31
cmp ax, 0xbfff
jbe 0x4a1e55
test byte [0x693f68], 1
je 0x4a1e55
jmp 0x4a1e31
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a1e55
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f1c], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a1eb7
mov dword [esp], 3
call fcn.00416240
push ebp
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a1e76
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, word [0x693efe]
mov edx, ecx
shr dx, 7
mov eax, edx
and eax, 1
mov dword [0x693da0], eax
lea eax, [ecx + ecx]
and ax, 0xfe
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push edi
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a2001
cmp ax, 0x3fff
jbe 0x4a202f
test ax, ax
jns 0x4a200b
cmp ax, 0xbfff
jbe 0x4a202f
test byte [0x693f68], 1
je 0x4a202f
jmp 0x4a200b
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a202f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
movzx eax, word [0x693efe]
mov byte [0x693f11], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a2091
mov dword [esp], 3
call fcn.00416240
push edx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ecx
push ecx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a2050
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, word [0x693efe]
mov edx, ecx
shr dx, 7
mov eax, edx
and eax, 1
mov dword [0x693da0], eax
lea eax, [ecx + ecx]
and ax, 0xfe
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a21db
cmp ax, 0x3fff
jbe 0x4a2209
test ax, ax
jns 0x4a21e5
cmp ax, 0xbfff
jbe 0x4a2209
test byte [0x693f68], 1
je 0x4a2209
jmp 0x4a21e5
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a2209
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f01], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a226b
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a222a
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, word [0x693efe]
mov edx, ecx
shr dx, 7
mov eax, edx
and eax, 1
mov dword [0x693da0], eax
lea eax, [ecx + ecx]
and ax, 0xfe
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push ebp
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a23b5
cmp ax, 0x3fff
jbe 0x4a23e3
test ax, ax
jns 0x4a23bf
cmp ax, 0xbfff
jbe 0x4a23e3
test byte [0x693f68], 1
je 0x4a23e3
jmp 0x4a23bf
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a23e3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a2439
mov dword [esp], 3
call fcn.00416240
push ecx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ebx
push ebx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a23f8
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, word [0x693efe]
mov edx, ecx
shr dx, 7
mov eax, edx
and eax, 1
mov dword [0x693da0], eax
lea eax, [ecx + ecx]
and ax, 0xfe
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push edx
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a2583
cmp ax, 0x3fff
jbe 0x4a25b1
test ax, ax
jns 0x4a258d
cmp ax, 0xbfff
jbe 0x4a25b1
test byte [0x693f68], 1
je 0x4a25b1
jmp 0x4a258d
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a25b1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f2a], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a2613
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a25d2
call fcn.00401000
mov dword [0x693f18], eax
movzx edx, word [0x693efe]
mov eax, edx
and eax, 1
mov dword [0x693da8], eax
mov eax, edx
shr ax, 7
mov ebx, eax
and ebx, 1
and eax, 1
mov dword [0x693da0], eax
mov eax, edx
shr ax, 1
and eax, 0x7f
mov ecx, eax
mov eax, ebx
shl eax, 7
add eax, ecx
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a2774
cmp ax, 0x3fff
jbe 0x4a27a2
test ax, ax
jns 0x4a277e
cmp ax, 0xbfff
jbe 0x4a27a2
test byte [0x693f68], 1
je 0x4a27a2
jmp 0x4a277e
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a27a2
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
movzx eax, word [0x693efe]
mov byte [0x693f26], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a2804
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push esi
push esi
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a27c3
call fcn.00401000
mov dword [0x693f18], eax
movzx edx, word [0x693efe]
mov eax, edx
and eax, 1
mov dword [0x693da8], eax
mov eax, edx
shr ax, 7
mov ebx, eax
and ebx, 1
and eax, 1
mov dword [0x693da0], eax
mov eax, edx
shr ax, 1
and eax, 0x7f
mov ecx, eax
mov eax, ebx
shl eax, 7
add eax, ecx
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push ecx
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a2965
cmp ax, 0x3fff
jbe 0x4a2993
test ax, ax
jns 0x4a296f
cmp ax, 0xbfff
jbe 0x4a2993
test byte [0x693f68], 1
je 0x4a2993
jmp 0x4a296f
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a2993
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
movzx eax, word [0x693efe]
mov byte [0x693f25], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a29f5
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a29b4
call fcn.00401000
mov dword [0x693f18], eax
movzx edx, word [0x693efe]
mov eax, edx
and eax, 1
mov dword [0x693da8], eax
mov eax, edx
shr ax, 7
mov ebx, eax
and ebx, 1
and eax, 1
mov dword [0x693da0], eax
mov eax, edx
shr ax, 1
and eax, 0x7f
mov ecx, eax
mov eax, ebx
shl eax, 7
add eax, ecx
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a2b56
cmp ax, 0x3fff
jbe 0x4a2b84
test ax, ax
jns 0x4a2b60
cmp ax, 0xbfff
jbe 0x4a2b84
test byte [0x693f68], 1
je 0x4a2b84
jmp 0x4a2b60
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a2b84
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f24], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a2be6
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edi
push edi
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a2ba5
call fcn.00401000
mov dword [0x693f18], eax
movzx edx, word [0x693efe]
mov eax, edx
and eax, 1
mov dword [0x693da8], eax
mov eax, edx
shr ax, 7
mov ebx, eax
and ebx, 1
and eax, 1
mov dword [0x693da0], eax
mov eax, edx
shr ax, 1
and eax, 0x7f
mov ecx, eax
mov eax, ebx
shl eax, 7
add eax, ecx
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push ebx
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a2d47
cmp ax, 0x3fff
jbe 0x4a2d75
test ax, ax
jns 0x4a2d51
cmp ax, 0xbfff
jbe 0x4a2d75
test byte [0x693f68], 1
je 0x4a2d75
jmp 0x4a2d51
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a2d75
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
movzx eax, word [0x693efe]
mov byte [0x693f1c], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a2dd7
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a2d96
call fcn.00401000
mov dword [0x693f18], eax
movzx edx, word [0x693efe]
mov eax, edx
and eax, 1
mov dword [0x693da8], eax
mov eax, edx
shr ax, 7
mov ebx, eax
and ebx, 1
and eax, 1
mov dword [0x693da0], eax
mov eax, edx
shr ax, 1
and eax, 0x7f
mov ecx, eax
mov eax, ebx
shl eax, 7
add eax, ecx
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a2f38
cmp ax, 0x3fff
jbe 0x4a2f66
test ax, ax
jns 0x4a2f42
cmp ax, 0xbfff
jbe 0x4a2f66
test byte [0x693f68], 1
je 0x4a2f66
jmp 0x4a2f42
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a2f66
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f11], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a2fc8
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ebp
push ebp
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a2f87
call fcn.00401000
mov dword [0x693f18], eax
movzx edx, word [0x693efe]
mov eax, edx
and eax, 1
mov dword [0x693da8], eax
mov eax, edx
shr ax, 7
mov ebx, eax
and ebx, 1
and eax, 1
mov dword [0x693da0], eax
mov eax, edx
shr ax, 1
and eax, 0x7f
mov ecx, eax
mov eax, ebx
shl eax, 7
add eax, ecx
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push esi
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a3129
cmp ax, 0x3fff
jbe 0x4a3157
test ax, ax
jns 0x4a3133
cmp ax, 0xbfff
jbe 0x4a3157
test byte [0x693f68], 1
je 0x4a3157
jmp 0x4a3133
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a3157
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov byte [0x693f01], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a31b9
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edx
push edx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a3178
call fcn.00401000
mov dword [0x693f18], eax
movzx edx, word [0x693efe]
mov eax, edx
and eax, 1
mov dword [0x693da8], eax
mov eax, edx
shr ax, 7
mov ebx, eax
and ebx, 1
and eax, 1
mov dword [0x693da0], eax
mov eax, edx
shr ax, 1
and eax, 0x7f
mov ecx, eax
mov eax, ebx
shl eax, 7
add eax, ecx
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a331a
cmp ax, 0x3fff
jbe 0x4a3348
test ax, ax
jns 0x4a3324
cmp ax, 0xbfff
jbe 0x4a3348
test byte [0x693f68], 1
je 0x4a3348
jmp 0x4a3324
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a3348
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a339e
mov dword [esp], 3
call fcn.00416240
push ebp
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a335d
call fcn.00401000
mov dword [0x693f18], eax
movzx edx, word [0x693efe]
mov eax, edx
and eax, 1
mov dword [0x693da8], eax
mov eax, edx
shr ax, 7
mov ebx, eax
and ebx, 1
and eax, 1
mov dword [0x693da0], eax
mov eax, edx
shr ax, 1
and eax, 0x7f
mov ecx, eax
mov eax, ebx
shl eax, 7
add eax, ecx
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push edi
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a34ff
cmp ax, 0x3fff
jbe 0x4a352d
test ax, ax
jns 0x4a3509
cmp ax, 0xbfff
jbe 0x4a352d
test byte [0x693f68], 1
je 0x4a352d
jmp 0x4a3509
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a352d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
movzx eax, word [0x693efe]
mov byte [0x693f2a], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a358f
mov dword [esp], 3
call fcn.00416240
push edx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ecx
push ecx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a354e
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, word [0x693efe]
mov edx, ecx
shr dx, 7
mov eax, edx
and eax, 1
mov dword [0x693da0], eax
lea eax, [ecx + ecx]
and ax, 0xfe
or eax, 1
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
and edx, 0xffffffbf
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a36cd
cmp ax, 0x3fff
jbe 0x4a36fb
test ax, ax
jns 0x4a36d7
cmp ax, 0xbfff
jbe 0x4a36fb
test byte [0x693f68], 1
je 0x4a36fb
jmp 0x4a36d7
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a36fb
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f26], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a375d
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a371c
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, word [0x693efe]
mov edx, ecx
shr dx, 7
mov eax, edx
and eax, 1
mov dword [0x693da0], eax
lea eax, [ecx + ecx]
and ax, 0xfe
or eax, 1
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
and edx, 0xffffffbf
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push ebp
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a389b
cmp ax, 0x3fff
jbe 0x4a38c9
test ax, ax
jns 0x4a38a5
cmp ax, 0xbfff
jbe 0x4a38c9
test byte [0x693f68], 1
je 0x4a38c9
jmp 0x4a38a5
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a38c9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
movzx eax, word [0x693efe]
mov byte [0x693f25], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a392b
mov dword [esp], 3
call fcn.00416240
push ecx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ebx
push ebx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a38ea
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, word [0x693efe]
mov edx, ecx
shr dx, 7
mov eax, edx
and eax, 1
mov dword [0x693da0], eax
lea eax, [ecx + ecx]
and ax, 0xfe
or eax, 1
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
and edx, 0xffffffbf
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push edx
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a3a69
cmp ax, 0x3fff
jbe 0x4a3a97
test ax, ax
jns 0x4a3a73
cmp ax, 0xbfff
jbe 0x4a3a97
test byte [0x693f68], 1
je 0x4a3a97
jmp 0x4a3a73
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a3a97
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f24], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a3af9
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a3ab8
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, word [0x693efe]
mov edx, ecx
shr dx, 7
mov eax, edx
and eax, 1
mov dword [0x693da0], eax
lea eax, [ecx + ecx]
and ax, 0xfe
or eax, 1
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
and edx, 0xffffffbf
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a3c37
cmp ax, 0x3fff
jbe 0x4a3c65
test ax, ax
jns 0x4a3c41
cmp ax, 0xbfff
jbe 0x4a3c65
test byte [0x693f68], 1
je 0x4a3c65
jmp 0x4a3c41
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a3c65
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
movzx eax, word [0x693efe]
mov byte [0x693f1c], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a3cc7
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push esi
push esi
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a3c86
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, word [0x693efe]
mov edx, ecx
shr dx, 7
mov eax, edx
and eax, 1
mov dword [0x693da0], eax
lea eax, [ecx + ecx]
and ax, 0xfe
or eax, 1
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
and edx, 0xffffffbf
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push ecx
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a3e05
cmp ax, 0x3fff
jbe 0x4a3e33
test ax, ax
jns 0x4a3e0f
cmp ax, 0xbfff
jbe 0x4a3e33
test byte [0x693f68], 1
je 0x4a3e33
jmp 0x4a3e0f
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a3e33
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
movzx eax, word [0x693efe]
mov byte [0x693f11], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a3e95
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a3e54
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, word [0x693efe]
mov edx, ecx
shr dx, 7
mov eax, edx
and eax, 1
mov dword [0x693da0], eax
lea eax, [ecx + ecx]
and ax, 0xfe
or eax, 1
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
and edx, 0xffffffbf
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a3fd3
cmp ax, 0x3fff
jbe 0x4a4001
test ax, ax
jns 0x4a3fdd
cmp ax, 0xbfff
jbe 0x4a4001
test byte [0x693f68], 1
je 0x4a4001
jmp 0x4a3fdd
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a4001
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f01], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a4063
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edi
push edi
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a4022
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, word [0x693efe]
mov edx, ecx
shr dx, 7
mov eax, edx
and eax, 1
mov dword [0x693da0], eax
lea eax, [ecx + ecx]
and ax, 0xfe
or eax, 1
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
and edx, 0xffffffbf
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push ebx
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a41a1
cmp ax, 0x3fff
jbe 0x4a41cf
test ax, ax
jns 0x4a41ab
cmp ax, 0xbfff
jbe 0x4a41cf
test byte [0x693f68], 1
je 0x4a41cf
jmp 0x4a41ab
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a41cf
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a4225
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a41e4
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, word [0x693efe]
mov edx, ecx
shr dx, 7
mov eax, edx
and eax, 1
mov dword [0x693da0], eax
lea eax, [ecx + ecx]
and ax, 0xfe
or eax, 1
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
and edx, 0xffffffbf
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a4363
cmp ax, 0x3fff
jbe 0x4a4391
test ax, ax
jns 0x4a436d
cmp ax, 0xbfff
jbe 0x4a4391
test byte [0x693f68], 1
je 0x4a4391
jmp 0x4a436d
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a4391
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f2a], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a43f3
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ebp
push ebp
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a43b2
call fcn.00401000
mov dword [0x693f18], eax
movzx edx, word [0x693efe]
mov eax, edx
and eax, 1
mov dword [0x693da8], eax
mov eax, edx
shr ax, 1
movzx eax, al
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push esi
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a4538
cmp ax, 0x3fff
jbe 0x4a4566
test ax, ax
jns 0x4a4542
cmp ax, 0xbfff
jbe 0x4a4566
test byte [0x693f68], 1
je 0x4a4566
jmp 0x4a4542
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a4566
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov byte [0x693f26], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a45c8
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edx
push edx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a4587
call fcn.00401000
mov dword [0x693f18], eax
movzx edx, word [0x693efe]
mov eax, edx
and eax, 1
mov dword [0x693da8], eax
mov eax, edx
shr ax, 1
movzx eax, al
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a470d
cmp ax, 0x3fff
jbe 0x4a473b
test ax, ax
jns 0x4a4717
cmp ax, 0xbfff
jbe 0x4a473b
test byte [0x693f68], 1
je 0x4a473b
jmp 0x4a4717
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a473b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f25], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a479d
mov dword [esp], 3
call fcn.00416240
push ebp
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a475c
call fcn.00401000
mov dword [0x693f18], eax
movzx edx, word [0x693efe]
mov eax, edx
and eax, 1
mov dword [0x693da8], eax
mov eax, edx
shr ax, 1
movzx eax, al
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push edi
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a48e2
cmp ax, 0x3fff
jbe 0x4a4910
test ax, ax
jns 0x4a48ec
cmp ax, 0xbfff
jbe 0x4a4910
test byte [0x693f68], 1
je 0x4a4910
jmp 0x4a48ec
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a4910
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
movzx eax, word [0x693efe]
mov byte [0x693f24], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a4972
mov dword [esp], 3
call fcn.00416240
push edx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ecx
push ecx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a4931
call fcn.00401000
mov dword [0x693f18], eax
movzx edx, word [0x693efe]
mov eax, edx
and eax, 1
mov dword [0x693da8], eax
mov eax, edx
shr ax, 1
movzx eax, al
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a4ab7
cmp ax, 0x3fff
jbe 0x4a4ae5
test ax, ax
jns 0x4a4ac1
cmp ax, 0xbfff
jbe 0x4a4ae5
test byte [0x693f68], 1
je 0x4a4ae5
jmp 0x4a4ac1
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a4ae5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f1c], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a4b47
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a4b06
call fcn.00401000
mov dword [0x693f18], eax
movzx edx, word [0x693efe]
mov eax, edx
and eax, 1
mov dword [0x693da8], eax
mov eax, edx
shr ax, 1
movzx eax, al
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push ebp
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a4c8c
cmp ax, 0x3fff
jbe 0x4a4cba
test ax, ax
jns 0x4a4c96
cmp ax, 0xbfff
jbe 0x4a4cba
test byte [0x693f68], 1
je 0x4a4cba
jmp 0x4a4c96
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a4cba
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
movzx eax, word [0x693efe]
mov byte [0x693f11], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a4d1c
mov dword [esp], 3
call fcn.00416240
push ecx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ebx
push ebx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a4cdb
call fcn.00401000
mov dword [0x693f18], eax
movzx edx, word [0x693efe]
mov eax, edx
and eax, 1
mov dword [0x693da8], eax
mov eax, edx
shr ax, 1
movzx eax, al
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push edx
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a4e61
cmp ax, 0x3fff
jbe 0x4a4e8f
test ax, ax
jns 0x4a4e6b
cmp ax, 0xbfff
jbe 0x4a4e8f
test byte [0x693f68], 1
je 0x4a4e8f
jmp 0x4a4e6b
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a4e8f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f01], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a4ef1
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a4eb0
call fcn.00401000
mov dword [0x693f18], eax
movzx edx, word [0x693efe]
mov eax, edx
and eax, 1
mov dword [0x693da8], eax
mov eax, edx
shr ax, 1
movzx eax, al
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a5036
cmp ax, 0x3fff
jbe 0x4a5064
test ax, ax
jns 0x4a5040
cmp ax, 0xbfff
jbe 0x4a5064
test byte [0x693f68], 1
je 0x4a5064
jmp 0x4a5040
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a5064
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a50ba
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push esi
push esi
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a5079
call fcn.00401000
mov dword [0x693f18], eax
movzx edx, word [0x693efe]
mov eax, edx
and eax, 1
mov dword [0x693da8], eax
mov eax, edx
shr ax, 1
movzx eax, al
mov word [0x693efe], ax
not edx
mov ecx, edx
and ecx, 1
movzx edx, byte [0x693f18]
or edx, 1
xor edx, ecx
mov ecx, edx
or ecx, 0x40
xor edx, edx
test ax, ax
setne dl
shl edx, 6
xor edx, ecx
mov byte [0x693f18], dl
movzx ecx, ax
mov ebx, dword [0x694108]
movzx ecx, byte [ebx + ecx]
xor ecx, 1
shl ecx, 2
or edx, 4
xor edx, ecx
or edx, 0xffffff80
mov ecx, eax
shr cx, 7
xor ecx, 1
shl ecx, 7
xor edx, ecx
mov ecx, edx
or ecx, 0x20
mov edx, eax
shr dx, 5
not edx
and edx, 1
shl edx, 5
xor edx, ecx
or edx, 8
shr ax, 3
not eax
and eax, 1
shl eax, 3
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
and eax, 0xfffffffd
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
and eax, 0xffffffef
mov dword [0x693f18], eax
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push ecx
mov dword [0x693c88], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a51ff
cmp ax, 0x3fff
jbe 0x4a522d
test ax, ax
jns 0x4a5209
cmp ax, 0xbfff
jbe 0x4a522d
test byte [0x693f68], 1
je 0x4a522d
jmp 0x4a5209
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a522d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
movzx eax, word [0x693efe]
mov byte [0x693f2a], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4a528f
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4a524e
lea edx, [eax - 0x40]
cmp edx, 7
jbe 0x4a52eb
sub eax, 0x48
cmp eax, 0xb7
ja case.default.0x4a52e4
jmp dword [eax*4 + 0x61a528]
movzx eax, word [0x693efe]
and eax, 1
mov word [0x693efe], ax
movzx edx, word [0x693d1c]
xor dl, dl
mov ecx, edx
or ecx, eax
movzx edx, byte [0x69407d]
and edx, 0x28
or edx, ecx
mov word [0x693d1c], dx
mov word [0x693d00], ax
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.default.0x4a52e4
movzx eax, word [0x693efe]
and eax, 2
mov word [0x693efe], ax
movzx edx, word [0x693d1c]
xor dl, dl
mov ecx, edx
or ecx, eax
movzx edx, byte [0x69407d]
and edx, 0x28
or edx, ecx
mov word [0x693d1c], dx
mov word [0x693d00], ax
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.default.0x4a52e4
movzx eax, word [0x693efe]
and eax, 4
mov word [0x693efe], ax
movzx edx, word [0x693d1c]
xor dl, dl
mov ecx, edx
or ecx, eax
movzx edx, byte [0x69407d]
and edx, 0x28
or edx, ecx
mov word [0x693d1c], dx
mov word [0x693d00], ax
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.default.0x4a52e4
movzx eax, word [0x693efe]
and eax, 8
mov word [0x693efe], ax
movzx edx, byte [0x69407d]
and edx, 0x28
mov byte [0x693d1c], dl
mov word [0x693d00], ax
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.default.0x4a52e4
movzx eax, word [0x693efe]
and eax, 0x10
mov word [0x693efe], ax
movzx edx, word [0x693d1c]
xor dl, dl
mov ecx, edx
or ecx, eax
movzx edx, byte [0x69407d]
and edx, 0x28
or edx, ecx
mov word [0x693d1c], dx
mov word [0x693d00], ax
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.default.0x4a52e4
movzx eax, word [0x693efe]
and eax, 0x20
mov word [0x693efe], ax
movzx edx, byte [0x69407d]
and edx, 0x28
mov byte [0x693d1c], dl
mov word [0x693d00], ax
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.default.0x4a52e4
movzx eax, word [0x693efe]
and eax, 0x40
mov word [0x693efe], ax
movzx edx, word [0x693d1c]
xor dl, dl
mov ecx, edx
or ecx, eax
movzx edx, byte [0x69407d]
and edx, 0x28
or edx, ecx
mov word [0x693d1c], dx
mov word [0x693d00], ax
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.default.0x4a52e4
movzx eax, word [0x693efe]
and ax, 0x80
mov word [0x693efe], ax
movzx edx, word [0x693d1c]
xor dl, dl
mov ecx, edx
or ecx, eax
movzx edx, byte [0x69407d]
and edx, 0x28
or edx, ecx
mov word [0x693d1c], dx
mov word [0x693d00], ax
not eax
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.default.0x4a52e4
and word [0x693efe], 0xfe
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a55b1
cmp ax, 0x3fff
jbe 0x4a55df
test ax, ax
jns 0x4a55bb
cmp ax, 0xbfff
jbe 0x4a55df
test byte [0x693f68], 1
je 0x4a55df
jmp 0x4a55bb
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a55df
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f26], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a563d
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ebp
push ebp
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xfe
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a56b3
cmp ax, 0x3fff
jbe 0x4a56e1
test ax, ax
jns 0x4a56bd
cmp ax, 0xbfff
jbe 0x4a56e1
test byte [0x693f68], 1
je 0x4a56e1
jmp 0x4a56bd
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a56e1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
movzx eax, word [0x693efe]
mov byte [0x693f25], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a573f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push edx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ecx
push ecx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xfe
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a57b5
cmp ax, 0x3fff
jbe 0x4a57e3
test ax, ax
jns 0x4a57bf
cmp ax, 0xbfff
jbe 0x4a57e3
test byte [0x693f68], 1
je 0x4a57e3
jmp 0x4a57bf
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a57e3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f24], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a5841
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xfe
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a58b7
cmp ax, 0x3fff
jbe 0x4a58e5
test ax, ax
jns 0x4a58c1
cmp ax, 0xbfff
jbe 0x4a58e5
test byte [0x693f68], 1
je 0x4a58e5
jmp 0x4a58c1
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a58e5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f1c], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a5943
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edi
push edi
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xfe
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a59b9
cmp ax, 0x3fff
jbe 0x4a59e7
test ax, ax
jns 0x4a59c3
cmp ax, 0xbfff
jbe 0x4a59e7
test byte [0x693f68], 1
je 0x4a59e7
jmp 0x4a59c3
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a59e7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov byte [0x693f11], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a5a45
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edx
push edx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xfe
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a5abb
cmp ax, 0x3fff
jbe 0x4a5ae9
test ax, ax
jns 0x4a5ac5
cmp ax, 0xbfff
jbe 0x4a5ae9
test byte [0x693f68], 1
je 0x4a5ae9
jmp 0x4a5ac5
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a5ae9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f01], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a5b47
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xfe
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a5bbd
cmp ax, 0x3fff
jbe 0x4a5beb
test ax, ax
jns 0x4a5bc7
cmp ax, 0xbfff
jbe 0x4a5beb
test byte [0x693f68], 1
je 0x4a5beb
jmp 0x4a5bc7
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a5beb
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a5c3d
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push esi
push esi
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xfe
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a5cb3
cmp ax, 0x3fff
jbe 0x4a5ce1
test ax, ax
jns 0x4a5cbd
cmp ax, 0xbfff
jbe 0x4a5ce1
test byte [0x693f68], 1
je 0x4a5ce1
jmp 0x4a5cbd
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a5ce1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
movzx eax, word [0x693efe]
mov byte [0x693f2a], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a5d3f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xfd
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a5db5
cmp ax, 0x3fff
jbe 0x4a5de3
test ax, ax
jns 0x4a5dbf
cmp ax, 0xbfff
jbe 0x4a5de3
test byte [0x693f68], 1
je 0x4a5de3
jmp 0x4a5dbf
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a5de3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f26], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a5e41
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push ebp
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xfd
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a5eb7
cmp ax, 0x3fff
jbe 0x4a5ee5
test ax, ax
jns 0x4a5ec1
cmp ax, 0xbfff
jbe 0x4a5ee5
test byte [0x693f68], 1
je 0x4a5ee5
jmp 0x4a5ec1
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a5ee5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
movzx eax, word [0x693efe]
mov byte [0x693f25], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a5f43
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push ecx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ebx
push ebx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xfd
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a5fb9
cmp ax, 0x3fff
jbe 0x4a5fe7
test ax, ax
jns 0x4a5fc3
cmp ax, 0xbfff
jbe 0x4a5fe7
test byte [0x693f68], 1
je 0x4a5fe7
jmp 0x4a5fc3
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a5fe7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
movzx eax, word [0x693efe]
mov byte [0x693f24], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a6045
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xfd
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a60bb
cmp ax, 0x3fff
jbe 0x4a60e9
test ax, ax
jns 0x4a60c5
cmp ax, 0xbfff
jbe 0x4a60e9
test byte [0x693f68], 1
je 0x4a60e9
jmp 0x4a60c5
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a60e9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f1c], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a6147
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ebp
push ebp
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xfd
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a61bd
cmp ax, 0x3fff
jbe 0x4a61eb
test ax, ax
jns 0x4a61c7
cmp ax, 0xbfff
jbe 0x4a61eb
test byte [0x693f68], 1
je 0x4a61eb
jmp 0x4a61c7
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a61eb
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
movzx eax, word [0x693efe]
mov byte [0x693f11], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a6249
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push edx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ecx
push ecx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xfd
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a62bf
cmp ax, 0x3fff
jbe 0x4a62ed
test ax, ax
jns 0x4a62c9
cmp ax, 0xbfff
jbe 0x4a62ed
test byte [0x693f68], 1
je 0x4a62ed
jmp 0x4a62c9
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a62ed
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f01], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a634b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xfd
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a63c1
cmp ax, 0x3fff
jbe 0x4a63ef
test ax, ax
jns 0x4a63cb
cmp ax, 0xbfff
jbe 0x4a63ef
test byte [0x693f68], 1
je 0x4a63ef
jmp 0x4a63cb
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a63ef
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a6441
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edi
push edi
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xfd
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a64b7
cmp ax, 0x3fff
jbe 0x4a64e5
test ax, ax
jns 0x4a64c1
cmp ax, 0xbfff
jbe 0x4a64e5
test byte [0x693f68], 1
je 0x4a64e5
jmp 0x4a64c1
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a64e5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov byte [0x693f2a], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a6543
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edx
push edx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xfb
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a65b9
cmp ax, 0x3fff
jbe 0x4a65e7
test ax, ax
jns 0x4a65c3
cmp ax, 0xbfff
jbe 0x4a65e7
test byte [0x693f68], 1
je 0x4a65e7
jmp 0x4a65c3
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a65e7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f26], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a6645
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xfb
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a66bb
cmp ax, 0x3fff
jbe 0x4a66e9
test ax, ax
jns 0x4a66c5
cmp ax, 0xbfff
jbe 0x4a66e9
test byte [0x693f68], 1
je 0x4a66e9
jmp 0x4a66c5
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a66e9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
movzx eax, word [0x693efe]
mov byte [0x693f25], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a6747
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push esi
push esi
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xfb
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a67bd
cmp ax, 0x3fff
jbe 0x4a67eb
test ax, ax
jns 0x4a67c7
cmp ax, 0xbfff
jbe 0x4a67eb
test byte [0x693f68], 1
je 0x4a67eb
jmp 0x4a67c7
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a67eb
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
movzx eax, word [0x693efe]
mov byte [0x693f24], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a6849
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xfb
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a68bf
cmp ax, 0x3fff
jbe 0x4a68ed
test ax, ax
jns 0x4a68c9
cmp ax, 0xbfff
jbe 0x4a68ed
test byte [0x693f68], 1
je 0x4a68ed
jmp 0x4a68c9
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a68ed
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f1c], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a694b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push ebp
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xfb
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a69c1
cmp ax, 0x3fff
jbe 0x4a69ef
test ax, ax
jns 0x4a69cb
cmp ax, 0xbfff
jbe 0x4a69ef
test byte [0x693f68], 1
je 0x4a69ef
jmp 0x4a69cb
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a69ef
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
movzx eax, word [0x693efe]
mov byte [0x693f11], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a6a4d
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push ecx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ebx
push ebx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xfb
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a6ac3
cmp ax, 0x3fff
jbe 0x4a6af1
test ax, ax
jns 0x4a6acd
cmp ax, 0xbfff
jbe 0x4a6af1
test byte [0x693f68], 1
je 0x4a6af1
jmp 0x4a6acd
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a6af1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
movzx eax, word [0x693efe]
mov byte [0x693f01], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a6b4f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xfb
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a6bc5
cmp ax, 0x3fff
jbe 0x4a6bf3
test ax, ax
jns 0x4a6bcf
cmp ax, 0xbfff
jbe 0x4a6bf3
test byte [0x693f68], 1
je 0x4a6bf3
jmp 0x4a6bcf
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a6bf3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a6c45
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ebp
push ebp
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xfb
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a6cbb
cmp ax, 0x3fff
jbe 0x4a6ce9
test ax, ax
jns 0x4a6cc5
cmp ax, 0xbfff
jbe 0x4a6ce9
test byte [0x693f68], 1
je 0x4a6ce9
jmp 0x4a6cc5
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a6ce9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
movzx eax, word [0x693efe]
mov byte [0x693f2a], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a6d47
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push edx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ecx
push ecx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xf7
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a6dbd
cmp ax, 0x3fff
jbe 0x4a6deb
test ax, ax
jns 0x4a6dc7
cmp ax, 0xbfff
jbe 0x4a6deb
test byte [0x693f68], 1
je 0x4a6deb
jmp 0x4a6dc7
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a6deb
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f26], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a6e49
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xf7
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a6ebf
cmp ax, 0x3fff
jbe 0x4a6eed
test ax, ax
jns 0x4a6ec9
cmp ax, 0xbfff
jbe 0x4a6eed
test byte [0x693f68], 1
je 0x4a6eed
jmp 0x4a6ec9
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a6eed
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f25], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a6f4b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edi
push edi
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xf7
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a6fc1
cmp ax, 0x3fff
jbe 0x4a6fef
test ax, ax
jns 0x4a6fcb
cmp ax, 0xbfff
jbe 0x4a6fef
test byte [0x693f68], 1
je 0x4a6fef
jmp 0x4a6fcb
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a6fef
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov byte [0x693f24], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a704d
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edx
push edx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xf7
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a70c3
cmp ax, 0x3fff
jbe 0x4a70f1
test ax, ax
jns 0x4a70cd
cmp ax, 0xbfff
jbe 0x4a70f1
test byte [0x693f68], 1
je 0x4a70f1
jmp 0x4a70cd
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a70f1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f1c], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a714f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xf7
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a71c5
cmp ax, 0x3fff
jbe 0x4a71f3
test ax, ax
jns 0x4a71cf
cmp ax, 0xbfff
jbe 0x4a71f3
test byte [0x693f68], 1
je 0x4a71f3
jmp 0x4a71cf
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a71f3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
movzx eax, word [0x693efe]
mov byte [0x693f11], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a7251
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push esi
push esi
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xf7
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a72c7
cmp ax, 0x3fff
jbe 0x4a72f5
test ax, ax
jns 0x4a72d1
cmp ax, 0xbfff
jbe 0x4a72f5
test byte [0x693f68], 1
je 0x4a72f5
jmp 0x4a72d1
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a72f5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
movzx eax, word [0x693efe]
mov byte [0x693f01], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a7353
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xf7
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a73c9
cmp ax, 0x3fff
jbe 0x4a73f7
test ax, ax
jns 0x4a73d3
cmp ax, 0xbfff
jbe 0x4a73f7
test byte [0x693f68], 1
je 0x4a73f7
jmp 0x4a73d3
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a73f7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a7449
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push ebp
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xf7
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a74bf
cmp ax, 0x3fff
jbe 0x4a74ed
test ax, ax
jns 0x4a74c9
cmp ax, 0xbfff
jbe 0x4a74ed
test byte [0x693f68], 1
je 0x4a74ed
jmp 0x4a74c9
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a74ed
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
movzx eax, word [0x693efe]
mov byte [0x693f2a], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a754b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push ecx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ebx
push ebx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xef
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a75c1
cmp ax, 0x3fff
jbe 0x4a75ef
test ax, ax
jns 0x4a75cb
cmp ax, 0xbfff
jbe 0x4a75ef
test byte [0x693f68], 1
je 0x4a75ef
jmp 0x4a75cb
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a75ef
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
movzx eax, word [0x693efe]
mov byte [0x693f26], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a764d
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xef
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a76c3
cmp ax, 0x3fff
jbe 0x4a76f1
test ax, ax
jns 0x4a76cd
cmp ax, 0xbfff
jbe 0x4a76f1
test byte [0x693f68], 1
je 0x4a76f1
jmp 0x4a76cd
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a76f1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f25], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a774f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ebp
push ebp
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xef
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a77c5
cmp ax, 0x3fff
jbe 0x4a77f3
test ax, ax
jns 0x4a77cf
cmp ax, 0xbfff
jbe 0x4a77f3
test byte [0x693f68], 1
je 0x4a77f3
jmp 0x4a77cf
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a77f3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
movzx eax, word [0x693efe]
mov byte [0x693f24], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a7851
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push edx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ecx
push ecx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xef
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a78c7
cmp ax, 0x3fff
jbe 0x4a78f5
test ax, ax
jns 0x4a78d1
cmp ax, 0xbfff
jbe 0x4a78f5
test byte [0x693f68], 1
je 0x4a78f5
jmp 0x4a78d1
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a78f5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f1c], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a7953
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xef
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a79c9
cmp ax, 0x3fff
jbe 0x4a79f7
test ax, ax
jns 0x4a79d3
cmp ax, 0xbfff
jbe 0x4a79f7
test byte [0x693f68], 1
je 0x4a79f7
jmp 0x4a79d3
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a79f7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f11], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a7a55
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edi
push edi
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xef
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a7acb
cmp ax, 0x3fff
jbe 0x4a7af9
test ax, ax
jns 0x4a7ad5
cmp ax, 0xbfff
jbe 0x4a7af9
test byte [0x693f68], 1
je 0x4a7af9
jmp 0x4a7ad5
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a7af9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov byte [0x693f01], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a7b57
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edx
push edx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xef
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a7bcd
cmp ax, 0x3fff
jbe 0x4a7bfb
test ax, ax
jns 0x4a7bd7
cmp ax, 0xbfff
jbe 0x4a7bfb
test byte [0x693f68], 1
je 0x4a7bfb
jmp 0x4a7bd7
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a7bfb
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a7c4d
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xef
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a7cc3
cmp ax, 0x3fff
jbe 0x4a7cf1
test ax, ax
jns 0x4a7ccd
cmp ax, 0xbfff
jbe 0x4a7cf1
test byte [0x693f68], 1
je 0x4a7cf1
jmp 0x4a7ccd
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a7cf1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
movzx eax, word [0x693efe]
mov byte [0x693f2a], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a7d4f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push esi
push esi
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xdf
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a7dc5
cmp ax, 0x3fff
jbe 0x4a7df3
test ax, ax
jns 0x4a7dcf
cmp ax, 0xbfff
jbe 0x4a7df3
test byte [0x693f68], 1
je 0x4a7df3
jmp 0x4a7dcf
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a7df3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
movzx eax, word [0x693efe]
mov byte [0x693f26], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a7e51
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xdf
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a7ec7
cmp ax, 0x3fff
jbe 0x4a7ef5
test ax, ax
jns 0x4a7ed1
cmp ax, 0xbfff
jbe 0x4a7ef5
test byte [0x693f68], 1
je 0x4a7ef5
jmp 0x4a7ed1
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a7ef5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f25], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a7f53
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push ebp
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xdf
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a7fc9
cmp ax, 0x3fff
jbe 0x4a7ff7
test ax, ax
jns 0x4a7fd3
cmp ax, 0xbfff
jbe 0x4a7ff7
test byte [0x693f68], 1
je 0x4a7ff7
jmp 0x4a7fd3
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a7ff7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
movzx eax, word [0x693efe]
mov byte [0x693f24], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a8055
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push ecx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ebx
push ebx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xdf
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a80cb
cmp ax, 0x3fff
jbe 0x4a80f9
test ax, ax
jns 0x4a80d5
cmp ax, 0xbfff
jbe 0x4a80f9
test byte [0x693f68], 1
je 0x4a80f9
jmp 0x4a80d5
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a80f9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
movzx eax, word [0x693efe]
mov byte [0x693f1c], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a8157
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xdf
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a81cd
cmp ax, 0x3fff
jbe 0x4a81fb
test ax, ax
jns 0x4a81d7
cmp ax, 0xbfff
jbe 0x4a81fb
test byte [0x693f68], 1
je 0x4a81fb
jmp 0x4a81d7
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a81fb
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f11], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a8259
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ebp
push ebp
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xdf
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a82cf
cmp ax, 0x3fff
jbe 0x4a82fd
test ax, ax
jns 0x4a82d9
cmp ax, 0xbfff
jbe 0x4a82fd
test byte [0x693f68], 1
je 0x4a82fd
jmp 0x4a82d9
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a82fd
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
movzx eax, word [0x693efe]
mov byte [0x693f01], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a835b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push edx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ecx
push ecx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xdf
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a83d1
cmp ax, 0x3fff
jbe 0x4a83ff
test ax, ax
jns 0x4a83db
cmp ax, 0xbfff
jbe 0x4a83ff
test byte [0x693f68], 1
je 0x4a83ff
jmp 0x4a83db
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a83ff
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a8451
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xdf
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a84c7
cmp ax, 0x3fff
jbe 0x4a84f5
test ax, ax
jns 0x4a84d1
cmp ax, 0xbfff
jbe 0x4a84f5
test byte [0x693f68], 1
je 0x4a84f5
jmp 0x4a84d1
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a84f5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f2a], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a8553
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edi
push edi
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xbf
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a85c9
cmp ax, 0x3fff
jbe 0x4a85f7
test ax, ax
jns 0x4a85d3
cmp ax, 0xbfff
jbe 0x4a85f7
test byte [0x693f68], 1
je 0x4a85f7
jmp 0x4a85d3
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a85f7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov byte [0x693f26], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a8655
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edx
push edx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xbf
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a86cb
cmp ax, 0x3fff
jbe 0x4a86f9
test ax, ax
jns 0x4a86d5
cmp ax, 0xbfff
jbe 0x4a86f9
test byte [0x693f68], 1
je 0x4a86f9
jmp 0x4a86d5
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a86f9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f25], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a8757
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xbf
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a87cd
cmp ax, 0x3fff
jbe 0x4a87fb
test ax, ax
jns 0x4a87d7
cmp ax, 0xbfff
jbe 0x4a87fb
test byte [0x693f68], 1
je 0x4a87fb
jmp 0x4a87d7
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a87fb
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
movzx eax, word [0x693efe]
mov byte [0x693f24], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a8859
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push esi
push esi
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xbf
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a88cf
cmp ax, 0x3fff
jbe 0x4a88fd
test ax, ax
jns 0x4a88d9
cmp ax, 0xbfff
jbe 0x4a88fd
test byte [0x693f68], 1
je 0x4a88fd
jmp 0x4a88d9
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a88fd
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
movzx eax, word [0x693efe]
mov byte [0x693f1c], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a895b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xbf
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a89d1
cmp ax, 0x3fff
jbe 0x4a89ff
test ax, ax
jns 0x4a89db
cmp ax, 0xbfff
jbe 0x4a89ff
test byte [0x693f68], 1
je 0x4a89ff
jmp 0x4a89db
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a89ff
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f11], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a8a5d
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push ebp
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xbf
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a8ad3
cmp ax, 0x3fff
jbe 0x4a8b01
test ax, ax
jns 0x4a8add
cmp ax, 0xbfff
jbe 0x4a8b01
test byte [0x693f68], 1
je 0x4a8b01
jmp 0x4a8add
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a8b01
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
movzx eax, word [0x693efe]
mov byte [0x693f01], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a8b5f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push ecx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ebx
push ebx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xbf
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a8bd5
cmp ax, 0x3fff
jbe 0x4a8c03
test ax, ax
jns 0x4a8bdf
cmp ax, 0xbfff
jbe 0x4a8c03
test byte [0x693f68], 1
je 0x4a8c03
jmp 0x4a8bdf
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a8c03
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a8c55
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0xbf
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a8ccb
cmp ax, 0x3fff
jbe 0x4a8cf9
test ax, ax
jns 0x4a8cd5
cmp ax, 0xbfff
jbe 0x4a8cf9
test byte [0x693f68], 1
je 0x4a8cf9
jmp 0x4a8cd5
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a8cf9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f2a], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a8d57
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ebp
push ebp
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0x7f
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a8dcc
cmp ax, 0x3fff
jbe 0x4a8dfa
test ax, ax
jns 0x4a8dd6
cmp ax, 0xbfff
jbe 0x4a8dfa
test byte [0x693f68], 1
je 0x4a8dfa
jmp 0x4a8dd6
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a8dfa
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
movzx eax, word [0x693efe]
mov byte [0x693f26], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a8e58
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push edx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ecx
push ecx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0x7f
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a8ecd
cmp ax, 0x3fff
jbe 0x4a8efb
test ax, ax
jns 0x4a8ed7
cmp ax, 0xbfff
jbe 0x4a8efb
test byte [0x693f68], 1
je 0x4a8efb
jmp 0x4a8ed7
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a8efb
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f25], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a8f59
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0x7f
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a8fce
cmp ax, 0x3fff
jbe 0x4a8ffc
test ax, ax
jns 0x4a8fd8
cmp ax, 0xbfff
jbe 0x4a8ffc
test byte [0x693f68], 1
je 0x4a8ffc
jmp 0x4a8fd8
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a8ffc
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f24], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a905a
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edi
push edi
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0x7f
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a90cf
cmp ax, 0x3fff
jbe 0x4a90fd
test ax, ax
jns 0x4a90d9
cmp ax, 0xbfff
jbe 0x4a90fd
test byte [0x693f68], 1
je 0x4a90fd
jmp 0x4a90d9
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a90fd
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov byte [0x693f1c], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a915b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edx
push edx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0x7f
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a91d0
cmp ax, 0x3fff
jbe 0x4a91fe
test ax, ax
jns 0x4a91da
cmp ax, 0xbfff
jbe 0x4a91fe
test byte [0x693f68], 1
je 0x4a91fe
jmp 0x4a91da
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a91fe
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f11], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a925c
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0x7f
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a92d1
cmp ax, 0x3fff
jbe 0x4a92ff
test ax, ax
jns 0x4a92db
cmp ax, 0xbfff
jbe 0x4a92ff
test byte [0x693f68], 1
je 0x4a92ff
jmp 0x4a92db
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a92ff
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
movzx eax, word [0x693efe]
mov byte [0x693f01], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a935d
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push esi
push esi
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0x7f
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a93d2
cmp ax, 0x3fff
jbe 0x4a9400
test ax, ax
jns 0x4a93dc
cmp ax, 0xbfff
jbe 0x4a9400
test byte [0x693f68], 1
je 0x4a9400
jmp 0x4a93dc
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a9400
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a9452
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
and word [0x693efe], 0x7f
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a94c7
cmp ax, 0x3fff
jbe 0x4a94f5
test ax, ax
jns 0x4a94d1
cmp ax, 0xbfff
jbe 0x4a94f5
test byte [0x693f68], 1
je 0x4a94f5
jmp 0x4a94d1
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a94f5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f2a], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a9553
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push ebp
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a95c8
cmp ax, 0x3fff
jbe 0x4a95f6
test ax, ax
jns 0x4a95d2
cmp ax, 0xbfff
jbe 0x4a95f6
test byte [0x693f68], 1
je 0x4a95f6
jmp 0x4a95d2
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a95f6
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
movzx eax, word [0x693efe]
mov byte [0x693f26], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a9654
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push ecx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ebx
push ebx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a96c9
cmp ax, 0x3fff
jbe 0x4a96f7
test ax, ax
jns 0x4a96d3
cmp ax, 0xbfff
jbe 0x4a96f7
test byte [0x693f68], 1
je 0x4a96f7
jmp 0x4a96d3
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a96f7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
movzx eax, word [0x693efe]
mov byte [0x693f25], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a9755
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a97ca
cmp ax, 0x3fff
jbe 0x4a97f8
test ax, ax
jns 0x4a97d4
cmp ax, 0xbfff
jbe 0x4a97f8
test byte [0x693f68], 1
je 0x4a97f8
jmp 0x4a97d4
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a97f8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f24], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a9856
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ebp
push ebp
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a98cb
cmp ax, 0x3fff
jbe 0x4a98f9
test ax, ax
jns 0x4a98d5
cmp ax, 0xbfff
jbe 0x4a98f9
test byte [0x693f68], 1
je 0x4a98f9
jmp 0x4a98d5
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a98f9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
movzx eax, word [0x693efe]
mov byte [0x693f1c], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a9957
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push edx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ecx
push ecx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a99cc
cmp ax, 0x3fff
jbe 0x4a99fa
test ax, ax
jns 0x4a99d6
cmp ax, 0xbfff
jbe 0x4a99fa
test byte [0x693f68], 1
je 0x4a99fa
jmp 0x4a99d6
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a99fa
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f11], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a9a58
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a9acd
cmp ax, 0x3fff
jbe 0x4a9afb
test ax, ax
jns 0x4a9ad7
cmp ax, 0xbfff
jbe 0x4a9afb
test byte [0x693f68], 1
je 0x4a9afb
jmp 0x4a9ad7
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a9afb
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f01], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a9b59
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edi
push edi
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a9bce
cmp ax, 0x3fff
jbe 0x4a9bfc
test ax, ax
jns 0x4a9bd8
cmp ax, 0xbfff
jbe 0x4a9bfc
test byte [0x693f68], 1
je 0x4a9bfc
jmp 0x4a9bd8
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a9bfc
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a9c4e
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edx
push edx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 1
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a9cc3
cmp ax, 0x3fff
jbe 0x4a9cf1
test ax, ax
jns 0x4a9ccd
cmp ax, 0xbfff
jbe 0x4a9cf1
test byte [0x693f68], 1
je 0x4a9cf1
jmp 0x4a9ccd
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a9cf1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f2a], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a9d4f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 2
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a9dc4
cmp ax, 0x3fff
jbe 0x4a9df2
test ax, ax
jns 0x4a9dce
cmp ax, 0xbfff
jbe 0x4a9df2
test byte [0x693f68], 1
je 0x4a9df2
jmp 0x4a9dce
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a9df2
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
movzx eax, word [0x693efe]
mov byte [0x693f26], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a9e50
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push esi
push esi
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 2
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a9ec5
cmp ax, 0x3fff
jbe 0x4a9ef3
test ax, ax
jns 0x4a9ecf
cmp ax, 0xbfff
jbe 0x4a9ef3
test byte [0x693f68], 1
je 0x4a9ef3
jmp 0x4a9ecf
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a9ef3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
movzx eax, word [0x693efe]
mov byte [0x693f25], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4a9f51
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 2
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4a9fc6
cmp ax, 0x3fff
jbe 0x4a9ff4
test ax, ax
jns 0x4a9fd0
cmp ax, 0xbfff
jbe 0x4a9ff4
test byte [0x693f68], 1
je 0x4a9ff4
jmp 0x4a9fd0
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4a9ff4
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f24], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4aa052
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push ebp
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 2
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4aa0c7
cmp ax, 0x3fff
jbe 0x4aa0f5
test ax, ax
jns 0x4aa0d1
cmp ax, 0xbfff
jbe 0x4aa0f5
test byte [0x693f68], 1
je 0x4aa0f5
jmp 0x4aa0d1
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4aa0f5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
movzx eax, word [0x693efe]
mov byte [0x693f1c], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4aa153
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push ecx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ebx
push ebx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 2
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4aa1c8
cmp ax, 0x3fff
jbe 0x4aa1f6
test ax, ax
jns 0x4aa1d2
cmp ax, 0xbfff
jbe 0x4aa1f6
test byte [0x693f68], 1
je 0x4aa1f6
jmp 0x4aa1d2
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4aa1f6
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
movzx eax, word [0x693efe]
mov byte [0x693f11], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4aa254
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 2
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4aa2c9
cmp ax, 0x3fff
jbe 0x4aa2f7
test ax, ax
jns 0x4aa2d3
cmp ax, 0xbfff
jbe 0x4aa2f7
test byte [0x693f68], 1
je 0x4aa2f7
jmp 0x4aa2d3
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4aa2f7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f01], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4aa355
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ebp
push ebp
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 2
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4aa3ca
cmp ax, 0x3fff
jbe 0x4aa3f8
test ax, ax
jns 0x4aa3d4
cmp ax, 0xbfff
jbe 0x4aa3f8
test byte [0x693f68], 1
je 0x4aa3f8
jmp 0x4aa3d4
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4aa3f8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4aa44a
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push edx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ecx
push ecx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 2
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4aa4bf
cmp ax, 0x3fff
jbe 0x4aa4ed
test ax, ax
jns 0x4aa4c9
cmp ax, 0xbfff
jbe 0x4aa4ed
test byte [0x693f68], 1
je 0x4aa4ed
jmp 0x4aa4c9
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4aa4ed
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f2a], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4aa54b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 4
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4aa5c0
cmp ax, 0x3fff
jbe 0x4aa5ee
test ax, ax
jns 0x4aa5ca
cmp ax, 0xbfff
jbe 0x4aa5ee
test byte [0x693f68], 1
je 0x4aa5ee
jmp 0x4aa5ca
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4aa5ee
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f26], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4aa64c
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edi
push edi
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 4
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4aa6c1
cmp ax, 0x3fff
jbe 0x4aa6ef
test ax, ax
jns 0x4aa6cb
cmp ax, 0xbfff
jbe 0x4aa6ef
test byte [0x693f68], 1
je 0x4aa6ef
jmp 0x4aa6cb
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4aa6ef
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov byte [0x693f25], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4aa74d
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edx
push edx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 4
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4aa7c2
cmp ax, 0x3fff
jbe 0x4aa7f0
test ax, ax
jns 0x4aa7cc
cmp ax, 0xbfff
jbe 0x4aa7f0
test byte [0x693f68], 1
je 0x4aa7f0
jmp 0x4aa7cc
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4aa7f0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f24], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4aa84e
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 4
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4aa8c3
cmp ax, 0x3fff
jbe 0x4aa8f1
test ax, ax
jns 0x4aa8cd
cmp ax, 0xbfff
jbe 0x4aa8f1
test byte [0x693f68], 1
je 0x4aa8f1
jmp 0x4aa8cd
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4aa8f1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
movzx eax, word [0x693efe]
mov byte [0x693f1c], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4aa94f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push esi
push esi
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 4
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4aa9c4
cmp ax, 0x3fff
jbe 0x4aa9f2
test ax, ax
jns 0x4aa9ce
cmp ax, 0xbfff
jbe 0x4aa9f2
test byte [0x693f68], 1
je 0x4aa9f2
jmp 0x4aa9ce
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4aa9f2
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
movzx eax, word [0x693efe]
mov byte [0x693f11], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4aaa50
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 4
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4aaac5
cmp ax, 0x3fff
jbe 0x4aaaf3
test ax, ax
jns 0x4aaacf
cmp ax, 0xbfff
jbe 0x4aaaf3
test byte [0x693f68], 1
je 0x4aaaf3
jmp 0x4aaacf
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4aaaf3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f01], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4aab51
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push ebp
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 4
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4aabc6
cmp ax, 0x3fff
jbe 0x4aabf4
test ax, ax
jns 0x4aabd0
cmp ax, 0xbfff
jbe 0x4aabf4
test byte [0x693f68], 1
je 0x4aabf4
jmp 0x4aabd0
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4aabf4
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4aac46
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push ecx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ebx
push ebx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 4
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4aacbb
cmp ax, 0x3fff
jbe 0x4aace9
test ax, ax
jns 0x4aacc5
cmp ax, 0xbfff
jbe 0x4aace9
test byte [0x693f68], 1
je 0x4aace9
jmp 0x4aacc5
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4aace9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
movzx eax, word [0x693efe]
mov byte [0x693f2a], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4aad47
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 8
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4aadbc
cmp ax, 0x3fff
jbe 0x4aadea
test ax, ax
jns 0x4aadc6
cmp ax, 0xbfff
jbe 0x4aadea
test byte [0x693f68], 1
je 0x4aadea
jmp 0x4aadc6
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4aadea
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f26], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4aae48
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ebp
push ebp
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 8
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4aaebd
cmp ax, 0x3fff
jbe 0x4aaeeb
test ax, ax
jns 0x4aaec7
cmp ax, 0xbfff
jbe 0x4aaeeb
test byte [0x693f68], 1
je 0x4aaeeb
jmp 0x4aaec7
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4aaeeb
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
movzx eax, word [0x693efe]
mov byte [0x693f25], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4aaf49
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push edx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ecx
push ecx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 8
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4aafbe
cmp ax, 0x3fff
jbe 0x4aafec
test ax, ax
jns 0x4aafc8
cmp ax, 0xbfff
jbe 0x4aafec
test byte [0x693f68], 1
je 0x4aafec
jmp 0x4aafc8
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4aafec
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f24], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4ab04a
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 8
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4ab0bf
cmp ax, 0x3fff
jbe 0x4ab0ed
test ax, ax
jns 0x4ab0c9
cmp ax, 0xbfff
jbe 0x4ab0ed
test byte [0x693f68], 1
je 0x4ab0ed
jmp 0x4ab0c9
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4ab0ed
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f1c], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4ab14b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edi
push edi
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 8
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4ab1c0
cmp ax, 0x3fff
jbe 0x4ab1ee
test ax, ax
jns 0x4ab1ca
cmp ax, 0xbfff
jbe 0x4ab1ee
test byte [0x693f68], 1
je 0x4ab1ee
jmp 0x4ab1ca
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4ab1ee
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov byte [0x693f11], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4ab24c
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edx
push edx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 8
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4ab2c1
cmp ax, 0x3fff
jbe 0x4ab2ef
test ax, ax
jns 0x4ab2cb
cmp ax, 0xbfff
jbe 0x4ab2ef
test byte [0x693f68], 1
je 0x4ab2ef
jmp 0x4ab2cb
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4ab2ef
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f01], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4ab34d
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 8
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4ab3c2
cmp ax, 0x3fff
jbe 0x4ab3f0
test ax, ax
jns 0x4ab3cc
cmp ax, 0xbfff
jbe 0x4ab3f0
test byte [0x693f68], 1
je 0x4ab3f0
jmp 0x4ab3cc
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4ab3f0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4ab442
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push esi
push esi
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 8
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4ab4b7
cmp ax, 0x3fff
jbe 0x4ab4e5
test ax, ax
jns 0x4ab4c1
cmp ax, 0xbfff
jbe 0x4ab4e5
test byte [0x693f68], 1
je 0x4ab4e5
jmp 0x4ab4c1
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4ab4e5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
movzx eax, word [0x693efe]
mov byte [0x693f2a], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4ab543
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 0x10
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4ab5b8
cmp ax, 0x3fff
jbe 0x4ab5e6
test ax, ax
jns 0x4ab5c2
cmp ax, 0xbfff
jbe 0x4ab5e6
test byte [0x693f68], 1
je 0x4ab5e6
jmp 0x4ab5c2
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4ab5e6
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f26], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4ab644
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push ebp
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 0x10
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4ab6b9
cmp ax, 0x3fff
jbe 0x4ab6e7
test ax, ax
jns 0x4ab6c3
cmp ax, 0xbfff
jbe 0x4ab6e7
test byte [0x693f68], 1
je 0x4ab6e7
jmp 0x4ab6c3
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4ab6e7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
movzx eax, word [0x693efe]
mov byte [0x693f25], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4ab745
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push ecx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ebx
push ebx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 0x10
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4ab7ba
cmp ax, 0x3fff
jbe 0x4ab7e8
test ax, ax
jns 0x4ab7c4
cmp ax, 0xbfff
jbe 0x4ab7e8
test byte [0x693f68], 1
je 0x4ab7e8
jmp 0x4ab7c4
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4ab7e8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
movzx eax, word [0x693efe]
mov byte [0x693f24], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4ab846
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 0x10
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4ab8bb
cmp ax, 0x3fff
jbe 0x4ab8e9
test ax, ax
jns 0x4ab8c5
cmp ax, 0xbfff
jbe 0x4ab8e9
test byte [0x693f68], 1
je 0x4ab8e9
jmp 0x4ab8c5
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4ab8e9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f1c], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4ab947
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ebp
push ebp
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 0x10
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4ab9bc
cmp ax, 0x3fff
jbe 0x4ab9ea
test ax, ax
jns 0x4ab9c6
cmp ax, 0xbfff
jbe 0x4ab9ea
test byte [0x693f68], 1
je 0x4ab9ea
jmp 0x4ab9c6
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4ab9ea
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
movzx eax, word [0x693efe]
mov byte [0x693f11], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4aba48
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push edx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ecx
push ecx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 0x10
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4ababd
cmp ax, 0x3fff
jbe 0x4abaeb
test ax, ax
jns 0x4abac7
cmp ax, 0xbfff
jbe 0x4abaeb
test byte [0x693f68], 1
je 0x4abaeb
jmp 0x4abac7
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4abaeb
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f01], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4abb49
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 0x10
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4abbbe
cmp ax, 0x3fff
jbe 0x4abbec
test ax, ax
jns 0x4abbc8
cmp ax, 0xbfff
jbe 0x4abbec
test byte [0x693f68], 1
je 0x4abbec
jmp 0x4abbc8
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4abbec
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4abc3e
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edi
push edi
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 0x10
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4abcb3
cmp ax, 0x3fff
jbe 0x4abce1
test ax, ax
jns 0x4abcbd
cmp ax, 0xbfff
jbe 0x4abce1
test byte [0x693f68], 1
je 0x4abce1
jmp 0x4abcbd
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4abce1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov byte [0x693f2a], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4abd3f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edx
push edx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 0x20
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4abdb4
cmp ax, 0x3fff
jbe 0x4abde2
test ax, ax
jns 0x4abdbe
cmp ax, 0xbfff
jbe 0x4abde2
test byte [0x693f68], 1
je 0x4abde2
jmp 0x4abdbe
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4abde2
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f26], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4abe40
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 0x20
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4abeb5
cmp ax, 0x3fff
jbe 0x4abee3
test ax, ax
jns 0x4abebf
cmp ax, 0xbfff
jbe 0x4abee3
test byte [0x693f68], 1
je 0x4abee3
jmp 0x4abebf
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4abee3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
movzx eax, word [0x693efe]
mov byte [0x693f25], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4abf41
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push esi
push esi
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 0x20
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4abfb6
cmp ax, 0x3fff
jbe 0x4abfe4
test ax, ax
jns 0x4abfc0
cmp ax, 0xbfff
jbe 0x4abfe4
test byte [0x693f68], 1
je 0x4abfe4
jmp 0x4abfc0
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4abfe4
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
movzx eax, word [0x693efe]
mov byte [0x693f24], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4ac042
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 0x20
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4ac0b7
cmp ax, 0x3fff
jbe 0x4ac0e5
test ax, ax
jns 0x4ac0c1
cmp ax, 0xbfff
jbe 0x4ac0e5
test byte [0x693f68], 1
je 0x4ac0e5
jmp 0x4ac0c1
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4ac0e5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f1c], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4ac143
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push ebp
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 0x20
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4ac1b8
cmp ax, 0x3fff
jbe 0x4ac1e6
test ax, ax
jns 0x4ac1c2
cmp ax, 0xbfff
jbe 0x4ac1e6
test byte [0x693f68], 1
je 0x4ac1e6
jmp 0x4ac1c2
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4ac1e6
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
movzx eax, word [0x693efe]
mov byte [0x693f11], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4ac244
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push ecx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ebx
push ebx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 0x20
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4ac2b9
cmp ax, 0x3fff
jbe 0x4ac2e7
test ax, ax
jns 0x4ac2c3
cmp ax, 0xbfff
jbe 0x4ac2e7
test byte [0x693f68], 1
je 0x4ac2e7
jmp 0x4ac2c3
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4ac2e7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
movzx eax, word [0x693efe]
mov byte [0x693f01], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4ac345
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 0x20
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4ac3ba
cmp ax, 0x3fff
jbe 0x4ac3e8
test ax, ax
jns 0x4ac3c4
cmp ax, 0xbfff
jbe 0x4ac3e8
test byte [0x693f68], 1
je 0x4ac3e8
jmp 0x4ac3c4
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4ac3e8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4ac43a
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ebp
push ebp
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 0x20
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4ac4af
cmp ax, 0x3fff
jbe 0x4ac4dd
test ax, ax
jns 0x4ac4b9
cmp ax, 0xbfff
jbe 0x4ac4dd
test byte [0x693f68], 1
je 0x4ac4dd
jmp 0x4ac4b9
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4ac4dd
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
movzx eax, word [0x693efe]
mov byte [0x693f2a], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4ac53b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push edx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ecx
push ecx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 0x40
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4ac5b0
cmp ax, 0x3fff
jbe 0x4ac5de
test ax, ax
jns 0x4ac5ba
cmp ax, 0xbfff
jbe 0x4ac5de
test byte [0x693f68], 1
je 0x4ac5de
jmp 0x4ac5ba
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4ac5de
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f26], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4ac63c
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 0x40
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4ac6b1
cmp ax, 0x3fff
jbe 0x4ac6df
test ax, ax
jns 0x4ac6bb
cmp ax, 0xbfff
jbe 0x4ac6df
test byte [0x693f68], 1
je 0x4ac6df
jmp 0x4ac6bb
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4ac6df
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f25], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4ac73d
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edi
push edi
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 0x40
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4ac7b2
cmp ax, 0x3fff
jbe 0x4ac7e0
test ax, ax
jns 0x4ac7bc
cmp ax, 0xbfff
jbe 0x4ac7e0
test byte [0x693f68], 1
je 0x4ac7e0
jmp 0x4ac7bc
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4ac7e0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov byte [0x693f24], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4ac83e
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edx
push edx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 0x40
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4ac8b3
cmp ax, 0x3fff
jbe 0x4ac8e1
test ax, ax
jns 0x4ac8bd
cmp ax, 0xbfff
jbe 0x4ac8e1
test byte [0x693f68], 1
je 0x4ac8e1
jmp 0x4ac8bd
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4ac8e1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f1c], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4ac93f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 0x40
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4ac9b4
cmp ax, 0x3fff
jbe 0x4ac9e2
test ax, ax
jns 0x4ac9be
cmp ax, 0xbfff
jbe 0x4ac9e2
test byte [0x693f68], 1
je 0x4ac9e2
jmp 0x4ac9be
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4ac9e2
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
movzx eax, word [0x693efe]
mov byte [0x693f11], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4aca40
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push esi
push esi
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 0x40
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4acab5
cmp ax, 0x3fff
jbe 0x4acae3
test ax, ax
jns 0x4acabf
cmp ax, 0xbfff
jbe 0x4acae3
test byte [0x693f68], 1
je 0x4acae3
jmp 0x4acabf
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4acae3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
movzx eax, word [0x693efe]
mov byte [0x693f01], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4acb41
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 0x40
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4acbb6
cmp ax, 0x3fff
jbe 0x4acbe4
test ax, ax
jns 0x4acbc0
cmp ax, 0xbfff
jbe 0x4acbe4
test byte [0x693f68], 1
je 0x4acbe4
jmp 0x4acbc0
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4acbe4
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4acc36
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push ebp
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 0x40
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4accab
cmp ax, 0x3fff
jbe 0x4accd9
test ax, ax
jns 0x4accb5
cmp ax, 0xbfff
jbe 0x4accd9
test byte [0x693f68], 1
je 0x4accd9
jmp 0x4accb5
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4accd9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
movzx eax, word [0x693efe]
mov byte [0x693f2a], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4acd37
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push ecx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ebx
push ebx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 0x80
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4acdad
cmp ax, 0x3fff
jbe 0x4acddb
test ax, ax
jns 0x4acdb7
cmp ax, 0xbfff
jbe 0x4acddb
test byte [0x693f68], 1
je 0x4acddb
jmp 0x4acdb7
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4acddb
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
movzx eax, word [0x693efe]
mov byte [0x693f26], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4ace39
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 0x80
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4aceaf
cmp ax, 0x3fff
jbe 0x4acedd
test ax, ax
jns 0x4aceb9
cmp ax, 0xbfff
jbe 0x4acedd
test byte [0x693f68], 1
je 0x4acedd
jmp 0x4aceb9
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4acedd
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f25], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4acf3b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ebp
push ebp
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 0x80
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4acfb1
cmp ax, 0x3fff
jbe 0x4acfdf
test ax, ax
jns 0x4acfbb
cmp ax, 0xbfff
jbe 0x4acfdf
test byte [0x693f68], 1
je 0x4acfdf
jmp 0x4acfbb
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4acfdf
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
movzx eax, word [0x693efe]
mov byte [0x693f24], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4ad03d
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push edx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push ecx
push ecx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 0x80
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4ad0b3
cmp ax, 0x3fff
jbe 0x4ad0e1
test ax, ax
jns 0x4ad0bd
cmp ax, 0xbfff
jbe 0x4ad0e1
test byte [0x693f68], 1
je 0x4ad0e1
jmp 0x4ad0bd
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4ad0e1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f1c], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4ad13f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 0x80
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4ad1b5
cmp ax, 0x3fff
jbe 0x4ad1e3
test ax, ax
jns 0x4ad1bf
cmp ax, 0xbfff
jbe 0x4ad1e3
test byte [0x693f68], 1
je 0x4ad1e3
jmp 0x4ad1bf
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4ad1e3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov byte [0x693f11], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4ad241
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edi
push edi
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 0x80
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4ad2b7
cmp ax, 0x3fff
jbe 0x4ad2e5
test ax, ax
jns 0x4ad2c1
cmp ax, 0xbfff
jbe 0x4ad2e5
test byte [0x693f68], 1
je 0x4ad2e5
jmp 0x4ad2c1
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4ad2e5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov byte [0x693f01], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4ad343
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edx
push edx
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 0x80
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4ad3b9
cmp ax, 0x3fff
jbe 0x4ad3e7
test ax, ax
jns 0x4ad3c3
cmp ax, 0xbfff
jbe 0x4ad3e7
test byte [0x693f68], 1
je 0x4ad3e7
jmp 0x4ad3c3
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4ad3e7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4ad439
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
or word [0x693efe], 0x80
movzx eax, word [0x69407c]
cmp dword [0x693b44], 4
jle 0x4ad4af
cmp ax, 0x3fff
jbe 0x4ad4dd
test ax, ax
jns 0x4ad4b9
cmp ax, 0xbfff
jbe 0x4ad4dd
test byte [0x693f68], 1
je 0x4ad4dd
jmp 0x4ad4b9
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4ad4dd
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
movzx eax, word [0x693efe]
mov byte [0x693f2a], al
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jle 0x4ad53b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push esi
push esi
movzx eax, word [0x69407c]
cmp eax, dword [0x693fd4]
jne case.default.0x4a52e4
jmp 0x49dc88
lea eax, [ebp + 2]
mov byte [0x693f00], al
lea ebp, [esi + 2]
mov word [0x693f80], bp
lea eax, [edi + 2]
mov dword [0x693d0c], eax
movzx eax, bx
mov dword [esp], eax
call fcn.004010a0
push ecx
cmp eax, 0x3f
jbe case.0x4ad5ba.127
cmp eax, 0x77
je case.0x4ad5ba.127
sub eax, 0x40
cmp eax, 0xbf
ja case.default.0x4a52e4
jmp dword [eax*4 + 0x61a808]
cmp dword [0x693b44], 4
jle 0x4ad5ea
cmp bp, 0x4001
jbe 0x4ad61a
cmp bp, 0x8001
jbe 0x4ad5f6
cmp bp, 0xc001
jbe 0x4ad61a
test byte [0x693f68], 1
je 0x4ad61a
jmp 0x4ad5f6
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4ad61a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4ad66d
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4ad6ac
cmp ax, 0x4000
jbe 0x4ad6da
cmp ax, 0x8000
jbe 0x4ad6b6
cmp ax, 0xc000
jbe 0x4ad6da
test byte [0x693f68], 1
je 0x4ad6da
jmp 0x4ad6b6
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4ad62f
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4ad6da
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4ad701
mov dword [esp], 4
call fcn.00416240
push eax
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4ad6ef
call fcn.0041df80
jmp case.default.0x4a52e4
cmp dword [0x693b44], 4
jle 0x4ad773
cmp bp, 0x4001
jbe 0x4ad7a3
cmp bp, 0x8001
jbe 0x4ad77f
cmp bp, 0xc001
jbe 0x4ad7a3
test byte [0x693f68], 1
je 0x4ad7a3
jmp 0x4ad77f
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4ad7a3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4ad7f6
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4ad835
cmp ax, 0x4000
jbe 0x4ad863
cmp ax, 0x8000
jbe 0x4ad83f
cmp ax, 0xc000
jbe 0x4ad863
test byte [0x693f68], 1
je 0x4ad863
jmp 0x4ad83f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4ad7b8
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4ad863
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4ad8e8
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f26]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f25]
or eax, edx
mov word [0x69407c], ax
movzx eax, ax
mov dword [esp], eax
call fcn.00445910
push edx
mov byte [0x693f26], al
add word [0x69407c], 1
movzx eax, al
mov word [0x693d00], ax
mov byte [0x693d1c], al
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4ad878
cmp dword [0x693b44], 4
jle 0x4ad953
cmp bp, 0x4001
jbe 0x4ad983
cmp bp, 0x8001
jbe 0x4ad95f
cmp bp, 0xc001
jbe 0x4ad983
test byte [0x693f68], 1
je 0x4ad983
jmp 0x4ad95f
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4ad983
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4ad9d6
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4ada15
cmp ax, 0x4000
jbe 0x4ada43
cmp ax, 0x8000
jbe 0x4ada1f
cmp ax, 0xc000
jbe 0x4ada43
test byte [0x693f68], 1
je 0x4ada43
jmp 0x4ada1f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4ad998
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4ada43
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4adac8
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f26]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f25]
or eax, edx
mov word [0x69407c], ax
movzx eax, ax
mov dword [esp], eax
call fcn.00445910
push edx
mov byte [0x693f25], al
add word [0x69407c], 1
movzx eax, al
mov word [0x693d00], ax
mov byte [0x693d1c], al
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4ada58
cmp dword [0x693b44], 4
jle 0x4adb33
cmp bp, 0x4001
jbe 0x4adb63
cmp bp, 0x8001
jbe 0x4adb3f
cmp bp, 0xc001
jbe 0x4adb63
test byte [0x693f68], 1
je 0x4adb63
jmp 0x4adb3f
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4adb63
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4adbb6
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4adbf5
cmp ax, 0x4000
jbe 0x4adc23
cmp ax, 0x8000
jbe 0x4adbff
cmp ax, 0xc000
jbe 0x4adc23
test byte [0x693f68], 1
je 0x4adc23
jmp 0x4adbff
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4adb78
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4adc23
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4adca8
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f26]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f25]
or eax, edx
mov word [0x69407c], ax
movzx eax, ax
mov dword [esp], eax
call fcn.00445910
push edx
mov byte [0x693f24], al
add word [0x69407c], 1
movzx eax, al
mov word [0x693d00], ax
mov byte [0x693d1c], al
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4adc38
cmp dword [0x693b44], 4
jle 0x4add13
cmp bp, 0x4001
jbe 0x4add43
cmp bp, 0x8001
jbe 0x4add1f
cmp bp, 0xc001
jbe 0x4add43
test byte [0x693f68], 1
je 0x4add43
jmp 0x4add1f
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4add43
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4add96
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4addd5
cmp ax, 0x4000
jbe 0x4ade03
cmp ax, 0x8000
jbe 0x4adddf
cmp ax, 0xc000
jbe 0x4ade03
test byte [0x693f68], 1
je 0x4ade03
jmp 0x4adddf
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4add58
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4ade03
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4ade88
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f26]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f25]
or eax, edx
mov word [0x69407c], ax
movzx eax, ax
mov dword [esp], eax
call fcn.00445910
push edx
mov byte [0x693f1c], al
add word [0x69407c], 1
movzx eax, al
mov word [0x693d00], ax
mov byte [0x693d1c], al
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4ade18
cmp dword [0x693b44], 4
jle 0x4adef3
cmp bp, 0x4001
jbe 0x4adf23
cmp bp, 0x8001
jbe 0x4adeff
cmp bp, 0xc001
jbe 0x4adf23
test byte [0x693f68], 1
je 0x4adf23
jmp 0x4adeff
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4adf23
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4adf76
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4adfb5
cmp ax, 0x4000
jbe 0x4adfe3
cmp ax, 0x8000
jbe 0x4adfbf
cmp ax, 0xc000
jbe 0x4adfe3
test byte [0x693f68], 1
je 0x4adfe3
jmp 0x4adfbf
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4adf38
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4adfe3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4ae068
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f26]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f25]
or eax, edx
mov word [0x69407c], ax
movzx eax, ax
mov dword [esp], eax
call fcn.00445910
push edx
mov byte [0x693f11], al
add word [0x69407c], 1
movzx eax, al
mov word [0x693d00], ax
mov byte [0x693d1c], al
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4adff8
cmp dword [0x693b44], 4
jle 0x4ae0d3
cmp bp, 0x4001
jbe 0x4ae103
cmp bp, 0x8001
jbe 0x4ae0df
cmp bp, 0xc001
jbe 0x4ae103
test byte [0x693f68], 1
je 0x4ae103
jmp 0x4ae0df
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4ae103
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4ae156
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4ae195
cmp ax, 0x4000
jbe 0x4ae1c3
cmp ax, 0x8000
jbe 0x4ae19f
cmp ax, 0xc000
jbe 0x4ae1c3
test byte [0x693f68], 1
je 0x4ae1c3
jmp 0x4ae19f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4ae118
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4ae1c3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4ae248
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f26]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f25]
or eax, edx
mov word [0x69407c], ax
movzx eax, ax
mov dword [esp], eax
call fcn.00445910
push edx
mov byte [0x693f01], al
add word [0x69407c], 1
movzx eax, al
mov word [0x693d00], ax
mov byte [0x693d1c], al
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4ae1d8
cmp dword [0x693b44], 4
jle 0x4ae2b3
cmp bp, 0x4001
jbe 0x4ae2e3
cmp bp, 0x8001
jbe 0x4ae2bf
cmp bp, 0xc001
jbe 0x4ae2e3
test byte [0x693f68], 1
je 0x4ae2e3
jmp 0x4ae2bf
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4ae2e3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4ae336
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4ae375
cmp ax, 0x4000
jbe 0x4ae3a3
cmp ax, 0x8000
jbe 0x4ae37f
cmp ax, 0xc000
jbe 0x4ae3a3
test byte [0x693f68], 1
je 0x4ae3a3
jmp 0x4ae37f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4ae2f8
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4ae3a3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4ae433
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f26]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f25]
or eax, edx
mov word [0x69407c], ax
movzx eax, ax
mov dword [esp], eax
call fcn.00445910
push edx
mov word [0x693efe], ax
add word [0x69407c], 1
mov word [0x693d00], ax
movzx edx, word [0x693d1c]
xor dl, dl
or edx, eax
mov word [0x693d1c], dx
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4ae3b8
cmp dword [0x693b44], 4
jle 0x4ae49e
cmp bp, 0x4001
jbe 0x4ae4ce
cmp bp, 0x8001
jbe 0x4ae4aa
cmp bp, 0xc001
jbe 0x4ae4ce
test byte [0x693f68], 1
je 0x4ae4ce
jmp 0x4ae4aa
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4ae4ce
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4ae521
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4ae560
cmp ax, 0x4000
jbe 0x4ae58e
cmp ax, 0x8000
jbe 0x4ae56a
cmp ax, 0xc000
jbe 0x4ae58e
test byte [0x693f68], 1
je 0x4ae58e
jmp 0x4ae56a
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4ae4e3
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4ae58e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4ae613
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f26]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f25]
or eax, edx
mov word [0x69407c], ax
movzx eax, ax
mov dword [esp], eax
call fcn.00445910
push edx
mov byte [0x693f2a], al
add word [0x69407c], 1
movzx eax, al
mov word [0x693d00], ax
mov byte [0x693d1c], al
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
mov dword [0x693c88], 1
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4ae5a3
cmp dword [0x693b44], 4
jle 0x4ae67e
cmp bp, 0x4001
jbe 0x4ae6ae
cmp bp, 0x8001
jbe 0x4ae68a
cmp bp, 0xc001
jbe 0x4ae6ae
test byte [0x693f68], 1
je 0x4ae6ae
jmp 0x4ae68a
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4ae6ae
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4ae701
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4ae740
cmp ax, 0x4000
jbe 0x4ae76e
cmp ax, 0x8000
jbe 0x4ae74a
cmp ax, 0xc000
jbe 0x4ae76e
test byte [0x693f68], 1
je 0x4ae76e
jmp 0x4ae74a
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4ae6c3
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4ae76e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4ae802
mov dword [esp], 4
call fcn.00416240
push edx
movzx eax, byte [0x693f26]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f25]
or eax, edx
mov word [0x69407c], ax
movzx edx, al
mov dword [0x694054], edx
mov edx, eax
shr dx, 8
movzx edx, dx
mov dword [0x694058], edx
mov edx, dword [0x693b44]
test al, 1
jne 0x4ae844
cmp edx, 1
je 0x4aea15
lea ecx, [edx - 2]
cmp ecx, 2
ja 0x4aea6e
cmp ax, 0x3fff
jg 0x4ae928
mov dword [0x693c3c], 1
mov dword [esp], 1
jmp 0x4ae941
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4ae783
cmp edx, 4
jle 0x4ae8ec
cmp edx, 5
je 0x4ae919
cmp edx, 6
jne 0x4ae9d0
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x4ae9d0
cmp ax, 0x3fff
jg 0x4ae928
mov dword [0x693c3c], 4
mov dword [esp], 4
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x4ae9d0
cmp ax, 0x3fff
jbe 0x4ae8f2
test ax, ax
js 0x4ae9f9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
movzx eax, byte [0x693f26]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.00443bf0
push eax
push eax
add word [0x69407c], 1
jmp case.default.0x4a52e4
cmp ax, 0xbfff
jbe 0x4ae8f2
test byte [0x693f68], 1
je 0x4ae8f2
jmp 0x4ae928
cmp ax, 0x3fff
jg 0x4aea53
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push ebx
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 3
jmp 0x4ae9b7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
jmp 0x4aea2c
cmp edx, 5
jne 0x4ae856
cmp ax, 0x3fff
jbe 0x4aea1b
test ax, ax
js 0x4aeafa
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 3
mov dword [esp], 3
call fcn.00416240
push edx
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x4ae9d0
cmp ax, 0xbfff
jbe 0x4aea1b
test byte [0x693f68], 1
jne 0x4aea82
jmp 0x4aea1b
cmp dword [0x693b44], 4
jle 0x4aeb3f
cmp bp, 0x4001
jbe 0x4aeb6f
cmp bp, 0x8001
jbe 0x4aeb4b
cmp bp, 0xc001
jbe 0x4aeb6f
test byte [0x693f68], 1
je 0x4aeb6f
jmp 0x4aeb4b
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4aeb6f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4aebc2
mov dword [esp], 4
call fcn.00416240
push ebp
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4aec01
cmp ax, 0x4000
jbe 0x4aec2f
cmp ax, 0x8000
jbe 0x4aec0b
cmp ax, 0xc000
jbe 0x4aec2f
test byte [0x693f68], 1
je 0x4aec2f
jmp 0x4aec0b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4aeb84
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4aec2f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4aecc3
mov dword [esp], 4
call fcn.00416240
push ebx
movzx eax, byte [0x693f26]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f25]
or eax, edx
mov word [0x69407c], ax
movzx edx, al
mov dword [0x694054], edx
mov edx, eax
shr dx, 8
movzx edx, dx
mov dword [0x694058], edx
mov edx, dword [0x693b44]
test al, 1
jne 0x4aed05
cmp edx, 1
je 0x4aeed6
lea ecx, [edx - 2]
cmp ecx, 2
ja 0x4aef2f
cmp ax, 0x3fff
jg 0x4aede9
mov dword [0x693c3c], 1
mov dword [esp], 1
jmp 0x4aee02
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4aec44
cmp edx, 4
jle 0x4aedad
cmp edx, 5
je 0x4aedda
cmp edx, 6
jne 0x4aee91
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push edx
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x4aee91
cmp ax, 0x3fff
jg 0x4aede9
mov dword [0x693c3c], 4
mov dword [esp], 4
call fcn.00416240
push ecx
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x4aee91
cmp ax, 0x3fff
jbe 0x4aedb3
test ax, ax
js 0x4aeeba
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
movzx eax, byte [0x693f25]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.00443bf0
push eax
push eax
add word [0x69407c], 1
jmp case.default.0x4a52e4
cmp ax, 0xbfff
jbe 0x4aedb3
test byte [0x693f68], 1
je 0x4aedb3
jmp 0x4aede9
cmp ax, 0x3fff
jg 0x4aef14
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push edi
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 3
jmp 0x4aee78
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
jmp 0x4aeeed
cmp edx, 5
jne 0x4aed17
cmp ax, 0x3fff
jbe 0x4aeedc
test ax, ax
js 0x4aefbb
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 3
mov dword [esp], 3
call fcn.00416240
push ebx
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x4aee91
cmp ax, 0xbfff
jbe 0x4aeedc
test byte [0x693f68], 1
jne 0x4aef43
jmp 0x4aeedc
cmp dword [0x693b44], 4
jle 0x4af000
cmp bp, 0x4001
jbe 0x4af030
cmp bp, 0x8001
jbe 0x4af00c
cmp bp, 0xc001
jbe 0x4af030
test byte [0x693f68], 1
je 0x4af030
jmp 0x4af00c
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4af030
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4af083
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4af0c2
cmp ax, 0x4000
jbe 0x4af0f0
cmp ax, 0x8000
jbe 0x4af0cc
cmp ax, 0xc000
jbe 0x4af0f0
test byte [0x693f68], 1
je 0x4af0f0
jmp 0x4af0cc
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4af045
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4af0f0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4af184
mov dword [esp], 4
call fcn.00416240
push edi
movzx eax, byte [0x693f26]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f25]
or eax, edx
mov word [0x69407c], ax
movzx edx, al
mov dword [0x694054], edx
mov edx, eax
shr dx, 8
movzx edx, dx
mov dword [0x694058], edx
mov edx, dword [0x693b44]
test al, 1
jne 0x4af1c6
cmp edx, 1
je 0x4af397
lea ecx, [edx - 2]
cmp ecx, 2
ja 0x4af3f0
cmp ax, 0x3fff
jg 0x4af2aa
mov dword [0x693c3c], 1
mov dword [esp], 1
jmp 0x4af2c3
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4af105
cmp edx, 4
jle 0x4af26e
cmp edx, 5
je 0x4af29b
cmp edx, 6
jne 0x4af352
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push edx
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push ecx
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push ebx
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x4af352
cmp ax, 0x3fff
jg 0x4af2aa
mov dword [0x693c3c], 4
mov dword [esp], 4
call fcn.00416240
push esi
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x4af352
cmp ax, 0x3fff
jbe 0x4af274
test ax, ax
js 0x4af37b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
movzx eax, byte [0x693f24]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.00443bf0
push ecx
push ecx
add word [0x69407c], 1
jmp case.default.0x4a52e4
cmp ax, 0xbfff
jbe 0x4af274
test byte [0x693f68], 1
je 0x4af274
jmp 0x4af2aa
cmp ax, 0x3fff
jg 0x4af3d5
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 3
jmp 0x4af339
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
jmp 0x4af3ae
cmp edx, 5
jne 0x4af1d8
cmp ax, 0x3fff
jbe 0x4af39d
test ax, ax
js 0x4af47c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 3
mov dword [esp], 3
call fcn.00416240
push edi
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x4af352
cmp ax, 0xbfff
jbe 0x4af39d
test byte [0x693f68], 1
jne 0x4af404
jmp 0x4af39d
cmp dword [0x693b44], 4
jle 0x4af4c1
cmp bp, 0x4001
jbe 0x4af4f1
cmp bp, 0x8001
jbe 0x4af4cd
cmp bp, 0xc001
jbe 0x4af4f1
test byte [0x693f68], 1
je 0x4af4f1
jmp 0x4af4cd
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4af4f1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4af544
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4af583
cmp ax, 0x4000
jbe 0x4af5b1
cmp ax, 0x8000
jbe 0x4af58d
cmp ax, 0xc000
jbe 0x4af5b1
test byte [0x693f68], 1
je 0x4af5b1
jmp 0x4af58d
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4af506
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4af5b1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4af645
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f26]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f25]
or eax, edx
mov word [0x69407c], ax
movzx edx, al
mov dword [0x694054], edx
mov edx, eax
shr dx, 8
movzx edx, dx
mov dword [0x694058], edx
mov edx, dword [0x693b44]
test al, 1
jne 0x4af687
cmp edx, 1
je 0x4af858
lea ecx, [edx - 2]
cmp ecx, 2
ja 0x4af8b1
cmp ax, 0x3fff
jg 0x4af76b
mov dword [0x693c3c], 1
mov dword [esp], 1
jmp 0x4af784
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4af5c6
cmp edx, 4
jle 0x4af72f
cmp edx, 5
je 0x4af75c
cmp edx, 6
jne 0x4af813
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push ecx
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push ebx
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push esi
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push edi
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x4af813
cmp ax, 0x3fff
jg 0x4af76b
mov dword [0x693c3c], 4
mov dword [esp], 4
call fcn.00416240
push ebp
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x4af813
cmp ax, 0x3fff
jbe 0x4af735
test ax, ax
js 0x4af83c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
movzx eax, byte [0x693f1c]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.00443bf0
push esi
push esi
add word [0x69407c], 1
jmp case.default.0x4a52e4
cmp ax, 0xbfff
jbe 0x4af735
test byte [0x693f68], 1
je 0x4af735
jmp 0x4af76b
cmp ax, 0x3fff
jg 0x4af896
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 3
jmp 0x4af7fa
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
jmp 0x4af86f
cmp edx, 5
jne 0x4af699
cmp ax, 0x3fff
jbe 0x4af85e
test ax, ax
js 0x4af93d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 3
mov dword [esp], 3
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x4af813
cmp ax, 0xbfff
jbe 0x4af85e
test byte [0x693f68], 1
jne 0x4af8c5
jmp 0x4af85e
cmp dword [0x693b44], 4
jle 0x4af982
cmp bp, 0x4001
jbe 0x4af9b2
cmp bp, 0x8001
jbe 0x4af98e
cmp bp, 0xc001
jbe 0x4af9b2
test byte [0x693f68], 1
je 0x4af9b2
jmp 0x4af98e
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4af9b2
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4afa05
mov dword [esp], 4
call fcn.00416240
push edx
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4afa44
cmp ax, 0x4000
jbe 0x4afa72
cmp ax, 0x8000
jbe 0x4afa4e
cmp ax, 0xc000
jbe 0x4afa72
test byte [0x693f68], 1
je 0x4afa72
jmp 0x4afa4e
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4af9c7
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4afa72
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4afb06
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f26]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f25]
or eax, edx
mov word [0x69407c], ax
movzx edx, al
mov dword [0x694054], edx
mov edx, eax
shr dx, 8
movzx edx, dx
mov dword [0x694058], edx
mov edx, dword [0x693b44]
test al, 1
jne 0x4afb48
cmp edx, 1
je 0x4afd19
lea ecx, [edx - 2]
cmp ecx, 2
ja 0x4afd72
cmp ax, 0x3fff
jg 0x4afc2c
mov dword [0x693c3c], 1
mov dword [esp], 1
jmp 0x4afc45
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4afa87
cmp edx, 4
jle 0x4afbf0
cmp edx, 5
je 0x4afc1d
cmp edx, 6
jne 0x4afcd4
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push esi
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push edi
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push ebp
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x4afcd4
cmp ax, 0x3fff
jg 0x4afc2c
mov dword [0x693c3c], 4
mov dword [esp], 4
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x4afcd4
cmp ax, 0x3fff
jbe 0x4afbf6
test ax, ax
js 0x4afcfd
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
movzx eax, byte [0x693f11]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.00443bf0
push ebp
push ebp
add word [0x69407c], 1
jmp case.default.0x4a52e4
cmp ax, 0xbfff
jbe 0x4afbf6
test byte [0x693f68], 1
je 0x4afbf6
jmp 0x4afc2c
cmp ax, 0x3fff
jg 0x4afd57
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 3
jmp 0x4afcbb
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
jmp 0x4afd30
cmp edx, 5
jne 0x4afb5a
cmp ax, 0x3fff
jbe 0x4afd1f
test ax, ax
js 0x4afdfe
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 3
mov dword [esp], 3
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x4afcd4
cmp ax, 0xbfff
jbe 0x4afd1f
test byte [0x693f68], 1
jne 0x4afd86
jmp 0x4afd1f
cmp dword [0x693b44], 4
jle 0x4afe43
cmp bp, 0x4001
jbe 0x4afe73
cmp bp, 0x8001
jbe 0x4afe4f
cmp bp, 0xc001
jbe 0x4afe73
test byte [0x693f68], 1
je 0x4afe73
jmp 0x4afe4f
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4afe73
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4afec6
mov dword [esp], 4
call fcn.00416240
push ebx
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4aff05
cmp ax, 0x4000
jbe 0x4aff33
cmp ax, 0x8000
jbe 0x4aff0f
cmp ax, 0xc000
jbe 0x4aff33
test byte [0x693f68], 1
je 0x4aff33
jmp 0x4aff0f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4afe88
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4aff33
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4affc7
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f26]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f25]
or eax, edx
mov word [0x69407c], ax
movzx edx, al
mov dword [0x694054], edx
mov edx, eax
shr dx, 8
movzx edx, dx
mov dword [0x694058], edx
mov edx, dword [0x693b44]
test al, 1
jne 0x4b0009
cmp edx, 1
je 0x4b01da
lea ecx, [edx - 2]
cmp ecx, 2
ja 0x4b0233
cmp ax, 0x3fff
jg 0x4b00ed
mov dword [0x693c3c], 1
mov dword [esp], 1
jmp 0x4b0106
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4aff48
cmp edx, 4
jle 0x4b00b1
cmp edx, 5
je 0x4b00de
cmp edx, 6
jne 0x4b0195
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push ebp
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x4b0195
cmp ax, 0x3fff
jg 0x4b00ed
mov dword [0x693c3c], 4
mov dword [esp], 4
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x4b0195
cmp ax, 0x3fff
jbe 0x4b00b7
test ax, ax
js 0x4b01be
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
movzx eax, byte [0x693f01]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.00443bf0
push eax
push eax
add word [0x69407c], 1
jmp case.default.0x4a52e4
cmp ax, 0xbfff
jbe 0x4b00b7
test byte [0x693f68], 1
je 0x4b00b7
jmp 0x4b00ed
cmp ax, 0x3fff
jg 0x4b0218
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push ecx
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 3
jmp 0x4b017c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
jmp 0x4b01f1
cmp edx, 5
jne 0x4b001b
cmp ax, 0x3fff
jbe 0x4b01e0
test ax, ax
js 0x4b02bf
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 3
mov dword [esp], 3
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x4b0195
cmp ax, 0xbfff
jbe 0x4b01e0
test byte [0x693f68], 1
jne 0x4b0247
jmp 0x4b01e0
cmp dword [0x693b44], 4
jle 0x4b0304
cmp bp, 0x4001
jbe 0x4b0334
cmp bp, 0x8001
jbe 0x4b0310
cmp bp, 0xc001
jbe 0x4b0334
test byte [0x693f68], 1
je 0x4b0334
jmp 0x4b0310
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b0334
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b0387
mov dword [esp], 4
call fcn.00416240
push edi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b03c6
cmp ax, 0x4000
jbe 0x4b03f4
cmp ax, 0x8000
jbe 0x4b03d0
cmp ax, 0xc000
jbe 0x4b03f4
test byte [0x693f68], 1
je 0x4b03f4
jmp 0x4b03d0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b0349
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b03f4
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b0488
mov dword [esp], 4
call fcn.00416240
push ecx
movzx eax, byte [0x693f26]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f25]
or eax, edx
mov word [0x69407c], ax
movzx edx, al
mov dword [0x694054], edx
mov edx, eax
shr dx, 8
movzx edx, dx
mov dword [0x694058], edx
mov edx, dword [0x693b44]
test al, 1
jne 0x4b04ca
cmp edx, 1
je 0x4b0696
lea ecx, [edx - 2]
cmp ecx, 2
ja 0x4b06ef
cmp ax, 0x3fff
jg 0x4b05ae
mov dword [0x693c3c], 1
mov dword [esp], 1
jmp 0x4b05c7
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b0409
cmp edx, 4
jle 0x4b0572
cmp edx, 5
je 0x4b059f
cmp edx, 6
jne 0x4b0656
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x4b0656
cmp ax, 0x3fff
jg 0x4b05ae
mov dword [0x693c3c], 4
mov dword [esp], 4
call fcn.00416240
push edx
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x4b0656
cmp ax, 0x3fff
jbe 0x4b0578
test ax, ax
js 0x4b067a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
xor eax, eax
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.00443bf0
push eax
push eax
add word [0x69407c], 1
jmp case.default.0x4a52e4
cmp ax, 0xbfff
jbe 0x4b0578
test byte [0x693f68], 1
je 0x4b0578
jmp 0x4b05ae
cmp ax, 0x3fff
jg 0x4b06d4
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push esi
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 3
jmp 0x4b063d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
jmp 0x4b06ad
cmp edx, 5
jne 0x4b04dc
cmp ax, 0x3fff
jbe 0x4b069c
test ax, ax
js 0x4b077b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 3
mov dword [esp], 3
call fcn.00416240
push ecx
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x4b0656
cmp ax, 0xbfff
jbe 0x4b069c
test byte [0x693f68], 1
jne 0x4b0703
jmp 0x4b069c
cmp dword [0x693b44], 4
jle 0x4b07c0
cmp bp, 0x4001
jbe 0x4b07f0
cmp bp, 0x8001
jbe 0x4b07cc
cmp bp, 0xc001
jbe 0x4b07f0
test byte [0x693f68], 1
je 0x4b07f0
jmp 0x4b07cc
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b07f0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b0843
mov dword [esp], 4
call fcn.00416240
push ebp
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b0882
cmp ax, 0x4000
jbe 0x4b08b0
cmp ax, 0x8000
jbe 0x4b088c
cmp ax, 0xc000
jbe 0x4b08b0
test byte [0x693f68], 1
je 0x4b08b0
jmp 0x4b088c
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b0805
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b08b0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b0944
mov dword [esp], 4
call fcn.00416240
push ebx
movzx eax, byte [0x693f26]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f25]
or eax, edx
mov word [0x69407c], ax
movzx edx, al
mov dword [0x694054], edx
mov edx, eax
shr dx, 8
movzx edx, dx
mov dword [0x694058], edx
mov edx, dword [0x693b44]
test al, 1
jne 0x4b0986
cmp edx, 1
je 0x4b0b57
lea ecx, [edx - 2]
cmp ecx, 2
ja 0x4b0bb0
cmp ax, 0x3fff
jg 0x4b0a6a
mov dword [0x693c3c], 1
mov dword [esp], 1
jmp 0x4b0a83
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b08c5
cmp edx, 4
jle 0x4b0a2e
cmp edx, 5
je 0x4b0a5b
cmp edx, 6
jne 0x4b0b12
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push edx
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x4b0b12
cmp ax, 0x3fff
jg 0x4b0a6a
mov dword [0x693c3c], 4
mov dword [esp], 4
call fcn.00416240
push ecx
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x4b0b12
cmp ax, 0x3fff
jbe 0x4b0a34
test ax, ax
js 0x4b0b3b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
movzx eax, byte [0x693f2a]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.00443bf0
push eax
push eax
add word [0x69407c], 1
jmp case.default.0x4a52e4
cmp ax, 0xbfff
jbe 0x4b0a34
test byte [0x693f68], 1
je 0x4b0a34
jmp 0x4b0a6a
cmp ax, 0x3fff
jg 0x4b0b95
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push edi
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 3
jmp 0x4b0af9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
jmp 0x4b0b6e
cmp edx, 5
jne 0x4b0998
cmp ax, 0x3fff
jbe 0x4b0b5d
test ax, ax
js 0x4b0c3c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 3
mov dword [esp], 3
call fcn.00416240
push ebx
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x4b0b12
cmp ax, 0xbfff
jbe 0x4b0b5d
test byte [0x693f68], 1
jne 0x4b0bc4
jmp 0x4b0b5d
cmp dword [0x693b44], 4
jle 0x4b0c81
cmp bp, 0x4001
jbe 0x4b0cb1
cmp bp, 0x8001
jbe 0x4b0c8d
cmp bp, 0xc001
jbe 0x4b0cb1
test byte [0x693f68], 1
je 0x4b0cb1
jmp 0x4b0c8d
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b0cb1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b0d04
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b0d43
cmp ax, 0x4000
jbe 0x4b0d71
cmp ax, 0x8000
jbe 0x4b0d4d
cmp ax, 0xc000
jbe 0x4b0d71
test byte [0x693f68], 1
je 0x4b0d71
jmp 0x4b0d4d
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b0cc6
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b0d71
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b0e79
mov dword [esp], 4
call fcn.00416240
push edi
mov dword [esp + 8], 7
mov dword [esp + 4], 1
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx edx, byte [0x693f11]
movzx ecx, byte [0x693f01]
movzx eax, byte [0x693f25]
mov ebx, ecx
sub ebx, eax
movzx ecx, dl
movzx eax, byte [0x693f26]
sub ecx, eax
mov eax, ecx
shl eax, 8
add ebx, eax
movzx eax, byte [0x693d1d]
mov ecx, eax
and ecx, 1
mov eax, ebx
sub eax, ecx
mov dword [0x693ef8], eax
movzx ecx, dl
mov ebx, edx
shl ebx, 8
movzx edx, byte [0x693f01]
lea edx, [ebx + edx + 1]
mov word [0x69407c], dx
mov edx, eax
sar edx, 8
mov word [0x693d1c], dx
mov word [0x693d20], cx
movzx ecx, byte [0x693f26]
not ecx
mov word [0x693d1e], cx
mov byte [0x693f11], dl
mov byte [0x693f01], al
rol ax, 8
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b0d8a
cmp dword [0x693b44], 4
jle 0x4b0ee4
cmp bp, 0x4001
jbe 0x4b0f14
cmp bp, 0x8001
jbe 0x4b0ef0
cmp bp, 0xc001
jbe 0x4b0f14
test byte [0x693f68], 1
je 0x4b0f14
jmp 0x4b0ef0
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b0f14
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b0f67
mov dword [esp], 4
call fcn.00416240
push ecx
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b0fa6
cmp ax, 0x4000
jbe 0x4b0fd4
cmp ax, 0x8000
jbe 0x4b0fb0
cmp ax, 0xc000
jbe 0x4b0fd4
test byte [0x693f68], 1
je 0x4b0fd4
jmp 0x4b0fb0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b0f29
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b0fd4
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b10dc
mov dword [esp], 4
call fcn.00416240
push eax
mov dword [esp + 8], 7
mov dword [esp + 4], 1
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx edx, byte [0x693f11]
movzx ecx, byte [0x693f01]
movzx eax, byte [0x693f1c]
mov ebx, ecx
sub ebx, eax
movzx ecx, dl
movzx eax, byte [0x693f24]
sub ecx, eax
mov eax, ecx
shl eax, 8
add ebx, eax
movzx eax, byte [0x693d1d]
mov ecx, eax
and ecx, 1
mov eax, ebx
sub eax, ecx
mov dword [0x693ef8], eax
movzx ecx, dl
mov ebx, edx
shl ebx, 8
movzx edx, byte [0x693f01]
lea edx, [ebx + edx + 1]
mov word [0x69407c], dx
mov edx, eax
sar edx, 8
mov word [0x693d1c], dx
mov word [0x693d20], cx
movzx ecx, byte [0x693f24]
not ecx
mov word [0x693d1e], cx
mov byte [0x693f11], dl
mov byte [0x693f01], al
rol ax, 8
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b0fed
cmp dword [0x693b44], 4
jle 0x4b1147
cmp bp, 0x4001
jbe 0x4b1177
cmp bp, 0x8001
jbe 0x4b1153
cmp bp, 0xc001
jbe 0x4b1177
test byte [0x693f68], 1
je 0x4b1177
jmp 0x4b1153
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b1177
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b11ca
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b1209
cmp ax, 0x4000
jbe 0x4b1237
cmp ax, 0x8000
jbe 0x4b1213
cmp ax, 0xc000
jbe 0x4b1237
test byte [0x693f68], 1
je 0x4b1237
jmp 0x4b1213
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b118c
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b1237
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b130c
mov dword [esp], 4
call fcn.00416240
push esi
mov dword [esp + 8], 7
mov dword [esp + 4], 1
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, byte [0x693d1d]
and eax, 1
neg eax
mov dword [0x693ef8], eax
movzx edx, byte [0x693f11]
movzx ecx, byte [0x693f01]
mov ebx, edx
shl ebx, 8
lea ecx, [ecx + ebx + 1]
mov word [0x69407c], cx
mov ecx, eax
sar ecx, 8
mov word [0x693d1c], cx
mov word [0x693d20], dx
not edx
mov word [0x693d1e], dx
mov byte [0x693f11], cl
mov byte [0x693f01], al
rol ax, 8
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b1250
cmp dword [0x693b44], 4
jle 0x4b1377
cmp bp, 0x4001
jbe 0x4b13a7
cmp bp, 0x8001
jbe 0x4b1383
cmp bp, 0xc001
jbe 0x4b13a7
test byte [0x693f68], 1
je 0x4b13a7
jmp 0x4b1383
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b13a7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b13fa
mov dword [esp], 4
call fcn.00416240
push edx
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b1439
cmp ax, 0x4000
jbe 0x4b1467
cmp ax, 0x8000
jbe 0x4b1443
cmp ax, 0xc000
jbe 0x4b1467
test byte [0x693f68], 1
je 0x4b1467
jmp 0x4b1443
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b13bc
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b1467
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b1552
mov dword [esp], 4
call fcn.00416240
push eax
mov dword [esp + 8], 7
mov dword [esp + 4], 1
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx ebx, byte [0x693f11]
movzx eax, byte [0x693f01]
mov edx, ebx
shl edx, 8
or edx, eax
movzx ecx, word [0x693e70]
movzx eax, dx
sub eax, ecx
mov edi, eax
movzx eax, byte [0x693d1d]
mov esi, eax
and esi, 1
mov eax, edi
sub eax, esi
mov dword [0x693ef8], eax
add edx, 1
mov word [0x69407c], dx
mov edx, eax
sar edx, 8
mov word [0x693d1c], dx
mov word [0x693d20], bx
not ecx
sar ecx, 8
mov word [0x693d1e], cx
mov byte [0x693f11], dl
mov byte [0x693f01], al
rol ax, 8
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b1480
cmp dword [0x693b44], 4
jle 0x4b15bd
cmp bp, 0x4001
jbe 0x4b15ed
cmp bp, 0x8001
jbe 0x4b15c9
cmp bp, 0xc001
jbe 0x4b15ed
test byte [0x693f68], 1
je 0x4b15ed
jmp 0x4b15c9
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b15ed
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b1640
mov dword [esp], 4
call fcn.00416240
push ebp
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b167f
cmp ax, 0x4000
jbe 0x4b16ad
cmp ax, 0x8000
jbe 0x4b1689
cmp ax, 0xc000
jbe 0x4b16ad
test byte [0x693f68], 1
je 0x4b16ad
jmp 0x4b1689
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b1602
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b16ad
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b17ad
mov dword [esp], 4
call fcn.00416240
push ebx
mov dword [esp + 8], 7
mov dword [esp + 4], 1
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx edx, byte [0x693f11]
movzx ecx, byte [0x693f25]
movzx eax, byte [0x693f01]
lea ebx, [ecx + eax]
movzx ecx, dl
movzx eax, byte [0x693f26]
add eax, ecx
shl eax, 8
lea ecx, [ebx + eax]
movzx eax, byte [0x693d1d]
and eax, 1
add eax, ecx
mov dword [0x693ef8], eax
movzx ecx, dl
mov ebx, edx
shl ebx, 8
movzx edx, byte [0x693f01]
lea edx, [ebx + edx + 1]
mov word [0x69407c], dx
mov edx, eax
sar edx, 8
mov word [0x693d1c], dx
mov word [0x693d20], cx
movzx ecx, byte [0x693f26]
mov word [0x693d1e], cx
mov byte [0x693f11], dl
mov byte [0x693f01], al
rol ax, 8
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b16c6
cmp dword [0x693b44], 4
jle 0x4b1818
cmp bp, 0x4001
jbe 0x4b1848
cmp bp, 0x8001
jbe 0x4b1824
cmp bp, 0xc001
jbe 0x4b1848
test byte [0x693f68], 1
je 0x4b1848
jmp 0x4b1824
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b1848
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b189b
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b18da
cmp ax, 0x4000
jbe 0x4b1908
cmp ax, 0x8000
jbe 0x4b18e4
cmp ax, 0xc000
jbe 0x4b1908
test byte [0x693f68], 1
je 0x4b1908
jmp 0x4b18e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b185d
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b1908
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b1a08
mov dword [esp], 4
call fcn.00416240
push eax
mov dword [esp + 8], 7
mov dword [esp + 4], 1
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx edx, byte [0x693f11]
movzx ecx, byte [0x693f1c]
movzx eax, byte [0x693f01]
lea ebx, [ecx + eax]
movzx ecx, dl
movzx eax, byte [0x693f24]
add eax, ecx
shl eax, 8
lea ecx, [ebx + eax]
movzx eax, byte [0x693d1d]
and eax, 1
add eax, ecx
mov dword [0x693ef8], eax
movzx ecx, dl
mov ebx, edx
shl ebx, 8
movzx edx, byte [0x693f01]
lea edx, [ebx + edx + 1]
mov word [0x69407c], dx
mov edx, eax
sar edx, 8
mov word [0x693d1c], dx
mov word [0x693d20], cx
movzx ecx, byte [0x693f24]
mov word [0x693d1e], cx
mov byte [0x693f11], dl
mov byte [0x693f01], al
rol ax, 8
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b1921
cmp dword [0x693b44], 4
jle 0x4b1a73
cmp bp, 0x4001
jbe 0x4b1aa3
cmp bp, 0x8001
jbe 0x4b1a7f
cmp bp, 0xc001
jbe 0x4b1aa3
test byte [0x693f68], 1
je 0x4b1aa3
jmp 0x4b1a7f
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b1aa3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b1af6
mov dword [esp], 4
call fcn.00416240
push edi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b1b35
cmp ax, 0x4000
jbe 0x4b1b63
cmp ax, 0x8000
jbe 0x4b1b3f
cmp ax, 0xc000
jbe 0x4b1b63
test byte [0x693f68], 1
je 0x4b1b63
jmp 0x4b1b3f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b1ab8
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b1b63
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b1c4b
mov dword [esp], 4
call fcn.00416240
push ecx
mov dword [esp + 8], 7
mov dword [esp + 4], 1
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, byte [0x693f11]
mov edx, eax
shl eax, 9
mov ecx, eax
movzx eax, byte [0x693f01]
add eax, eax
add ecx, eax
movzx eax, byte [0x693d1d]
and eax, 1
add eax, ecx
mov dword [0x693ef8], eax
movzx ecx, dl
mov ebx, edx
shl ebx, 8
movzx edx, byte [0x693f01]
lea edx, [ebx + edx + 1]
mov word [0x69407c], dx
mov edx, eax
sar edx, 8
mov word [0x693d1c], dx
mov word [0x693d20], cx
mov word [0x693d1e], cx
mov byte [0x693f11], dl
mov byte [0x693f01], al
rol ax, 8
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b1b7c
cmp dword [0x693b44], 4
jle 0x4b1cb6
cmp bp, 0x4001
jbe 0x4b1ce6
cmp bp, 0x8001
jbe 0x4b1cc2
cmp bp, 0xc001
jbe 0x4b1ce6
test byte [0x693f68], 1
je 0x4b1ce6
jmp 0x4b1cc2
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b1ce6
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b1d39
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b1d78
cmp ax, 0x4000
jbe 0x4b1da6
cmp ax, 0x8000
jbe 0x4b1d82
cmp ax, 0xc000
jbe 0x4b1da6
test byte [0x693f68], 1
je 0x4b1da6
jmp 0x4b1d82
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b1cfb
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b1da6
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b1e8f
mov dword [esp], 4
call fcn.00416240
push eax
mov dword [esp + 8], 7
mov dword [esp + 4], 1
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx ecx, byte [0x693f11]
movzx eax, byte [0x693f01]
mov edx, ecx
shl edx, 8
or edx, eax
movzx edi, word [0x693e70]
movzx eax, byte [0x693d1d]
mov esi, eax
and esi, 1
movzx ebx, dx
movzx eax, di
add eax, ebx
add eax, esi
mov dword [0x693ef8], eax
add edx, 1
mov word [0x69407c], dx
mov edx, eax
sar edx, 8
mov word [0x693d1c], dx
mov word [0x693d20], cx
shr di, 8
mov word [0x693d1e], di
mov byte [0x693f11], dl
mov byte [0x693f01], al
rol ax, 8
mov word [0x693d00], ax
mov dword [0x693c88], 1
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b1dbf
cmp dword [0x693b44], 4
jle 0x4b1efa
cmp bp, 0x4001
jbe 0x4b1f2a
cmp bp, 0x8001
jbe 0x4b1f06
cmp bp, 0xc001
jbe 0x4b1f2a
test byte [0x693f68], 1
je 0x4b1f2a
jmp 0x4b1f06
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b1f2a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b1f7d
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b1fbc
cmp ax, 0x4000
jbe 0x4b1fea
cmp ax, 0x8000
jbe 0x4b1fc6
cmp ax, 0xc000
jbe 0x4b1fea
test byte [0x693f68], 1
je 0x4b1fea
jmp 0x4b1fc6
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b1f3f
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b1fea
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b203c
mov dword [esp], 4
call fcn.00416240
push edx
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b207b
cmp ax, 0x3fff
jbe 0x4b20a9
test ax, ax
jns 0x4b2085
cmp ax, 0xbfff
jbe 0x4b20a9
test byte [0x693f68], 1
je 0x4b20a9
jmp 0x4b2085
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b1fff
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4b20a9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b2100
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b2142
cmp ax, 0x3ffe
jbe 0x4b2170
cmp ax, 0x7ffe
jbe 0x4b214c
add ax, 0x4001
cmp ax, 0x3fff
ja 0x4b2170
test byte [0x693f68], 1
je 0x4b2170
jmp 0x4b214c
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b20be
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x4b2170
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b21ff
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edi
mov esi, eax
mov word [0x693efe], ax
lea eax, [ebx + 1]
mov word [0x693f80], ax
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ebp
shl eax, 8
or eax, esi
mov word [0x693efe], ax
lea edx, [ebx + 2]
mov word [0x693f80], dx
cmp dword [0x693b44], 4
jle 0x4b2241
cmp ax, 0x3fff
jbe 0x4b226f
test ax, ax
jns 0x4b224b
cmp ax, 0xbfff
jbe 0x4b226f
test byte [0x693f68], 1
je 0x4b226f
jmp 0x4b224b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b2185
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4b226f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b22fa
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f25]
mov dword [esp + 4], eax
movzx eax, word [0x693efe]
mov dword [esp], eax
call fcn.004015c0
push edx
push edx
movzx eax, word [0x693efe]
mov edx, eax
cmp eax, dword [0x693fd4]
jne 0x4b22c8
mov dword [0x693bf0], 0x1a90
lea eax, [edx + 1]
mov word [0x69407c], ax
cmp dword [0x693b44], 4
jle 0x4b233c
cmp ax, 0x3fff
jbe 0x4b236c
test ax, ax
jns 0x4b2348
cmp ax, 0xbfff
jbe 0x4b236c
test byte [0x693f68], 1
je 0x4b236c
jmp 0x4b2348
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b2284
lea eax, [edx - 0x3fff]
cmp ax, 0x3fff
ja 0x4b236c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b23af
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f26]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b2381
cmp dword [0x693b44], 4
jle 0x4b2417
cmp bp, 0x4001
jbe 0x4b2447
cmp bp, 0x8001
jbe 0x4b2423
cmp bp, 0xc001
jbe 0x4b2447
test byte [0x693f68], 1
je 0x4b2447
jmp 0x4b2423
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b2447
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b249a
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b24d9
cmp ax, 0x4000
jbe 0x4b2507
cmp ax, 0x8000
jbe 0x4b24e3
cmp ax, 0xc000
jbe 0x4b2507
test byte [0x693f68], 1
je 0x4b2507
jmp 0x4b24e3
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b245c
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b2507
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b2559
mov dword [esp], 4
call fcn.00416240
push edx
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b2598
cmp ax, 0x3fff
jbe 0x4b25c6
test ax, ax
jns 0x4b25a2
cmp ax, 0xbfff
jbe 0x4b25c6
test byte [0x693f68], 1
je 0x4b25c6
jmp 0x4b25a2
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b251c
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4b25c6
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b261d
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b265f
cmp ax, 0x3ffe
jbe 0x4b268d
cmp ax, 0x7ffe
jbe 0x4b2669
add ax, 0x4001
cmp ax, 0x3fff
ja 0x4b268d
test byte [0x693f68], 1
je 0x4b268d
jmp 0x4b2669
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b25db
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x4b268d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b271c
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edi
mov esi, eax
mov word [0x693efe], ax
lea eax, [ebx + 1]
mov word [0x693f80], ax
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ebp
shl eax, 8
or eax, esi
mov word [0x693efe], ax
lea edx, [ebx + 2]
mov word [0x693f80], dx
cmp dword [0x693b44], 4
jle 0x4b275e
cmp ax, 0x3fff
jbe 0x4b278c
test ax, ax
jns 0x4b2768
cmp ax, 0xbfff
jbe 0x4b278c
test byte [0x693f68], 1
je 0x4b278c
jmp 0x4b2768
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b26a2
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4b278c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b2817
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f1c]
mov dword [esp + 4], eax
movzx eax, word [0x693efe]
mov dword [esp], eax
call fcn.004015c0
push edx
push edx
movzx eax, word [0x693efe]
mov edx, eax
cmp eax, dword [0x693fd4]
jne 0x4b27e5
mov dword [0x693bf0], 0x1a90
lea eax, [edx + 1]
mov word [0x69407c], ax
cmp dword [0x693b44], 4
jle 0x4b2859
cmp ax, 0x3fff
jbe 0x4b2889
test ax, ax
jns 0x4b2865
cmp ax, 0xbfff
jbe 0x4b2889
test byte [0x693f68], 1
je 0x4b2889
jmp 0x4b2865
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b27a1
lea eax, [edx - 0x3fff]
cmp ax, 0x3fff
ja 0x4b2889
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b28cc
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f24]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b289e
cmp dword [0x693b44], 4
jle 0x4b2934
cmp bp, 0x4001
jbe 0x4b2964
cmp bp, 0x8001
jbe 0x4b2940
cmp bp, 0xc001
jbe 0x4b2964
test byte [0x693f68], 1
je 0x4b2964
jmp 0x4b2940
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b2964
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b29b7
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b29f6
cmp ax, 0x4000
jbe 0x4b2a24
cmp ax, 0x8000
jbe 0x4b2a00
cmp ax, 0xc000
jbe 0x4b2a24
test byte [0x693f68], 1
je 0x4b2a24
jmp 0x4b2a00
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b2979
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b2a24
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b2a76
mov dword [esp], 4
call fcn.00416240
push edx
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b2ab5
cmp ax, 0x3fff
jbe 0x4b2ae3
test ax, ax
jns 0x4b2abf
cmp ax, 0xbfff
jbe 0x4b2ae3
test byte [0x693f68], 1
je 0x4b2ae3
jmp 0x4b2abf
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b2a39
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4b2ae3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b2b3a
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b2b7c
cmp ax, 0x3ffe
jbe 0x4b2baa
cmp ax, 0x7ffe
jbe 0x4b2b86
add ax, 0x4001
cmp ax, 0x3fff
ja 0x4b2baa
test byte [0x693f68], 1
je 0x4b2baa
jmp 0x4b2b86
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b2af8
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x4b2baa
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b2c39
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edi
mov esi, eax
mov word [0x693efe], ax
lea eax, [ebx + 1]
mov word [0x693f80], ax
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ebp
shl eax, 8
or eax, esi
mov word [0x693efe], ax
lea edx, [ebx + 2]
mov word [0x693f80], dx
cmp dword [0x693b44], 4
jle 0x4b2c7b
cmp ax, 0x3fff
jbe 0x4b2ca9
test ax, ax
jns 0x4b2c85
cmp ax, 0xbfff
jbe 0x4b2ca9
test byte [0x693f68], 1
je 0x4b2ca9
jmp 0x4b2c85
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b2bbf
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4b2ca9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b2d34
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f01]
mov dword [esp + 4], eax
movzx eax, word [0x693efe]
mov dword [esp], eax
call fcn.004015c0
push edx
push edx
movzx eax, word [0x693efe]
mov edx, eax
cmp eax, dword [0x693fd4]
jne 0x4b2d02
mov dword [0x693bf0], 0x1a90
lea eax, [edx + 1]
mov word [0x69407c], ax
cmp dword [0x693b44], 4
jle 0x4b2d76
cmp ax, 0x3fff
jbe 0x4b2da6
test ax, ax
jns 0x4b2d82
cmp ax, 0xbfff
jbe 0x4b2da6
test byte [0x693f68], 1
je 0x4b2da6
jmp 0x4b2d82
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b2cbe
lea eax, [edx - 0x3fff]
cmp ax, 0x3fff
ja 0x4b2da6
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b2de9
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b2dbb
cmp dword [0x693b44], 4
jle 0x4b2e51
cmp bp, 0x4001
jbe 0x4b2e81
cmp bp, 0x8001
jbe 0x4b2e5d
cmp bp, 0xc001
jbe 0x4b2e81
test byte [0x693f68], 1
je 0x4b2e81
jmp 0x4b2e5d
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b2e81
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b2ed4
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b2f13
cmp ax, 0x4000
jbe 0x4b2f41
cmp ax, 0x8000
jbe 0x4b2f1d
cmp ax, 0xc000
jbe 0x4b2f41
test byte [0x693f68], 1
je 0x4b2f41
jmp 0x4b2f1d
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b2e96
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b2f41
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b2f93
mov dword [esp], 4
call fcn.00416240
push edx
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b2fd2
cmp ax, 0x3fff
jbe 0x4b3000
test ax, ax
jns 0x4b2fdc
cmp ax, 0xbfff
jbe 0x4b3000
test byte [0x693f68], 1
je 0x4b3000
jmp 0x4b2fdc
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b2f56
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4b3000
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b3057
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b3099
cmp ax, 0x3ffe
jbe 0x4b30c7
cmp ax, 0x7ffe
jbe 0x4b30a3
add ax, 0x4001
cmp ax, 0x3fff
ja 0x4b30c7
test byte [0x693f68], 1
je 0x4b30c7
jmp 0x4b30a3
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b3015
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x4b30c7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b3156
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edi
mov esi, eax
mov word [0x69407c], ax
lea eax, [ebx + 1]
mov word [0x693f80], ax
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ebp
shl eax, 8
or eax, esi
mov word [0x69407c], ax
lea edx, [ebx + 2]
mov word [0x693f80], dx
cmp dword [0x693b44], 4
jle 0x4b3198
cmp ax, 0x3fff
jbe 0x4b31c6
test ax, ax
jns 0x4b31a2
cmp ax, 0xbfff
jbe 0x4b31c6
test byte [0x693f68], 1
je 0x4b31c6
jmp 0x4b31a2
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b30dc
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4b31c6
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b324d
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693e70]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edx
push edx
movzx edx, word [0x69407c]
mov eax, edx
cmp edx, dword [0x693fd4]
jne 0x4b321f
mov dword [0x693bf0], 0x1a90
cmp dword [0x693b44], 4
jle 0x4b328f
cmp ax, 0x3ffe
jbe 0x4b32bd
cmp ax, 0x7ffe
jbe 0x4b3299
add ax, 0x4001
cmp ax, 0x3fff
ja 0x4b32bd
test byte [0x693f68], 1
je 0x4b32bd
jmp 0x4b3299
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b31db
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x4b32bd
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b330b
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693e71]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
add eax, 1
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
add word [0x69407c], 1
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b32d2
cmp dword [0x693b44], 4
jle 0x4b3373
cmp bp, 0x4001
jbe 0x4b33a3
cmp bp, 0x8001
jbe 0x4b337f
cmp bp, 0xc001
jbe 0x4b33a3
test byte [0x693f68], 1
je 0x4b33a3
jmp 0x4b337f
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b33a3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b33f6
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b3435
cmp ax, 0x4000
jbe 0x4b3463
cmp ax, 0x8000
jbe 0x4b343f
cmp ax, 0xc000
jbe 0x4b3463
test byte [0x693f68], 1
je 0x4b3463
jmp 0x4b343f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b33b8
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b3463
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b34b5
mov dword [esp], 4
call fcn.00416240
push edx
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b34f4
cmp ax, 0x3fff
jbe 0x4b3522
test ax, ax
jns 0x4b34fe
cmp ax, 0xbfff
jbe 0x4b3522
test byte [0x693f68], 1
je 0x4b3522
jmp 0x4b34fe
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b3478
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4b3522
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b3579
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b35bb
cmp ax, 0x3ffe
jbe 0x4b35e9
cmp ax, 0x7ffe
jbe 0x4b35c5
add ax, 0x4001
cmp ax, 0x3fff
ja 0x4b35e9
test byte [0x693f68], 1
je 0x4b35e9
jmp 0x4b35c5
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b3537
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x4b35e9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b3687
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693f80]
mov esi, eax
mov dword [esp], eax
call fcn.004010a0
push edi
mov ebx, eax
mov word [0x693efe], ax
lea eax, [esi + 1]
mov word [0x693f80], ax
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ebp
shl eax, 8
or eax, ebx
mov word [0x693efe], ax
movzx edx, ax
cmp edx, dword [0x693fe0]
jne 0x4b365e
mov dword [0x693bf0], 0x1a90
cmp dword [0x693b44], 4
jle 0x4b36c9
cmp ax, 0x3fff
jbe 0x4b36f7
test ax, ax
jns 0x4b36d3
cmp ax, 0xbfff
jbe 0x4b36f7
test byte [0x693f68], 1
je 0x4b36f7
jmp 0x4b36d3
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b3602
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4b36f7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b3795
mov dword [esp], 3
call fcn.00416240
push edi
add word [0x693f80], 1
movzx eax, word [0x693efe]
mov esi, eax
mov dword [esp], eax
call fcn.004010a0
push ebp
mov byte [0x693f25], al
lea ebx, [esi + 1]
mov word [0x69407c], bx
movzx eax, bx
mov dword [esp], eax
call fcn.004010a0
push edx
mov byte [0x693f26], al
cmp dword [0x693b44], 4
jle 0x4b3c33
cmp bx, 0x3fff
jbe 0x4b3c63
test bx, bx
jns 0x4b3c3f
cmp bx, 0xbfff
jbe 0x4b3c63
test byte [0x693f68], 1
je 0x4b3c63
jmp 0x4b3c3f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b3710
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b3c7c
cmp dword [0x693b44], 4
jle 0x4b3842
cmp bp, 0x4001
jbe 0x4b3872
cmp bp, 0x8001
jbe 0x4b384e
cmp bp, 0xc001
jbe 0x4b3872
test byte [0x693f68], 1
je 0x4b3872
jmp 0x4b384e
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b3872
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b38c5
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b3904
cmp ax, 0x4000
jbe 0x4b3932
cmp ax, 0x8000
jbe 0x4b390e
cmp ax, 0xc000
jbe 0x4b3932
test byte [0x693f68], 1
je 0x4b3932
jmp 0x4b390e
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b3887
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b3932
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b3984
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b39c3
cmp ax, 0x3fff
jbe 0x4b39f1
test ax, ax
jns 0x4b39cd
cmp ax, 0xbfff
jbe 0x4b39f1
test byte [0x693f68], 1
je 0x4b39f1
jmp 0x4b39cd
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b3947
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4b39f1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b3a48
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b3a8a
cmp ax, 0x3ffe
jbe 0x4b3ab8
cmp ax, 0x7ffe
jbe 0x4b3a94
add ax, 0x4001
cmp ax, 0x3fff
ja 0x4b3ab8
test byte [0x693f68], 1
je 0x4b3ab8
jmp 0x4b3a94
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b3a06
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x4b3ab8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b3b56
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
mov esi, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov ebx, eax
mov word [0x693efe], ax
lea eax, [esi + 1]
mov word [0x693f80], ax
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ecx
shl eax, 8
or eax, ebx
mov word [0x693efe], ax
movzx edx, ax
cmp edx, dword [0x693fe0]
jne 0x4b3b2d
mov dword [0x693bf0], 0x1a90
cmp dword [0x693b44], 4
jle 0x4b3b98
cmp ax, 0x3fff
jbe 0x4b3bc6
test ax, ax
jns 0x4b3ba2
cmp ax, 0xbfff
jbe 0x4b3bc6
test byte [0x693f68], 1
je 0x4b3bc6
jmp 0x4b3ba2
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b3ad1
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4b3bc6
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b3c8e
mov dword [esp], 3
call fcn.00416240
push ebx
add word [0x693f80], 1
movzx eax, word [0x693efe]
mov esi, eax
mov dword [esp], eax
call fcn.004010a0
push edi
mov byte [0x693f1c], al
lea ebx, [esi + 1]
mov word [0x69407c], bx
movzx eax, bx
mov dword [esp], eax
call fcn.004010a0
push ebp
mov byte [0x693f24], al
cmp dword [0x693b44], 4
jg 0x4b3764
lea eax, [esi - 0x3fff]
cmp ax, 0x3fff
ja 0x4b3c63
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b37d7
mov dword [esp], 3
call fcn.00416240
push ebx
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b3bdf
cmp dword [0x693b44], 4
jle 0x4b3cf9
cmp bp, 0x4001
jbe 0x4b3d29
cmp bp, 0x8001
jbe 0x4b3d05
cmp bp, 0xc001
jbe 0x4b3d29
test byte [0x693f68], 1
je 0x4b3d29
jmp 0x4b3d05
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b3d29
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b3d7c
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b3dbb
cmp ax, 0x4000
jbe 0x4b3de9
cmp ax, 0x8000
jbe 0x4b3dc5
cmp ax, 0xc000
jbe 0x4b3de9
test byte [0x693f68], 1
je 0x4b3de9
jmp 0x4b3dc5
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b3d3e
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b3de9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b3e3b
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b3e7a
cmp ax, 0x3fff
jbe 0x4b3ea8
test ax, ax
jns 0x4b3e84
cmp ax, 0xbfff
jbe 0x4b3ea8
test byte [0x693f68], 1
je 0x4b3ea8
jmp 0x4b3e84
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b3dfe
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4b3ea8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b3eff
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b3f41
cmp ax, 0x3ffe
jbe 0x4b3f6f
cmp ax, 0x7ffe
jbe 0x4b3f4b
add ax, 0x4001
cmp ax, 0x3fff
ja 0x4b3f6f
test byte [0x693f68], 1
je 0x4b3f6f
jmp 0x4b3f4b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b3ebd
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x4b3f6f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b400d
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
mov esi, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov ebx, eax
mov word [0x693efe], ax
lea eax, [esi + 1]
mov word [0x693f80], ax
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ecx
shl eax, 8
or eax, ebx
mov word [0x693efe], ax
movzx edx, ax
cmp edx, dword [0x693fe0]
jne 0x4b3fe4
mov dword [0x693bf0], 0x1a90
cmp dword [0x693b44], 4
jle 0x4b404f
cmp ax, 0x3fff
jbe 0x4b407d
test ax, ax
jns 0x4b4059
cmp ax, 0xbfff
jbe 0x4b407d
test byte [0x693f68], 1
je 0x4b407d
jmp 0x4b4059
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b3f88
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4b407d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b40eb
mov dword [esp], 3
call fcn.00416240
push esi
add word [0x693f80], 1
movzx eax, word [0x693efe]
mov esi, eax
mov dword [esp], eax
call fcn.004010a0
push edi
mov byte [0x693f01], al
lea ebx, [esi + 1]
mov word [0x69407c], bx
movzx eax, bx
mov dword [esp], eax
call fcn.004010a0
push ebp
mov byte [0x693f11], al
cmp dword [0x693b44], 4
jle 0x4b3c33
jmp 0x4b3764
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b4092
cmp dword [0x693b44], 4
jle 0x4b4156
cmp bp, 0x4001
jbe 0x4b4186
cmp bp, 0x8001
jbe 0x4b4162
cmp bp, 0xc001
jbe 0x4b4186
test byte [0x693f68], 1
je 0x4b4186
jmp 0x4b4162
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b4186
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b41d9
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b4218
cmp ax, 0x4000
jbe 0x4b4246
cmp ax, 0x8000
jbe 0x4b4222
cmp ax, 0xc000
jbe 0x4b4246
test byte [0x693f68], 1
je 0x4b4246
jmp 0x4b4222
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b419b
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b4246
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b4298
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b42d7
cmp ax, 0x3fff
jbe 0x4b4305
test ax, ax
jns 0x4b42e1
cmp ax, 0xbfff
jbe 0x4b4305
test byte [0x693f68], 1
je 0x4b4305
jmp 0x4b42e1
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b425b
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4b4305
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b435c
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b439e
cmp ax, 0x3ffe
jbe 0x4b43cc
cmp ax, 0x7ffe
jbe 0x4b43a8
add ax, 0x4001
cmp ax, 0x3fff
ja 0x4b43cc
test byte [0x693f68], 1
je 0x4b43cc
jmp 0x4b43a8
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b431a
sub ax, 0x3fff
cmp ax, 0x3fff
ja 0x4b43cc
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b445b
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693f80]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov esi, eax
mov word [0x693efe], ax
lea eax, [ebx + 1]
mov word [0x693f80], ax
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ecx
shl eax, 8
or eax, esi
mov word [0x693efe], ax
lea edx, [ebx + 2]
mov word [0x693f80], dx
cmp dword [0x693b44], 4
jle 0x4b449d
cmp ax, 0x3fff
jbe 0x4b44cb
test ax, ax
jns 0x4b44a7
cmp ax, 0xbfff
jbe 0x4b44cb
test byte [0x693f68], 1
je 0x4b44cb
jmp 0x4b44a7
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b43e1
sub ax, 0x4000
cmp ax, 0x3fff
ja 0x4b44cb
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b4549
mov dword [esp], 3
call fcn.00416240
push esi
movzx esi, word [0x693efe]
mov ebx, esi
mov dword [esp], esi
call fcn.004010a0
push edi
mov word [0x693e70], ax
cmp esi, dword [0x693fe0]
jne 0x4b4517
mov dword [0x693bf0], 0x1a90
lea eax, [ebx + 1]
mov word [0x69407c], ax
cmp dword [0x693b44], 4
jle 0x4b458b
cmp ax, 0x3fff
jbe 0x4b45bb
test ax, ax
jns 0x4b4597
cmp ax, 0xbfff
jbe 0x4b45bb
test byte [0x693f68], 1
je 0x4b45bb
jmp 0x4b4597
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b44e0
lea eax, [ebx - 0x3fff]
cmp ax, 0x3fff
ja 0x4b45bb
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b45fc
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004010a0
push edx
shl eax, 8
or word [0x693e70], ax
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b45d0
cmp dword [0x693b44], 4
jle 0x4b4664
cmp bp, 0x4001
jbe 0x4b4694
cmp bp, 0x8001
jbe 0x4b4670
cmp bp, 0xc001
jbe 0x4b4694
test byte [0x693f68], 1
je 0x4b4694
jmp 0x4b4670
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b4694
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b46e7
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b4726
cmp ax, 0x4000
jbe 0x4b4754
cmp ax, 0x8000
jbe 0x4b4730
cmp ax, 0xc000
jbe 0x4b4754
test byte [0x693f68], 1
je 0x4b4754
jmp 0x4b4730
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b46a9
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b4754
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b47ad
mov dword [esp], 4
call fcn.00416240
push edx
movzx eax, byte [0x693f2a]
mov edx, eax
not edx
mov word [0x693d1e], dx
neg eax
mov word [0x693d1c], ax
mov byte [0x693f2a], al
and ax, 0xff
mov word [0x693d00], ax
mov word [0x693d20], 0
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b4769
cmp dword [0x693b44], 4
jle 0x4b4818
cmp bp, 0x4001
jbe 0x4b4848
cmp bp, 0x8001
jbe 0x4b4824
cmp bp, 0xc001
jbe 0x4b4848
test byte [0x693f68], 1
je 0x4b4848
jmp 0x4b4824
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b4848
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b489b
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b48da
cmp ax, 0x4000
jbe 0x4b4908
cmp ax, 0x8000
jbe 0x4b48e4
cmp ax, 0xc000
jbe 0x4b4908
test byte [0x693f68], 1
je 0x4b4908
jmp 0x4b48e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b485d
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b4908
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b496d
mov dword [esp], 4
call fcn.00416240
push edi
movzx eax, word [0x693e70]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push ebp
mov word [0x69407c], ax
cmp dword [0x693b44], 4
jle 0x4b49af
cmp bx, 0x3fff
jbe 0x4b49df
test bx, bx
jns 0x4b49bb
cmp bx, 0xbfff
jbe 0x4b49df
test byte [0x693f68], 1
je 0x4b49df
jmp 0x4b49bb
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b491d
lea eax, [ebx - 0x4000]
cmp ax, 0x3fff
ja 0x4b49df
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b4a53
mov dword [esp], 3
call fcn.00416240
push edx
movzx esi, word [0x693e70]
lea ebx, [esi + 1]
mov word [0x693e70], bx
movzx eax, bx
mov dword [esp], eax
call fcn.004010a0
push ecx
shl eax, 8
or word [0x69407c], ax
cmp dword [0x693b44], 4
jle 0x4b4a95
cmp bx, 0x3fff
jbe 0x4b4ac5
test bx, bx
jns 0x4b4aa1
cmp bx, 0xbfff
jbe 0x4b4ac5
test byte [0x693f68], 1
je 0x4b4ac5
jmp 0x4b4aa1
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b49f4
lea eax, [esi - 0x3fff]
cmp ax, 0x3fff
ja 0x4b4ac5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b4b01
mov dword [esp], 3
call fcn.00416240
push eax
add word [0x693e70], 1
movzx eax, word [0x69407c]
mov word [0x693f80], ax
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b4ada
cmp dword [0x693b44], 4
jle 0x4b4b69
cmp bp, 0x4001
jbe 0x4b4b99
cmp bp, 0x8001
jbe 0x4b4b75
cmp bp, 0xc001
jbe 0x4b4b99
test byte [0x693f68], 1
je 0x4b4b99
jmp 0x4b4b75
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b4b99
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b4bec
mov dword [esp], 4
call fcn.00416240
push ebp
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b4c2b
cmp ax, 0x4000
jbe 0x4b4c59
cmp ax, 0x8000
jbe 0x4b4c35
cmp ax, 0xc000
jbe 0x4b4c59
test byte [0x693f68], 1
je 0x4b4c59
jmp 0x4b4c35
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b4bae
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b4c59
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b4c87
mov dword [esp], 4
call fcn.00416240
push ebx
mov byte [0x693be4], 0
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b4c6e
cmp dword [0x693b44], 4
jle 0x4b4cef
cmp bp, 0x4001
jbe 0x4b4d1f
cmp bp, 0x8001
jbe 0x4b4cfb
cmp bp, 0xc001
jbe 0x4b4d1f
test byte [0x693f68], 1
je 0x4b4d1f
jmp 0x4b4cfb
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b4d1f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b4d72
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b4db1
cmp ax, 0x4000
jbe 0x4b4ddf
cmp ax, 0x8000
jbe 0x4b4dbb
cmp ax, 0xc000
jbe 0x4b4ddf
test byte [0x693f68], 1
je 0x4b4ddf
jmp 0x4b4dbb
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b4d34
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b4ddf
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b4e0d
mov dword [esp], 4
call fcn.00416240
push eax
mov byte [0x693be4], 1
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b4df4
cmp dword [0x693b44], 4
jle 0x4b4e75
cmp bp, 0x4001
jbe 0x4b4ea5
cmp bp, 0x8001
jbe 0x4b4e81
cmp bp, 0xc001
jbe 0x4b4ea5
test byte [0x693f68], 1
je 0x4b4ea5
jmp 0x4b4e81
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b4ea5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b4ef8
mov dword [esp], 4
call fcn.00416240
push edi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b4f37
cmp ax, 0x4000
jbe 0x4b4f65
cmp ax, 0x8000
jbe 0x4b4f41
cmp ax, 0xc000
jbe 0x4b4f65
test byte [0x693f68], 1
je 0x4b4f65
jmp 0x4b4f41
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b4eba
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b4f65
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b4f93
mov dword [esp], 4
call fcn.00416240
push ecx
mov byte [0x693be4], 2
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b4f7a
mov eax, dword [0x693b44]
cmp eax, 1
jle 0x4b541f
cmp eax, 4
jg 0x4b53ff
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
jbe 0x4b50ee
movzx eax, word [0x693f80]
sub ax, 0x4001
cmp ax, 0x3fff
jbe 0x4b5141
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4b5063
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 2
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b51ca
mov dword [esp], 2
call fcn.00416240
push eax
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x4b520c
cmp eax, 0x3fff
jle 0x4b523c
cmp eax, 0x7fff
jle 0x4b5218
cmp eax, 0xbfff
jle 0x4b523c
test byte [0x693f68], 1
je 0x4b523c
jmp 0x4b5218
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
cmp dword [0x693b44], 4
jle 0x4b4ff9
movzx eax, word [0x693f80]
cmp ax, 0x4000
jbe 0x4b5172
cmp ax, 0x8000
jbe 0x4b5141
cmp ax, 0xc000
jbe 0x4b5172
test byte [0x693f68], 1
je 0x4b5172
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
cmp dword [0x693b44], 4
jle 0x4b500e
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp eax, 0x3fff
jle 0x4b5063
cmp eax, 0x7fff
jle 0x4b503f
cmp eax, 0xbfff
jle 0x4b5063
test byte [0x693f68], 1
je 0x4b5063
jmp 0x4b503f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b507c
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4b523c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b52b0
mov dword [esp], 4
call fcn.00416240
push edi
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x4b52f2
cmp eax, 0x3fff
jle 0x4b5322
cmp eax, 0x7fff
jle 0x4b52fe
cmp eax, 0xbfff
jle 0x4b5322
test byte [0x693f68], 1
je 0x4b5322
jmp 0x4b52fe
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b5251
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4b5322
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 2
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b537b
mov dword [esp], 2
call fcn.00416240
push ecx
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x4b55fa
jmp 0x4b5563
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b5337
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b5643
cmp bp, 0x4001
jbe 0x4b544f
cmp bp, 0x8001
jbe 0x4b542b
cmp bp, 0xc001
jbe 0x4b544f
test byte [0x693f68], 1
je 0x4b544f
jmp 0x4b542b
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b544f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b54a2
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b54e1
cmp ax, 0x4000
jbe 0x4b550f
cmp ax, 0x8000
jbe 0x4b54eb
cmp ax, 0xc000
jbe 0x4b550f
test byte [0x693f68], 1
je 0x4b550f
jmp 0x4b54eb
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b5464
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b550f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b5593
mov dword [esp], 4
call fcn.00416240
push edi
cmp dword [0x693b44], 4
jle 0x4b55d5
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp eax, 0x3fff
jle 0x4b562a
cmp eax, 0x7fff
jle 0x4b5606
cmp eax, 0xbfff
jle 0x4b562a
test byte [0x693f68], 1
je 0x4b562a
jmp 0x4b5606
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b5524
movzx edx, byte [0x693f38]
and edx, 0xffffff80
movzx eax, byte [0x693f00]
and eax, 0x7f
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4b562a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b53bd
mov dword [esp], 1
call fcn.00416240
push eax
movzx eax, byte [0x693f2a]
mov byte [0x693f10], al
jmp case.default.0x4a52e4
cmp dword [0x693b44], 4
jle 0x4b568a
cmp bp, 0x4001
jbe 0x4b56ba
cmp bp, 0x8001
jbe 0x4b5696
cmp bp, 0xc001
jbe 0x4b56ba
test byte [0x693f68], 1
je 0x4b56ba
jmp 0x4b5696
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b56ba
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b570d
mov dword [esp], 4
call fcn.00416240
push edx
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b574c
cmp ax, 0x4000
jbe 0x4b577a
cmp ax, 0x8000
jbe 0x4b5756
cmp ax, 0xc000
jbe 0x4b577a
test byte [0x693f68], 1
je 0x4b577a
jmp 0x4b5756
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b56cf
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b577a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b57e9
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f2a]
mov byte [0x693f00], al
mov byte [0x693f38], al
movzx edx, byte [0x693f10]
shl edx, 8
movzx eax, al
or eax, edx
cmp dword [0x693b44], 4
jle 0x4b582b
cmp eax, 0x3fff
jle 0x4b585b
cmp eax, 0x7fff
jle 0x4b5837
cmp eax, 0xbfff
jle 0x4b585b
test byte [0x693f68], 1
je 0x4b585b
jmp 0x4b5837
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b578f
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4b585b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b5882
mov dword [esp], 1
call fcn.00416240
push ebp
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b5870
cmp dword [0x693b44], 4
jle 0x4b58ea
cmp bp, 0x4001
jbe 0x4b591a
cmp bp, 0x8001
jbe 0x4b58f6
cmp bp, 0xc001
jbe 0x4b591a
test byte [0x693f68], 1
je 0x4b591a
jmp 0x4b58f6
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b591a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b596d
mov dword [esp], 4
call fcn.00416240
push ebx
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b59ac
cmp ax, 0x4000
jbe 0x4b59da
cmp ax, 0x8000
jbe 0x4b59b6
cmp ax, 0xc000
jbe 0x4b59da
test byte [0x693f68], 1
je 0x4b59da
jmp 0x4b59b6
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push esi
push esi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b592f
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b59da
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b5a4e
mov dword [esp], 4
call fcn.00416240
push eax
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x4b5a90
cmp eax, 0x3fff
jle 0x4b5ac0
cmp eax, 0x7fff
jle 0x4b5a9c
cmp eax, 0xbfff
jle 0x4b5ac0
test byte [0x693f68], 1
je 0x4b5ac0
jmp 0x4b5a9c
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b59ef
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4b5ac0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b5b1f
mov dword [esp], 1
call fcn.00416240
push eax
movzx eax, byte [0x693f10]
mov byte [0x693f2a], al
mov byte [0x693d1c], al
test al, al
setne al
movzx eax, al
mov word [0x693d00], ax
movzx eax, byte [0x693c74]
shl eax, 7
movzx eax, al
mov word [0x693d1e], ax
mov word [0x693d20], ax
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b5ad5
cmp dword [0x693b44], 4
jle 0x4b5b8a
cmp bp, 0x4001
jbe 0x4b5bba
cmp bp, 0x8001
jbe 0x4b5b96
cmp bp, 0xc001
jbe 0x4b5bba
test byte [0x693f68], 1
je 0x4b5bba
jmp 0x4b5b96
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b5bba
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b5c0d
mov dword [esp], 4
call fcn.00416240
push edi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b5c4c
cmp ax, 0x4000
jbe 0x4b5c7a
cmp ax, 0x8000
jbe 0x4b5c56
cmp ax, 0xc000
jbe 0x4b5c7a
test byte [0x693f68], 1
je 0x4b5c7a
jmp 0x4b5c56
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b5bcf
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b5c7a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b5cee
mov dword [esp], 4
call fcn.00416240
push ecx
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x4b5d30
cmp eax, 0x3fff
jle 0x4b5d60
cmp eax, 0x7fff
jle 0x4b5d3c
cmp eax, 0xbfff
jle 0x4b5d60
test byte [0x693f68], 1
je 0x4b5d60
jmp 0x4b5d3c
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebx
push ebx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b5c8f
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4b5d60
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b5dce
mov dword [esp], 1
call fcn.00416240
push eax
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
mov byte [0x693f2a], al
mov byte [0x693d1c], al
test al, al
setne al
movzx eax, al
mov word [0x693d00], ax
movzx eax, byte [0x693c74]
shl eax, 7
movzx eax, al
mov word [0x693d1e], ax
mov word [0x693d20], ax
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b5d75
cmp dword [0x693b44], 4
jle 0x4b5e39
cmp bp, 0x4001
jbe 0x4b5e69
cmp bp, 0x8001
jbe 0x4b5e45
cmp bp, 0xc001
jbe 0x4b5e69
test byte [0x693f68], 1
je 0x4b5e69
jmp 0x4b5e45
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b5e69
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b5ebc
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b5efb
cmp ax, 0x4000
jbe 0x4b5f29
cmp ax, 0x8000
jbe 0x4b5f05
cmp ax, 0xc000
jbe 0x4b5f29
test byte [0x693f68], 1
je 0x4b5f29
jmp 0x4b5f05
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b5e7e
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b5f29
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b6083
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x69407c], ax
cmp dword [0x693b44], 4
jle 0x4b60c5
cmp ax, 0x3fff
jbe 0x4b5faa
test ax, ax
js 0x4b60d4
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b60f0
mov dword [esp], 3
call fcn.00416240
push eax
mov dword [esp + 8], 4
mov dword [esp + 4], 1
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x69407c]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
movzx edx, byte [0x693f2a]
mov ecx, edx
shl ecx, 8
or eax, ecx
mov word [0x693efe], ax
and edx, 0xfffffff0
and eax, 0xf
or eax, edx
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov byte [0x693d1c], al
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
cmp dword [0x693b44], 4
jle 0x4b6132
cmp bx, 0x3fff
jbe 0x4b6162
test bx, bx
jns 0x4b613e
cmp bx, 0xbfff
jbe 0x4b6162
test byte [0x693f68], 1
je 0x4b6162
jmp 0x4b613e
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b5f42
cmp ax, 0x3fff
jle 0x4b5faa
jmp 0x4b5f86
cmp ax, 0xbfff
jbe 0x4b5faa
test byte [0x693f68], 1
je 0x4b5faa
jmp 0x4b5f86
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b5fc3
lea eax, [ebx - 0x4000]
cmp ax, 0x3fff
ja 0x4b6162
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b61b4
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
shr ax, 4
movzx eax, ax
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push esi
push esi
add word [0x69407c], 1
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b6177
cmp dword [0x693b44], 4
jle 0x4b621c
cmp bp, 0x4001
jbe 0x4b624c
cmp bp, 0x8001
jbe 0x4b6228
cmp bp, 0xc001
jbe 0x4b624c
test byte [0x693f68], 1
je 0x4b624c
jmp 0x4b6228
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b624c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b629f
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b62de
cmp ax, 0x4000
jbe 0x4b630c
cmp ax, 0x8000
jbe 0x4b62e8
cmp ax, 0xc000
jbe 0x4b630c
test byte [0x693f68], 1
je 0x4b630c
jmp 0x4b62e8
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b6261
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b630c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b646a
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov word [0x69407c], ax
cmp dword [0x693b44], 4
jle 0x4b64ac
cmp ax, 0x3fff
jbe 0x4b638d
test ax, ax
js 0x4b64bb
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b64d7
mov dword [esp], 3
call fcn.00416240
push esi
mov dword [esp + 8], 4
mov dword [esp + 4], 1
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, word [0x69407c]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edi
movzx edx, byte [0x693f2a]
shl eax, 4
mov ecx, edx
and ecx, 0xf
or eax, ecx
mov word [0x693efe], ax
and edx, 0xfffffff0
shr ax, 8
or eax, edx
mov byte [0x693f2a], al
movzx eax, al
mov word [0x693d00], ax
mov byte [0x693d1c], al
or ah, 1
mov word [0x693d20], ax
mov word [0x693d1e], 0
cmp dword [0x693b44], 4
jle 0x4b6519
cmp bx, 0x3fff
jbe 0x4b6549
test bx, bx
jns 0x4b6525
cmp bx, 0xbfff
jbe 0x4b6549
test byte [0x693f68], 1
je 0x4b6549
jmp 0x4b6525
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b6325
cmp ax, 0x3fff
jle 0x4b638d
jmp 0x4b6369
cmp ax, 0xbfff
jbe 0x4b638d
test byte [0x693f68], 1
je 0x4b638d
jmp 0x4b6369
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b63a6
lea eax, [ebx - 0x4000]
cmp ax, 0x3fff
ja 0x4b6549
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b6594
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.004015c0
push edx
push edx
add word [0x69407c], 1
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b655e
cmp dword [0x693b44], 4
jle 0x4b65fc
cmp bp, 0x4001
jbe 0x4b662c
cmp bp, 0x8001
jbe 0x4b6608
cmp bp, 0xc001
jbe 0x4b662c
test byte [0x693f68], 1
je 0x4b662c
jmp 0x4b6608
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b662c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b667f
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b66be
cmp ax, 0x4000
jbe 0x4b66ec
cmp ax, 0x8000
jbe 0x4b66c8
cmp ax, 0xc000
jbe 0x4b66ec
test byte [0x693f68], 1
je 0x4b66ec
jmp 0x4b66c8
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b6641
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b66ec
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b676e
mov dword [esp], 4
call fcn.00416240
push ebx
movzx esi, byte [0x693f01]
movzx eax, byte [0x693f11]
shl eax, 8
mov ebx, eax
mov eax, esi
movzx eax, al
or eax, ebx
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push edi
mov word [0x693efe], ax
mov eax, esi
movzx eax, al
or eax, ebx
cmp dword [0x693b44], 4
jle 0x4b67b0
cmp eax, 0x3fff
jle 0x4b67e0
cmp eax, 0x7fff
jle 0x4b67bc
cmp eax, 0xbfff
jle 0x4b67e0
test byte [0x693f68], 1
je 0x4b67e0
jmp 0x4b67bc
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b6701
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4b67e0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp eax, dword [0x693fe0]
jne 0x4b6807
mov dword [0x693bf0], 0x1a90
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b686b
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f24]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f1c]
or eax, edx
cmp dword [0x693b44], 4
jle 0x4b68ad
cmp eax, 0x3fff
jle 0x4b68dd
cmp eax, 0x7fff
jle 0x4b68b9
cmp eax, 0xbfff
jle 0x4b68dd
test byte [0x693f68], 1
je 0x4b68dd
jmp 0x4b68b9
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b681c
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4b68dd
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b6a2c
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, byte [0x693f24]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f1c]
or eax, edx
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, byte [0x693f24]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f1c]
or eax, edx
cmp eax, dword [0x693fd4]
jne 0x4b6954
mov dword [0x693bf0], 0x1a90
mov dword [esp + 8], 2
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, byte [0x693f01]
add eax, 1
mov byte [0x693f01], al
cmp al, 1
adc byte [0x693f11], 0
movzx eax, byte [0x693f1c]
add eax, 1
mov byte [0x693f1c], al
cmp al, 1
adc byte [0x693f24], 0
movzx eax, byte [0x693f25]
cmp al, 1
movzx ecx, byte [0x693f26]
sbb cl, 0
mov byte [0x693f26], cl
lea edx, [eax - 1]
mov byte [0x693f25], dl
xor eax, eax
cmp word [0x693d00], 0
setne al
mov word [0x693d00], ax
movzx eax, byte [0x693f2a]
add ax, word [0x693efe]
mov word [0x693efe], ax
movzx ebx, word [0x693d1c]
and ebx, 0xffffffd7
mov esi, eax
and esi, 8
or ebx, esi
shl eax, 4
and eax, 0x20
or eax, ebx
mov word [0x693d1c], ax
xor eax, eax
or cl, dl
setne al
shl eax, 7
mov word [0x693d20], ax
mov word [0x693d1e], ax
mov dword [0x693c88], 1
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b68f6
cmp dword [0x693b44], 4
jle 0x4b6a97
cmp bp, 0x4001
jbe 0x4b6ac7
cmp bp, 0x8001
jbe 0x4b6aa3
cmp bp, 0xc001
jbe 0x4b6ac7
test byte [0x693f68], 1
je 0x4b6ac7
jmp 0x4b6aa3
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b6ac7
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b6b1a
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b6b59
cmp ax, 0x4000
jbe 0x4b6b87
cmp ax, 0x8000
jbe 0x4b6b63
cmp ax, 0xc000
jbe 0x4b6b87
test byte [0x693f68], 1
je 0x4b6b87
jmp 0x4b6b63
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b6adc
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b6b87
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b6c1b
mov dword [esp], 4
call fcn.00416240
push eax
movzx esi, byte [0x693f01]
movzx eax, byte [0x693f11]
shl eax, 8
mov ebx, eax
mov eax, esi
movzx eax, al
or eax, ebx
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push edx
mov word [0x693efe], ax
mov eax, esi
movzx eax, al
or eax, ebx
cmp eax, dword [0x693fe0]
jne 0x4b6bee
mov dword [0x693bf0], 0x1a90
cmp dword [0x693b44], 4
jle 0x4b6c5d
cmp eax, 0x3fff
jle 0x4b6c8d
cmp eax, 0x7fff
jle 0x4b6c69
cmp eax, 0xbfff
jle 0x4b6c8d
test byte [0x693f68], 1
je 0x4b6c8d
jmp 0x4b6c69
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b6b9c
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4b6c8d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b6cf1
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, byte [0x693f24]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f1c]
or eax, edx
cmp dword [0x693b44], 4
jle 0x4b6d33
cmp eax, 0x3fff
jle 0x4b6d63
cmp eax, 0x7fff
jle 0x4b6d3f
cmp eax, 0xbfff
jle 0x4b6d63
test byte [0x693f68], 1
je 0x4b6d63
jmp 0x4b6d3f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b6ca2
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4b6d63
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b6eb2
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, byte [0x693f24]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f1c]
or eax, edx
mov dword [esp], eax
call fcn.004015c0
push edx
push edx
movzx eax, byte [0x693f24]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f1c]
or eax, edx
cmp eax, dword [0x693fd4]
jne 0x4b6dda
mov dword [0x693bf0], 0x1a90
mov dword [esp + 8], 2
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, byte [0x693f01]
cmp al, 1
sbb byte [0x693f11], 0
sub eax, 1
mov byte [0x693f01], al
movzx eax, byte [0x693f1c]
cmp al, 1
sbb byte [0x693f24], 0
sub eax, 1
mov byte [0x693f1c], al
movzx eax, byte [0x693f25]
cmp al, 1
movzx ecx, byte [0x693f26]
sbb cl, 0
mov byte [0x693f26], cl
lea edx, [eax - 1]
mov byte [0x693f25], dl
xor eax, eax
cmp word [0x693d00], 0
setne al
mov word [0x693d00], ax
movzx eax, byte [0x693f2a]
add ax, word [0x693efe]
mov word [0x693efe], ax
movzx ebx, word [0x693d1c]
and ebx, 0xffffffd7
mov esi, eax
and esi, 8
or ebx, esi
shl eax, 4
and eax, 0x20
or eax, ebx
mov word [0x693d1c], ax
xor eax, eax
or cl, dl
setne al
shl eax, 7
mov word [0x693d20], ax
mov word [0x693d1e], ax
mov dword [0x693c88], 1
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b6d7c
cmp dword [0x693b44], 4
jle 0x4b6f1d
cmp bp, 0x4001
jbe 0x4b6f4d
cmp bp, 0x8001
jbe 0x4b6f29
cmp bp, 0xc001
jbe 0x4b6f4d
test byte [0x693f68], 1
je 0x4b6f4d
jmp 0x4b6f29
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b6f4d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b6fa0
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b6fdf
cmp ax, 0x4000
jbe 0x4b700d
cmp ax, 0x8000
jbe 0x4b6fe9
cmp ax, 0xc000
jbe 0x4b700d
test byte [0x693f68], 1
je 0x4b700d
jmp 0x4b6fe9
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b6f62
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b700d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b70a1
mov dword [esp], 4
call fcn.00416240
push esi
movzx esi, byte [0x693f01]
movzx eax, byte [0x693f11]
shl eax, 8
mov ebx, eax
mov eax, esi
movzx eax, al
or eax, ebx
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push edi
mov word [0x693efe], ax
mov eax, esi
movzx eax, al
or eax, ebx
cmp eax, dword [0x693fe0]
jne 0x4b7074
mov dword [0x693bf0], 0x1a90
cmp dword [0x693b44], 4
jle 0x4b70e3
cmp eax, 0x3fff
jle 0x4b7113
cmp eax, 0x7fff
jle 0x4b70ef
cmp eax, 0xbfff
jle 0x4b7113
test byte [0x693f68], 1
je 0x4b7113
jmp 0x4b70ef
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b7022
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4b7113
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b7177
mov dword [esp], 3
call fcn.00416240
push edx
movzx eax, byte [0x693f24]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f1c]
or eax, edx
cmp dword [0x693b44], 4
jle 0x4b71b9
cmp eax, 0x3fff
jle 0x4b71e9
cmp eax, 0x7fff
jle 0x4b71c5
cmp eax, 0xbfff
jle 0x4b71e9
test byte [0x693f68], 1
je 0x4b71e9
jmp 0x4b71c5
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b7128
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4b71e9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b7353
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, byte [0x693f24]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f1c]
or eax, edx
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx eax, byte [0x693f24]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f1c]
or eax, edx
cmp eax, dword [0x693fd4]
jne 0x4b7260
mov dword [0x693bf0], 0x1a90
mov dword [esp + 8], 2
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, byte [0x693f01]
add eax, 1
mov byte [0x693f01], al
cmp al, 1
adc byte [0x693f11], 0
movzx eax, byte [0x693f25]
cmp al, 1
movzx ecx, byte [0x693f26]
sbb cl, 0
mov byte [0x693f26], cl
lea edx, [eax - 1]
mov byte [0x693f25], dl
xor eax, eax
cmp word [0x693d00], 0
setne al
mov word [0x693d00], ax
movzx eax, byte [0x693f2a]
add ax, word [0x693efe]
mov word [0x693efe], ax
movzx ebx, word [0x693d1c]
and ebx, 0xffffffd7
mov esi, eax
and esi, 8
or ebx, esi
shl eax, 4
and eax, 0x20
or eax, ebx
mov word [0x693d1c], ax
or cl, dl
jne 0x4b7395
mov word [0x693d20], 0
movzx eax, byte [0x693f1c]
add eax, 1
mov byte [0x693f1c], al
cmp al, 1
adc byte [0x693f24], 0
movzx eax, word [0x693d20]
mov word [0x693d1e], ax
movzx eax, byte [0x693f26]
or al, byte [0x693f25]
jne 0x4b8863
mov dword [0x693c88], 1
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b7202
mov word [0x693d20], 0x80
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, byte [0x693f24]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f1c]
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx edx, word [0x693f80]
lea eax, [edx - 1]
mov word [0x69407c], ax
lea eax, [edx - 2]
mov word [0x693f80], ax
jmp 0x4b730c
cmp dword [0x693b44], 4
jle 0x4b7415
cmp bp, 0x4001
jbe 0x4b7445
cmp bp, 0x8001
jbe 0x4b7421
cmp bp, 0xc001
jbe 0x4b7445
test byte [0x693f68], 1
je 0x4b7445
jmp 0x4b7421
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b7445
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b7498
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b74d7
cmp ax, 0x4000
jbe 0x4b7505
cmp ax, 0x8000
jbe 0x4b74e1
cmp ax, 0xc000
jbe 0x4b7505
test byte [0x693f68], 1
je 0x4b7505
jmp 0x4b74e1
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b745a
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b7505
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b7599
mov dword [esp], 4
call fcn.00416240
push eax
movzx esi, byte [0x693f01]
movzx eax, byte [0x693f11]
shl eax, 8
mov ebx, eax
mov eax, esi
movzx eax, al
or eax, ebx
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push edx
mov word [0x693efe], ax
mov eax, esi
movzx eax, al
or eax, ebx
cmp eax, dword [0x693fe0]
jne 0x4b756c
mov dword [0x693bf0], 0x1a90
cmp dword [0x693b44], 4
jle 0x4b75db
cmp eax, 0x3fff
jle 0x4b760b
cmp eax, 0x7fff
jle 0x4b75e7
cmp eax, 0xbfff
jle 0x4b760b
test byte [0x693f68], 1
je 0x4b760b
jmp 0x4b75e7
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b751a
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4b760b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b766f
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f24]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f1c]
or eax, edx
cmp dword [0x693b44], 4
jle 0x4b76b1
cmp eax, 0x3fff
jle 0x4b76e1
cmp eax, 0x7fff
jle 0x4b76bd
cmp eax, 0xbfff
jle 0x4b76e1
test byte [0x693f68], 1
je 0x4b76e1
jmp 0x4b76bd
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b7620
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4b76e1
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b782b
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, byte [0x693f24]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f1c]
or eax, edx
mov dword [esp], eax
call fcn.004015c0
push edi
push edi
movzx eax, byte [0x693f24]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f1c]
or eax, edx
cmp eax, dword [0x693fd4]
jne 0x4b7758
mov dword [0x693bf0], 0x1a90
mov dword [esp + 8], 2
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx eax, byte [0x693f01]
cmp al, 1
sbb byte [0x693f11], 0
sub eax, 1
mov byte [0x693f01], al
movzx eax, byte [0x693f1c]
cmp al, 1
movzx ecx, byte [0x693f24]
sbb cl, 0
mov byte [0x693f24], cl
lea edx, [eax - 1]
mov byte [0x693f1c], dl
movzx eax, byte [0x693f25]
cmp al, 1
movzx ebx, byte [0x693f26]
sbb bl, 0
mov esi, ebx
mov byte [0x693f26], bl
lea ebx, [eax - 1]
mov byte [0x693f25], bl
xor eax, eax
cmp word [0x693d00], 0
setne al
mov word [0x693d00], ax
movzx eax, byte [0x693f2a]
add ax, word [0x693efe]
mov word [0x693efe], ax
movzx edi, word [0x693d1c]
and edi, 0xffffffd7
mov ebp, eax
and ebp, 8
or edi, ebp
shl eax, 4
and eax, 0x20
or eax, edi
mov word [0x693d1c], ax
mov eax, esi
or al, bl
jne 0x4b786d
mov word [0x693d20], 0
jmp 0x4b7324
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b76fa
mov word [0x693d20], 0x80
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, cl
shl eax, 8
mov ecx, eax
movzx eax, dl
or eax, ecx
add eax, 1
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx edx, word [0x693f80]
lea eax, [edx - 1]
mov word [0x69407c], ax
lea eax, [edx - 2]
mov word [0x693f80], ax
jmp 0x4b7324
cmp dword [0x693b44], 4
jle 0x4b78e8
cmp bp, 0x4001
jbe 0x4b7918
cmp bp, 0x8001
jbe 0x4b78f4
cmp bp, 0xc001
jbe 0x4b7918
test byte [0x693f68], 1
je 0x4b7918
jmp 0x4b78f4
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b7918
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b796b
mov dword [esp], 4
call fcn.00416240
push edx
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b79aa
cmp ax, 0x4000
jbe 0x4b79d8
cmp ax, 0x8000
jbe 0x4b79b4
cmp ax, 0xc000
jbe 0x4b79d8
test byte [0x693f68], 1
je 0x4b79d8
jmp 0x4b79b4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b792d
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b79d8
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b7a3c
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x4b7a7e
cmp eax, 0x3fff
jle 0x4b7aae
cmp eax, 0x7fff
jle 0x4b7a8a
cmp eax, 0xbfff
jle 0x4b7aae
test byte [0x693f68], 1
je 0x4b7aae
jmp 0x4b7a8a
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b79ed
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4b7aae
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b7c54
mov dword [esp], 3
call fcn.00416240
push esi
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx ebx, byte [0x693f01]
movzx esi, byte [0x693f11]
mov eax, esi
movzx eax, al
shl eax, 8
mov edi, eax
movzx eax, bl
or eax, edi
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ebp
mov edx, eax
mov word [0x693efe], ax
movzx eax, bl
or eax, edi
cmp eax, dword [0x693fe0]
jne 0x4b7b4c
mov dword [0x693bf0], 0x1a90
movzx edi, byte [0x693f2a]
mov eax, edi
sub eax, edx
mov byte [0x693ef0], al
lea ecx, [ebx + 1]
mov byte [0x693f01], cl
cmp cl, 1
mov ecx, esi
adc cl, 0
mov byte [0x693f11], cl
movzx ecx, byte [0x693f25]
cmp cl, 1
movzx ebx, byte [0x693f26]
sbb bl, 0
mov esi, ebx
mov byte [0x693f26], bl
lea ebx, [ecx - 1]
mov byte [0x693f25], bl
add word [0x69407c], 1
movzx ebp, al
mov ecx, eax
shr cl, 7
mov byte [esp + 0x2c], cl
mov ecx, eax
and ecx, 0x7f
or ecx, dword [esp + 0x2c]
movzx ecx, cl
mov word [0x693d00], cx
mov ecx, edx
or cl, 0x80
not ecx
mov word [0x693d1e], cx
mov ecx, edi
and ecx, 0x7f
mov byte [esp + 0x2c], cl
mov ecx, esi
or bl, cl
je 0x4b7c96
movzx ecx, byte [esp + 0x2c]
or ecx, 0xffffff80
movzx ecx, cl
mov word [0x693d20], cx
mov ecx, edx
not ecx
or cl, 0x80
mov word [0x693d1e], cx
movzx ecx, word [0x693d1c]
xor cl, cl
mov esi, ebp
and esi, 0xffffffd7
movzx ebx, dx
mov edx, edi
movzx edx, dl
xor edx, ebx
xor edx, eax
and dl, 0x10
je 0x4b7c27
sub eax, 1
mov byte [0x693ef0], al
movzx eax, byte [0x693ef0]
mov edx, eax
shl edx, 4
and edx, 0x20
and eax, 8
or eax, ecx
or eax, edx
or eax, esi
mov word [0x693d1c], ax
mov dword [0x693c88], 1
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b7ac7
movzx ecx, byte [esp + 0x2c]
mov word [0x693d20], cx
jmp 0x4b7c00
cmp dword [0x693b44], 4
jle 0x4b7cd0
cmp bp, 0x4001
jbe 0x4b7d00
cmp bp, 0x8001
jbe 0x4b7cdc
cmp bp, 0xc001
jbe 0x4b7d00
test byte [0x693f68], 1
je 0x4b7d00
jmp 0x4b7cdc
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b7d00
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b7d53
mov dword [esp], 4
call fcn.00416240
push edx
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b7d92
cmp ax, 0x4000
jbe 0x4b7dc0
cmp ax, 0x8000
jbe 0x4b7d9c
cmp ax, 0xc000
jbe 0x4b7dc0
test byte [0x693f68], 1
je 0x4b7dc0
jmp 0x4b7d9c
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b7d15
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b7dc0
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b7e24
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x4b7e66
cmp eax, 0x3fff
jle 0x4b7e96
cmp eax, 0x7fff
jle 0x4b7e72
cmp eax, 0xbfff
jle 0x4b7e96
test byte [0x693f68], 1
je 0x4b7e96
jmp 0x4b7e72
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b7dd5
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4b7e96
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b8041
mov dword [esp], 3
call fcn.00416240
push esi
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx ebx, byte [0x693f01]
movzx esi, byte [0x693f11]
mov eax, esi
movzx eax, al
shl eax, 8
mov edi, eax
movzx eax, bl
or eax, edi
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ebp
mov edx, eax
mov word [0x693efe], ax
movzx eax, bl
or eax, edi
cmp eax, dword [0x693fe0]
jne 0x4b7f34
mov dword [0x693bf0], 0x1a90
movzx eax, byte [0x693f2a]
mov byte [esp + 0x2c], al
sub eax, edx
mov byte [0x693ef0], al
cmp bl, 1
mov ecx, esi
sbb cl, 0
mov byte [0x693f11], cl
sub ebx, 1
mov byte [0x693f01], bl
movzx ebx, byte [0x693f25]
cmp bl, 1
movzx ecx, byte [0x693f26]
sbb cl, 0
mov byte [0x693f26], cl
lea esi, [ebx - 1]
mov ebx, esi
mov byte [0x693f25], bl
sub word [0x69407c], 1
movzx ebp, al
mov ebx, eax
shr bl, 7
mov byte [esp + 0x2e], bl
mov ebx, eax
and ebx, 0x7f
or bl, byte [esp + 0x2e]
movzx ebx, bl
mov word [0x693d00], bx
mov ebx, edx
or bl, 0x80
not ebx
mov word [0x693d1e], bx
movzx ebx, byte [esp + 0x2c]
and ebx, 0x7f
mov byte [esp + 0x2e], bl
mov ebx, esi
or cl, bl
je 0x4b8083
movzx ebx, byte [esp + 0x2e]
or ebx, 0xffffff80
movzx ebx, bl
mov word [0x693d20], bx
mov ebx, edx
not ebx
or bl, 0x80
mov word [0x693d1e], bx
movzx ebx, word [0x693d1c]
xor bl, bl
mov edi, ebp
and edi, 0xffffffd7
movzx esi, dx
movzx edx, byte [esp + 0x2c]
xor edx, esi
xor edx, eax
and dl, 0x10
je 0x4b8014
sub eax, 1
mov byte [0x693ef0], al
movzx eax, byte [0x693ef0]
mov edx, eax
shl edx, 4
and edx, 0x20
and eax, 8
or eax, ebx
or eax, edx
or eax, edi
mov word [0x693d1c], ax
mov dword [0x693c88], 1
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b7eaf
movzx ebx, byte [esp + 0x2e]
mov word [0x693d20], bx
jmp 0x4b7fed
cmp dword [0x693b44], 4
jle 0x4b80bd
cmp bp, 0x4001
jbe 0x4b80ed
cmp bp, 0x8001
jbe 0x4b80c9
cmp bp, 0xc001
jbe 0x4b80ed
test byte [0x693f68], 1
je 0x4b80ed
jmp 0x4b80c9
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b80ed
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b8140
mov dword [esp], 4
call fcn.00416240
push edx
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b817f
cmp ax, 0x4000
jbe 0x4b81ad
cmp ax, 0x8000
jbe 0x4b8189
cmp ax, 0xc000
jbe 0x4b81ad
test byte [0x693f68], 1
je 0x4b81ad
jmp 0x4b8189
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b8102
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b81ad
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b8211
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x4b8253
cmp eax, 0x3fff
jle 0x4b8283
cmp eax, 0x7fff
jle 0x4b825f
cmp eax, 0xbfff
jle 0x4b8283
test byte [0x693f68], 1
je 0x4b8283
jmp 0x4b825f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b81c2
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4b8283
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b8417
mov dword [esp], 3
call fcn.00416240
push esi
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx ebx, byte [0x693f01]
movzx esi, byte [0x693f11]
mov eax, esi
movzx eax, al
shl eax, 8
mov edi, eax
movzx eax, bl
or eax, edi
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ebp
mov edx, eax
mov word [0x693efe], ax
movzx eax, bl
or eax, edi
cmp eax, dword [0x693fe0]
jne 0x4b8321
mov dword [0x693bf0], 0x1a90
movzx ecx, byte [0x693f2a]
sub ecx, edx
mov byte [0x693ef0], cl
lea edi, [ebx + 1]
mov eax, edi
mov byte [0x693f01], al
cmp al, 1
mov eax, esi
adc al, 0
mov esi, eax
mov byte [0x693f11], al
movzx eax, byte [0x693f25]
cmp al, 1
movzx ebx, byte [0x693f26]
sbb bl, 0
mov byte [esp + 0x2c], bl
mov byte [0x693f26], bl
lea ebp, [eax - 1]
mov eax, ebp
mov byte [0x693f25], al
add word [0x69407c], 1
mov ebx, ecx
shr bl, 7
mov eax, ecx
and eax, 0x7f
or eax, ebx
movzx eax, al
mov word [0x693d00], ax
mov eax, edx
or al, 0x80
not eax
mov word [0x693d1e], ax
movzx eax, byte [0x693f2a]
and eax, 0x7f
mov ebx, ebp
or bl, byte [esp + 0x2c]
je 0x4b87ee
or eax, 0xffffff80
movzx eax, al
mov word [0x693d20], ax
mov eax, edx
not eax
or al, 0x80
mov word [0x693d1e], ax
test cl, cl
je 0x4b87f7
mov dword [esp + 8], 5
mov dword [esp + 4], 1
mov eax, esi
movzx eax, al
shl eax, 8
mov edx, eax
mov eax, edi
movzx eax, al
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx edx, word [0x693f80]
lea eax, [edx - 1]
mov word [0x69407c], ax
lea eax, [edx - 2]
mov word [0x693f80], ax
jmp 0x4b87f7
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b829c
cmp dword [0x693b44], 4
jle 0x4b8482
cmp bp, 0x4001
jbe 0x4b84b2
cmp bp, 0x8001
jbe 0x4b848e
cmp bp, 0xc001
jbe 0x4b84b2
test byte [0x693f68], 1
je 0x4b84b2
jmp 0x4b848e
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b84b2
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b8505
mov dword [esp], 4
call fcn.00416240
push edx
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b8544
cmp ax, 0x4000
jbe 0x4b8572
cmp ax, 0x8000
jbe 0x4b854e
cmp ax, 0xc000
jbe 0x4b8572
test byte [0x693f68], 1
je 0x4b8572
jmp 0x4b854e
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b84c7
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b8572
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b85d6
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x4b8618
cmp eax, 0x3fff
jle 0x4b8648
cmp eax, 0x7fff
jle 0x4b8624
cmp eax, 0xbfff
jle 0x4b8648
test byte [0x693f68], 1
je 0x4b8648
jmp 0x4b8624
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b8587
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4b8648
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b87ac
mov dword [esp], 3
call fcn.00416240
push ecx
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx ebx, byte [0x693f01]
movzx esi, byte [0x693f11]
mov eax, esi
movzx eax, al
shl eax, 8
mov edi, eax
movzx eax, bl
or eax, edi
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ebp
mov edx, eax
mov word [0x693efe], ax
movzx eax, bl
or eax, edi
cmp eax, dword [0x693fe0]
jne 0x4b86e6
mov dword [0x693bf0], 0x1a90
movzx ecx, byte [0x693f2a]
sub ecx, edx
mov byte [0x693ef0], cl
cmp bl, 1
mov eax, esi
sbb al, 0
mov edi, eax
mov byte [0x693f11], al
lea esi, [ebx - 1]
mov eax, esi
mov byte [0x693f01], al
movzx eax, byte [0x693f25]
cmp al, 1
movzx ebx, byte [0x693f26]
sbb bl, 0
mov byte [esp + 0x2c], bl
mov byte [0x693f26], bl
lea ebp, [eax - 1]
mov eax, ebp
mov byte [0x693f25], al
sub word [0x69407c], 1
mov ebx, ecx
shr bl, 7
mov eax, ecx
and eax, 0x7f
or eax, ebx
movzx eax, al
mov word [0x693d00], ax
mov eax, edx
or al, 0x80
not eax
mov word [0x693d1e], ax
movzx eax, byte [0x693f2a]
and eax, 0x7f
mov ebx, ebp
or bl, byte [esp + 0x2c]
je 0x4b87ee
or eax, 0xffffff80
movzx eax, al
mov word [0x693d20], ax
mov eax, edx
not eax
or al, 0x80
mov word [0x693d1e], ax
test cl, cl
je 0x4b87f7
mov dword [esp + 8], 5
mov dword [esp + 4], 1
mov eax, edi
movzx eax, al
shl eax, 8
mov edx, eax
mov eax, esi
jmp 0x4b83e9
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b8661
movzx eax, al
mov word [0x693d20], ax
movzx eax, byte [0x693ef0]
movzx edx, word [0x693d1c]
xor dl, dl
mov ecx, eax
and cx, 0xd7
mov ebx, edx
or ebx, ecx
movzx ecx, word [0x693efe]
movzx edx, al
xor ecx, edx
movzx edx, byte [0x693f2a]
xor edx, ecx
and dl, 0x10
je 0x4b8834
sub eax, 1
mov byte [0x693ef0], al
movzx eax, byte [0x693ef0]
mov edx, eax
shl edx, 4
and edx, 0x20
and eax, 8
or eax, ebx
or eax, edx
mov word [0x693d1c], ax
movzx eax, byte [0x693f26]
or al, byte [0x693f25]
je 0x4b7344
call fcn.00401000
mov dword [0x693f18], eax
movzx ecx, word [0x693f80]
mov eax, ecx
shr ax, 0xb
mov edx, eax
and edx, 1
mov dword [0x693d88], edx
mov eax, ecx
shr ax, 0xd
and eax, 1
mov dword [0x693d80], eax
shl edx, 3
mov ecx, edx
xor ecx, 8
movzx edx, byte [0x693f18]
or edx, 8
xor edx, ecx
or edx, 0x20
shl eax, 5
xor eax, 0x20
xor eax, edx
mov byte [0x693f18], al
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
jmp 0x4b7344
cmp dword [0x693b44], 4
jle 0x4b88f3
cmp bp, 0x4001
jbe 0x4b8923
cmp bp, 0x8001
jbe 0x4b88ff
cmp bp, 0xc001
jbe 0x4b8923
test byte [0x693f68], 1
je 0x4b8923
jmp 0x4b88ff
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b8923
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b8976
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b89b5
cmp ax, 0x4000
jbe 0x4b89e3
cmp ax, 0x8000
jbe 0x4b89bf
cmp ax, 0xc000
jbe 0x4b89e3
test byte [0x693f68], 1
je 0x4b89e3
jmp 0x4b89bf
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b8938
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b89e3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b8a57
mov dword [esp], 4
call fcn.00416240
push eax
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x4b8a99
cmp eax, 0x3fff
jle 0x4b8ac9
cmp eax, 0x7fff
jle 0x4b8aa5
cmp eax, 0xbfff
jle 0x4b8ac9
test byte [0x693f68], 1
je 0x4b8ac9
jmp 0x4b8aa5
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b89f8
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4b8ac9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b8b5a
mov dword [esp], 1
call fcn.00416240
push ebx
movzx eax, byte [0x693f26]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f25]
or eax, edx
mov word [0x69407c], ax
movzx eax, ax
mov dword [esp], eax
call fcn.00445910
push esi
mov word [0x693efe], ax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x4b8b9c
cmp eax, 0x3fff
jle 0x4b8bcc
cmp eax, 0x7fff
jle 0x4b8ba8
cmp eax, 0xbfff
jle 0x4b8bcc
test byte [0x693f68], 1
je 0x4b8bcc
jmp 0x4b8ba8
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b8ade
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4b8bcc
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b8d03
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov dword [esp], eax
call fcn.004015c0
push eax
push eax
movzx edx, byte [0x693f01]
movzx ecx, byte [0x693f11]
mov eax, ecx
mov ebx, ecx
shl ebx, 8
movzx ecx, dl
or ecx, ebx
cmp ecx, dword [0x693fd4]
jne 0x4b8c48
mov dword [0x693bf0], 0x1a90
add edx, 1
mov byte [0x693f01], dl
cmp dl, 1
adc al, 0
mov byte [0x693f11], al
add word [0x69407c], 1
movzx edi, word [0x693efe]
movzx eax, byte [0x693f25]
add eax, 1
movzx eax, al
lea edx, [eax + edi]
movzx ecx, byte [0x693f26]
lea eax, [ecx - 1]
mov byte [0x693f26], al
movzx eax, al
mov ebx, edx
and ebx, 7
xor ebx, eax
and dx, 0x100
mov word [0x693efc], dx
mov esi, edx
or esi, eax
mov word [0x693d1c], si
mov word [0x693d00], ax
add ecx, 0x7f
movzx ecx, cl
mov word [0x693d20], cx
mov ecx, ebx
shr cx, 4
xor ecx, ebx
and ecx, 0xf
mov ebx, 0x4b3480
sar ebx, cl
xor eax, ebx
and ax, 0x80
mov ecx, eax
lea eax, [edi*4]
and ax, 0x200
mov ebx, eax
mov eax, edx
shr ax, 4
or eax, ebx
or eax, ecx
mov word [0x693d1e], ax
mov dword [0x693c88], 1
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b8be5
cmp dword [0x693b44], 4
jle 0x4b8d6e
cmp bp, 0x4001
jbe 0x4b8d9e
cmp bp, 0x8001
jbe 0x4b8d7a
cmp bp, 0xc001
jbe 0x4b8d9e
test byte [0x693f68], 1
je 0x4b8d9e
jmp 0x4b8d7a
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b8d9e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b8df1
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b8e30
cmp ax, 0x4000
jbe 0x4b8e5e
cmp ax, 0x8000
jbe 0x4b8e3a
cmp ax, 0xc000
jbe 0x4b8e5e
test byte [0x693f68], 1
je 0x4b8e5e
jmp 0x4b8e3a
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b8db3
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b8e5e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b8ed2
mov dword [esp], 4
call fcn.00416240
push esi
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x4b8f14
cmp eax, 0x3fff
jle 0x4b8f44
cmp eax, 0x7fff
jle 0x4b8f20
cmp eax, 0xbfff
jle 0x4b8f44
test byte [0x693f68], 1
je 0x4b8f44
jmp 0x4b8f20
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b8e73
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4b8f44
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b8fd5
mov dword [esp], 1
call fcn.00416240
push eax
movzx eax, byte [0x693f26]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f25]
or eax, edx
mov word [0x69407c], ax
movzx eax, ax
mov dword [esp], eax
call fcn.00445910
push edx
mov word [0x693efe], ax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x4b9017
cmp eax, 0x3fff
jle 0x4b9047
cmp eax, 0x7fff
jle 0x4b9023
cmp eax, 0xbfff
jle 0x4b9047
test byte [0x693f68], 1
je 0x4b9047
jmp 0x4b9023
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b8f59
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4b9047
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b9179
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov dword [esp], eax
call fcn.004015c0
push esi
push esi
movzx eax, byte [0x693f01]
movzx ecx, byte [0x693f11]
mov edx, ecx
mov ebx, ecx
shl ebx, 8
movzx ecx, al
or ecx, ebx
cmp ecx, dword [0x693fd4]
jne 0x4b90c3
mov dword [0x693bf0], 0x1a90
cmp al, 1
sbb dl, 0
mov byte [0x693f11], dl
sub eax, 1
mov byte [0x693f01], al
sub word [0x69407c], 1
movzx edi, word [0x693efe]
movzx eax, byte [0x693f25]
lea edx, [edi + eax - 1]
movzx ecx, byte [0x693f26]
lea eax, [ecx - 1]
mov byte [0x693f26], al
movzx eax, al
mov ebx, edx
and ebx, 7
xor ebx, eax
and dx, 0x100
mov word [0x693efc], dx
mov esi, edx
or esi, eax
mov word [0x693d1c], si
mov word [0x693d00], ax
add ecx, 0x7f
movzx ecx, cl
mov word [0x693d20], cx
mov ecx, ebx
shr cx, 4
xor ecx, ebx
and ecx, 0xf
mov ebx, 0x4b3480
sar ebx, cl
xor eax, ebx
and ax, 0x80
mov ecx, eax
lea eax, [edi*4]
and ax, 0x200
mov ebx, eax
mov eax, edx
shr ax, 4
or eax, ebx
or eax, ecx
mov word [0x693d1e], ax
mov dword [0x693c88], 1
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b9060
cmp dword [0x693b44], 4
jle 0x4b91e4
cmp bp, 0x4001
jbe 0x4b9214
cmp bp, 0x8001
jbe 0x4b91f0
cmp bp, 0xc001
jbe 0x4b9214
test byte [0x693f68], 1
je 0x4b9214
jmp 0x4b91f0
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b9214
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b9267
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b92a6
cmp ax, 0x4000
jbe 0x4b92d4
cmp ax, 0x8000
jbe 0x4b92b0
cmp ax, 0xc000
jbe 0x4b92d4
test byte [0x693f68], 1
je 0x4b92d4
jmp 0x4b92b0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edx
push edx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b9229
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b92d4
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b9348
mov dword [esp], 4
call fcn.00416240
push eax
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x4b938a
cmp eax, 0x3fff
jle 0x4b93ba
cmp eax, 0x7fff
jle 0x4b9396
cmp eax, 0xbfff
jle 0x4b93ba
test byte [0x693f68], 1
je 0x4b93ba
jmp 0x4b9396
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b92e9
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4b93ba
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b944b
mov dword [esp], 1
call fcn.00416240
push esi
movzx eax, byte [0x693f26]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f25]
or eax, edx
mov word [0x69407c], ax
movzx eax, ax
mov dword [esp], eax
call fcn.00445910
push edi
mov word [0x693efe], ax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x4b948d
cmp eax, 0x3fff
jle 0x4b94bd
cmp eax, 0x7fff
jle 0x4b9499
cmp eax, 0xbfff
jle 0x4b94bd
test byte [0x693f68], 1
je 0x4b94bd
jmp 0x4b9499
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b93cf
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4b94bd
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b970a
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov dword [esp], eax
call fcn.004015c0
push edx
push edx
movzx edx, byte [0x693f01]
movzx ecx, byte [0x693f11]
mov eax, ecx
mov ebx, ecx
shl ebx, 8
movzx ecx, dl
or ecx, ebx
cmp ecx, dword [0x693fd4]
jne 0x4b9539
mov dword [0x693bf0], 0x1a90
lea ebp, [edx + 1]
mov ebx, ebp
mov byte [0x693f01], bl
cmp bl, 1
adc al, 0
mov byte [esp + 0x2c], al
mov byte [0x693f11], al
add word [0x69407c], 1
movzx eax, byte [0x693f25]
add eax, 1
movzx eax, al
add ax, word [0x693efe]
mov edx, eax
movzx ecx, byte [0x693f26]
lea edi, [ecx - 1]
mov eax, edi
mov byte [0x693f26], al
movzx ebx, al
mov eax, edx
and eax, 7
xor eax, ebx
mov word [esp + 0x2e], ax
mov esi, edx
and si, 0x100
mov word [0x693efc], si
mov eax, esi
or eax, ebx
mov word [0x693d1c], ax
mov word [0x693d00], bx
lea eax, [ecx + 0x7f]
movzx eax, al
mov word [0x693d20], ax
movzx eax, word [esp + 0x2e]
shr ax, 4
xor ax, word [esp + 0x2e]
mov ecx, eax
and ecx, 0xf
mov eax, 0x4b3480
sar eax, cl
xor eax, ebx
and ax, 0x80
mov edx, eax
movzx eax, word [0x693efe]
shl eax, 2
and ax, 0x200
mov ecx, eax
mov eax, esi
shr ax, 4
or eax, ecx
or eax, edx
mov word [0x693d1e], ax
mov eax, edi
test al, al
je case.default.0x4a52e4
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, byte [esp + 0x2c]
shl eax, 8
mov edx, eax
mov eax, ebp
movzx eax, al
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx edx, word [0x693f80]
lea eax, [edx - 1]
mov word [0x69407c], ax
lea ebx, [edx - 2]
mov word [0x693f80], bx
call fcn.00401000
mov dword [0x693f18], eax
mov eax, ebx
shr ax, 0xb
mov esi, eax
and esi, 1
mov dword [0x693d88], esi
mov eax, ebx
shr ax, 0xd
mov ecx, eax
and ecx, 1
mov dword [0x693d80], ecx
mov eax, dword [0x693f18]
shr eax, 2
and eax, 1
mov dword [0x693d90], eax
mov edx, dword [0x693f18]
and dl, 1
movzx edx, byte [0x693f26]
jne 0x4b974c
and edx, 7
mov ebx, dword [0x694108]
movzx edx, byte [ebx + edx]
xor eax, edx
xor eax, 1
mov dword [0x693d90], eax
shl eax, 2
xor eax, 4
mov edx, eax
movzx eax, byte [0x693f18]
or eax, 4
xor eax, edx
lea edx, [esi*8]
xor edx, 8
or eax, 8
xor eax, edx
or eax, 0x20
mov edx, eax
mov eax, ecx
shl eax, 5
xor eax, 0x20
xor eax, edx
mov byte [0x693f18], al
mov dword [0x693c88], 1
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b94d6
test byte [0x693efe], 0x80
jne 0x4b97a7
lea ebx, [edx + 1]
and ebx, 7
mov edi, dword [0x694108]
movzx ebx, byte [edi + ebx]
xor eax, ebx
xor eax, 1
mov dword [0x693d90], eax
shl eax, 2
xor eax, 4
mov ebx, eax
movzx eax, byte [0x693f18]
or eax, 4
xor ebx, eax
mov eax, edx
and eax, 0xf
cmp al, 0xf
sete al
movzx eax, al
mov dword [0x693d84], eax
shl eax, 4
xor eax, 0x10
or ebx, 0x10
mov edx, ebx
xor eax, edx
jmp 0x4b96ca
lea ebx, [edx + 7]
and ebx, 7
mov edi, dword [0x694108]
movzx ebx, byte [edi + ebx]
xor eax, ebx
xor eax, 1
mov dword [0x693d90], eax
shl eax, 2
xor eax, 4
mov ebx, eax
movzx eax, byte [0x693f18]
or eax, 4
xor ebx, eax
and dl, 0xf
jmp 0x4b978a
cmp dword [0x693b44], 4
jle 0x4b9803
cmp bp, 0x4001
jbe 0x4b9833
cmp bp, 0x8001
jbe 0x4b980f
cmp bp, 0xc001
jbe 0x4b9833
test byte [0x693f68], 1
je 0x4b9833
jmp 0x4b980f
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b9833
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b9886
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b98c5
cmp ax, 0x4000
jbe 0x4b98f3
cmp ax, 0x8000
jbe 0x4b98cf
cmp ax, 0xc000
jbe 0x4b98f3
test byte [0x693f68], 1
je 0x4b98f3
jmp 0x4b98cf
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b9848
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b98f3
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b9967
mov dword [esp], 4
call fcn.00416240
push esi
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x4b99a9
cmp eax, 0x3fff
jle 0x4b99d9
cmp eax, 0x7fff
jle 0x4b99b5
cmp eax, 0xbfff
jle 0x4b99d9
test byte [0x693f68], 1
je 0x4b99d9
jmp 0x4b99b5
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b9908
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4b99d9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b9a6a
mov dword [esp], 1
call fcn.00416240
push eax
movzx eax, byte [0x693f26]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f25]
or eax, edx
mov word [0x69407c], ax
movzx eax, ax
mov dword [esp], eax
call fcn.00445910
push edx
mov word [0x693efe], ax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x4b9aac
cmp eax, 0x3fff
jle 0x4b9adc
cmp eax, 0x7fff
jle 0x4b9ab8
cmp eax, 0xbfff
jle 0x4b9adc
test byte [0x693f68], 1
je 0x4b9adc
jmp 0x4b9ab8
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b99ee
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4b9adc
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b9d25
mov dword [esp], 3
call fcn.00416240
push ebx
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
mov dword [esp], eax
call fcn.004015c0
push esi
push esi
movzx eax, byte [0x693f01]
movzx ecx, byte [0x693f11]
mov edx, ecx
mov ebx, ecx
shl ebx, 8
movzx ecx, al
or ecx, ebx
cmp ecx, dword [0x693fd4]
jne 0x4b9b58
mov dword [0x693bf0], 0x1a90
cmp al, 1
sbb dl, 0
mov byte [esp + 0x2c], dl
mov byte [0x693f11], dl
sub eax, 1
mov byte [esp + 0x2e], al
mov byte [0x693f01], al
sub word [0x69407c], 1
movzx eax, byte [0x693f25]
sub eax, 1
movzx eax, al
add ax, word [0x693efe]
mov edx, eax
movzx ecx, byte [0x693f26]
lea edi, [ecx - 1]
mov eax, edi
mov byte [0x693f26], al
movzx ebx, al
mov eax, edx
and eax, 7
xor eax, ebx
mov ebp, eax
mov esi, edx
and si, 0x100
mov word [0x693efc], si
mov eax, esi
or eax, ebx
mov word [0x693d1c], ax
mov word [0x693d00], bx
lea eax, [ecx + 0x7f]
movzx eax, al
mov word [0x693d20], ax
mov eax, ebp
shr ax, 4
xor eax, ebp
mov ecx, eax
and ecx, 0xf
mov eax, 0x4b3480
sar eax, cl
xor eax, ebx
and ax, 0x80
mov edx, eax
movzx eax, word [0x693efe]
shl eax, 2
and ax, 0x200
mov ecx, eax
mov eax, esi
shr ax, 4
or eax, ecx
or eax, edx
mov word [0x693d1e], ax
mov eax, edi
test al, al
je case.default.0x4a52e4
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx eax, byte [esp + 0x2c]
shl eax, 8
mov edx, eax
movzx eax, byte [esp + 0x2e]
or eax, edx
add eax, 1
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx edx, word [0x693f80]
lea eax, [edx - 1]
mov word [0x69407c], ax
lea ebx, [edx - 2]
mov word [0x693f80], bx
call fcn.00401000
mov dword [0x693f18], eax
mov eax, ebx
shr ax, 0xb
mov esi, eax
and esi, 1
mov dword [0x693d88], esi
mov eax, ebx
shr ax, 0xd
mov ecx, eax
and ecx, 1
mov dword [0x693d80], ecx
mov eax, dword [0x693f18]
shr eax, 2
and eax, 1
mov dword [0x693d90], eax
mov edx, dword [0x693f18]
and dl, 1
movzx edx, byte [0x693f26]
jne 0x4b9d67
and edx, 7
mov ebx, dword [0x694108]
movzx edx, byte [ebx + edx]
xor eax, edx
xor eax, 1
mov dword [0x693d90], eax
shl eax, 2
xor eax, 4
mov edx, eax
movzx eax, byte [0x693f18]
or eax, 4
xor eax, edx
lea edx, [esi*8]
xor edx, 8
or eax, 8
xor eax, edx
or eax, 0x20
mov edx, eax
mov eax, ecx
shl eax, 5
xor eax, 0x20
xor eax, edx
mov byte [0x693f18], al
mov dword [0x693c88], 1
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push ecx
jmp case.default.0x4a52e4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b9af5
test byte [0x693efe], 0x80
jne 0x4b9dc2
lea ebx, [edx + 1]
and ebx, 7
mov edi, dword [0x694108]
movzx ebx, byte [edi + ebx]
xor eax, ebx
xor eax, 1
mov dword [0x693d90], eax
shl eax, 2
xor eax, 4
mov ebx, eax
movzx eax, byte [0x693f18]
or eax, 4
xor ebx, eax
mov eax, edx
and eax, 0xf
cmp al, 0xf
sete al
movzx eax, al
mov dword [0x693d84], eax
shl eax, 4
xor eax, 0x10
or ebx, 0x10
mov edx, ebx
xor eax, edx
jmp 0x4b9ce5
lea ebx, [edx + 7]
and ebx, 7
mov edi, dword [0x694108]
movzx ebx, byte [edi + ebx]
xor eax, ebx
xor eax, 1
mov dword [0x693d90], eax
shl eax, 2
xor eax, 4
mov ebx, eax
movzx eax, byte [0x693f18]
or eax, 4
xor ebx, eax
and dl, 0xf
jmp 0x4b9da5
cmp dword [0x693b44], 4
jle 0x4b9e1e
cmp bp, 0x4001
jbe 0x4b9e4e
cmp bp, 0x8001
jbe 0x4b9e2a
cmp bp, 0xc001
jbe 0x4b9e4e
test byte [0x693f68], 1
je 0x4b9e4e
jmp 0x4b9e2a
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4b9e4e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b9ea1
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4b9ee0
cmp ax, 0x4000
jbe 0x4b9f0e
cmp ax, 0x8000
jbe 0x4b9eea
cmp ax, 0xc000
jbe 0x4b9f0e
test byte [0x693f68], 1
je 0x4b9f0e
jmp 0x4b9eea
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b9e63
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4b9f0e
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4b9f92
mov dword [esp], 4
call fcn.00416240
push eax
cmp dword [0x693b44], 4
jle 0x4b9fd4
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp eax, 0x3fff
jle 0x4ba029
cmp eax, 0x7fff
jle 0x4ba005
cmp eax, 0xbfff
jle 0x4ba029
test byte [0x693f68], 1
je 0x4ba029
jmp 0x4ba005
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4b9f23
movzx edx, byte [0x693f38]
and edx, 0xffffff80
movzx eax, byte [0x693f00]
and eax, 0x7f
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4ba029
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4ba08d
mov dword [esp], 1
call fcn.00416240
push esi
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x4ba0cf
cmp eax, 0x3fff
jle 0x4ba0ff
cmp eax, 0x7fff
jle 0x4ba0db
cmp eax, 0xbfff
jle 0x4ba0ff
test byte [0x693f68], 1
je 0x4ba0ff
jmp 0x4ba0db
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4ba03e
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4ba0ff
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4ba1e3
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f26]
sub eax, 1
mov byte [0x693f26], al
movzx edx, byte [0x693f25]
shl eax, 8
or eax, edx
mov ebx, eax
mov word [0x69407c], ax
movzx edi, byte [0x693f01]
movzx eax, byte [0x693f11]
shl eax, 8
mov esi, eax
mov eax, edi
movzx eax, al
or eax, esi
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push edx
mov word [0x693efe], ax
mov eax, edi
movzx eax, al
or eax, esi
cmp eax, dword [0x693fe0]
jne 0x4ba18d
mov dword [0x693bf0], 0x1a90
movzx eax, bl
mov dword [0x694054], eax
mov eax, ebx
shr ax, 8
movzx eax, ax
mov dword [0x694058], eax
mov eax, dword [0x693b44]
test bl, 1
jne 0x4ba225
cmp eax, 1
je 0x4ba49c
lea edx, [eax - 2]
cmp edx, 2
ja 0x4ba4f6
cmp bx, 0x3fff
jg 0x4ba30b
mov dword [0x693c3c], 1
mov dword [esp], 1
jmp 0x4ba324
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4ba118
cmp eax, 4
jle 0x4ba2cd
cmp eax, 5
je 0x4ba2fb
cmp eax, 6
jne 0x4ba3b3
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push edi
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push ebp
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x4ba3b3
cmp bx, 0x3fff
jg 0x4ba30b
mov dword [0x693c3c], 4
mov dword [esp], 4
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x4ba3b3
cmp bx, 0x3fff
jbe 0x4ba2d4
test bx, bx
js 0x4ba47f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.00443bf0
push eax
push eax
add word [0x69407c], 1
movzx eax, byte [0x693f01]
add eax, 1
mov byte [0x693f01], al
cmp al, 1
adc byte [0x693f11], 0
movzx esi, word [0x693efe]
movzx eax, al
lea edx, [eax + esi]
movzx edi, byte [0x693f26]
mov eax, edi
movzx eax, al
mov ecx, edx
and ecx, 7
xor ecx, eax
and dx, 0x100
mov word [0x693efc], dx
mov ebx, edx
or ebx, eax
mov word [0x693d1c], bx
mov word [0x693d00], ax
lea ebx, [edi - 0x80]
movzx ebx, bl
mov word [0x693d20], bx
mov ebx, ecx
shr bx, 4
xor ecx, ebx
and ecx, 0xf
mov ebx, 0x4b3480
sar ebx, cl
xor eax, ebx
and ax, 0x80
mov ecx, eax
lea eax, [esi*4]
and ax, 0x200
mov ebx, eax
mov eax, edx
shr ax, 4
or eax, ebx
or eax, ecx
mov word [0x693d1e], ax
mov dword [0x693c88], 1
jmp case.default.0x4a52e4
cmp bx, 0xbfff
jbe 0x4ba2d4
test byte [0x693f68], 1
je 0x4ba2d4
jmp 0x4ba30b
cmp bx, 0x3fff
jg 0x4ba4db
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push edx
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 3
jmp 0x4ba39a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
jmp 0x4ba4b4
cmp eax, 5
jne 0x4ba237
cmp bx, 0x3fff
jbe 0x4ba4a3
test bx, bx
js 0x4ba583
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 3
mov dword [esp], 3
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x4ba3b3
cmp bx, 0xbfff
jbe 0x4ba4a3
test byte [0x693f68], 1
jne 0x4ba50b
jmp 0x4ba4a3
cmp dword [0x693b44], 4
jle 0x4ba5c9
cmp bp, 0x4001
jbe 0x4ba5f9
cmp bp, 0x8001
jbe 0x4ba5d5
cmp bp, 0xc001
jbe 0x4ba5f9
test byte [0x693f68], 1
je 0x4ba5f9
jmp 0x4ba5d5
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4ba5f9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4ba64c
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4ba68b
cmp ax, 0x4000
jbe 0x4ba6b9
cmp ax, 0x8000
jbe 0x4ba695
cmp ax, 0xc000
jbe 0x4ba6b9
test byte [0x693f68], 1
je 0x4ba6b9
jmp 0x4ba695
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4ba60e
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4ba6b9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4ba72d
mov dword [esp], 4
call fcn.00416240
push edx
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x4ba76f
cmp eax, 0x3fff
jle 0x4ba79f
cmp eax, 0x7fff
jle 0x4ba77b
cmp eax, 0xbfff
jle 0x4ba79f
test byte [0x693f68], 1
je 0x4ba79f
jmp 0x4ba77b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4ba6ce
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4ba79f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4ba803
mov dword [esp], 1
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x4ba845
cmp eax, 0x3fff
jle 0x4ba875
cmp eax, 0x7fff
jle 0x4ba851
cmp eax, 0xbfff
jle 0x4ba875
test byte [0x693f68], 1
je 0x4ba875
jmp 0x4ba851
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4ba7b4
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4ba875
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4ba959
mov dword [esp], 3
call fcn.00416240
push edi
movzx eax, byte [0x693f26]
sub eax, 1
mov byte [0x693f26], al
movzx edx, byte [0x693f25]
shl eax, 8
or eax, edx
mov ebx, eax
mov word [0x69407c], ax
movzx edi, byte [0x693f01]
movzx eax, byte [0x693f11]
shl eax, 8
mov esi, eax
mov eax, edi
movzx eax, al
or eax, esi
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ebp
mov word [0x693efe], ax
mov eax, edi
movzx eax, al
or eax, esi
cmp eax, dword [0x693fe0]
jne 0x4ba903
mov dword [0x693bf0], 0x1a90
movzx eax, bl
mov dword [0x694054], eax
mov eax, ebx
shr ax, 8
movzx eax, ax
mov dword [0x694058], eax
mov eax, dword [0x693b44]
test bl, 1
jne 0x4ba99b
cmp eax, 1
je 0x4bac12
lea edx, [eax - 2]
cmp edx, 2
ja 0x4bac6c
cmp bx, 0x3fff
jg 0x4baa81
mov dword [0x693c3c], 1
mov dword [esp], 1
jmp 0x4baa9a
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4ba88e
cmp eax, 4
jle 0x4baa43
cmp eax, 5
je 0x4baa71
cmp eax, 6
jne 0x4bab29
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push edx
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push ecx
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push ebx
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x4bab29
cmp bx, 0x3fff
jg 0x4baa81
mov dword [0x693c3c], 4
mov dword [esp], 4
call fcn.00416240
push esi
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x4bab29
cmp bx, 0x3fff
jbe 0x4baa4a
test bx, bx
js 0x4babf5
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.00443bf0
push ecx
push ecx
sub word [0x69407c], 1
movzx eax, byte [0x693f01]
cmp al, 1
sbb byte [0x693f11], 0
sub eax, 1
mov byte [0x693f01], al
movzx esi, word [0x693efe]
movzx eax, al
lea edx, [eax + esi]
movzx edi, byte [0x693f26]
mov eax, edi
movzx eax, al
mov ecx, edx
and ecx, 7
xor ecx, eax
and dx, 0x100
mov word [0x693efc], dx
mov ebx, edx
or ebx, eax
mov word [0x693d1c], bx
mov word [0x693d00], ax
lea ebx, [edi - 0x80]
movzx ebx, bl
mov word [0x693d20], bx
mov ebx, ecx
shr bx, 4
xor ecx, ebx
and ecx, 0xf
mov ebx, 0x4b3480
sar ebx, cl
xor eax, ebx
and ax, 0x80
mov ecx, eax
lea eax, [esi*4]
and ax, 0x200
mov ebx, eax
mov eax, edx
shr ax, 4
or eax, ebx
or eax, ecx
mov word [0x693d1e], ax
mov dword [0x693c88], 1
jmp case.default.0x4a52e4
cmp bx, 0xbfff
jbe 0x4baa4a
test byte [0x693f68], 1
je 0x4baa4a
jmp 0x4baa81
cmp bx, 0x3fff
jg 0x4bac51
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 3
jmp 0x4bab10
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
jmp 0x4bac2a
cmp eax, 5
jne 0x4ba9ad
cmp bx, 0x3fff
jbe 0x4bac19
test bx, bx
js 0x4bacf9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 3
mov dword [esp], 3
call fcn.00416240
push edi
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x4bab29
cmp bx, 0xbfff
jbe 0x4bac19
test byte [0x693f68], 1
jne 0x4bac81
jmp 0x4bac19
cmp dword [0x693b44], 4
jle 0x4bad3f
cmp bp, 0x4001
jbe 0x4bad6f
cmp bp, 0x8001
jbe 0x4bad4b
cmp bp, 0xc001
jbe 0x4bad6f
test byte [0x693f68], 1
je 0x4bad6f
jmp 0x4bad4b
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4bad6f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4badc2
mov dword [esp], 4
call fcn.00416240
push eax
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4bae01
cmp ax, 0x4000
jbe 0x4bae2f
cmp ax, 0x8000
jbe 0x4bae0b
cmp ax, 0xc000
jbe 0x4bae2f
test byte [0x693f68], 1
je 0x4bae2f
jmp 0x4bae0b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4bad84
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4bae2f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4baea3
mov dword [esp], 4
call fcn.00416240
push eax
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x4baee5
cmp eax, 0x3fff
jle 0x4baf15
cmp eax, 0x7fff
jle 0x4baef1
cmp eax, 0xbfff
jle 0x4baf15
test byte [0x693f68], 1
je 0x4baf15
jmp 0x4baef1
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4bae44
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4baf15
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4baf79
mov dword [esp], 1
call fcn.00416240
push esi
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x4bafbb
cmp eax, 0x3fff
jle 0x4bafeb
cmp eax, 0x7fff
jle 0x4bafc7
cmp eax, 0xbfff
jle 0x4bafeb
test byte [0x693f68], 1
je 0x4bafeb
jmp 0x4bafc7
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4baf2a
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4bafeb
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4bb0cf
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, byte [0x693f26]
sub eax, 1
mov byte [0x693f26], al
movzx edx, byte [0x693f25]
shl eax, 8
or eax, edx
mov ebx, eax
mov word [0x69407c], ax
movzx edi, byte [0x693f01]
movzx eax, byte [0x693f11]
shl eax, 8
mov esi, eax
mov eax, edi
movzx eax, al
or eax, esi
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push edx
mov word [0x693efe], ax
mov eax, edi
movzx eax, al
or eax, esi
cmp eax, dword [0x693fe0]
jne 0x4bb079
mov dword [0x693bf0], 0x1a90
movzx eax, bl
mov dword [0x694054], eax
mov eax, ebx
shr ax, 8
movzx eax, ax
mov dword [0x694058], eax
mov eax, dword [0x693b44]
test bl, 1
jne 0x4bb111
cmp eax, 1
je 0x4bb492
lea edx, [eax - 2]
cmp edx, 2
ja 0x4bb4ec
cmp bx, 0x3fff
jg 0x4bb1f7
mov dword [0x693c3c], 1
mov dword [esp], 1
jmp 0x4bb210
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4bb004
cmp eax, 4
jle 0x4bb1b9
cmp eax, 5
je 0x4bb1e7
cmp eax, 6
jne 0x4bb29f
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push ebp
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x4bb29f
cmp bx, 0x3fff
jg 0x4bb1f7
mov dword [0x693c3c], 4
mov dword [esp], 4
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x4bb29f
cmp bx, 0x3fff
jbe 0x4bb1c0
test bx, bx
js 0x4bb475
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push esi
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push edx
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.00443bf0
push eax
push eax
add word [0x69407c], 1
movzx eax, byte [0x693f01]
add eax, 1
mov byte [0x693f01], al
cmp al, 1
adc byte [0x693f11], 0
movzx edi, word [0x693efe]
movzx eax, al
lea ebx, [eax + edi]
movzx edx, byte [0x693f26]
mov eax, edx
mov ecx, ebx
and ecx, 7
xor ecx, edx
mov word [esp + 0x2c], cx
and bx, 0x100
mov word [0x693efc], bx
mov esi, ebx
or esi, edx
mov word [0x693d1c], si
mov word [0x693d00], dx
lea esi, [eax - 0x80]
mov ecx, esi
movzx esi, cl
mov word [0x693d20], si
movzx esi, word [esp + 0x2c]
shr si, 4
movzx ecx, word [esp + 0x2c]
xor ecx, esi
and ecx, 0xf
mov esi, 0x4b3480
sar esi, cl
xor edx, esi
mov ecx, edx
and cx, 0x80
lea edx, [edi*4]
mov esi, edx
and si, 0x200
shr bx, 4
mov edx, ebx
or edx, esi
or edx, ecx
mov word [0x693d1e], dx
test al, al
je case.default.0x4a52e4
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx edx, byte [0x693f25]
movzx eax, al
shl eax, 8
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx edx, word [0x693f80]
lea eax, [edx - 1]
mov word [0x69407c], ax
lea ebx, [edx - 2]
mov word [0x693f80], bx
call fcn.00401000
mov dword [0x693f18], eax
mov eax, ebx
shr ax, 0xb
mov esi, eax
and esi, 1
mov dword [0x693d88], esi
mov eax, ebx
shr ax, 0xd
mov ecx, eax
and ecx, 1
mov dword [0x693d80], ecx
mov eax, dword [0x693f18]
shr eax, 2
and eax, 1
mov dword [0x693d90], eax
mov edx, dword [0x693f18]
and dl, 1
movzx edx, byte [0x693f26]
jne 0x4bb596
and edx, 7
mov ebx, dword [0x694108]
movzx edx, byte [ebx + edx]
xor eax, edx
xor eax, 1
mov dword [0x693d90], eax
shl eax, 2
xor eax, 4
mov edx, eax
movzx eax, byte [0x693f18]
or eax, 4
xor eax, edx
lea edx, [esi*8]
xor edx, 8
or eax, 8
xor eax, edx
or eax, 0x20
mov edx, eax
mov eax, ecx
shl eax, 5
xor eax, 0x20
xor eax, edx
mov byte [0x693f18], al
mov dword [0x693c88], 1
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
jmp case.default.0x4a52e4
cmp bx, 0xbfff
jbe 0x4bb1c0
test byte [0x693f68], 1
je 0x4bb1c0
jmp 0x4bb1f7
cmp bx, 0x3fff
jg 0x4bb4d1
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push ecx
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 3
jmp 0x4bb286
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
jmp 0x4bb4aa
cmp eax, 5
jne 0x4bb123
cmp bx, 0x3fff
jbe 0x4bb499
test bx, bx
js 0x4bb579
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 3
mov dword [esp], 3
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x4bb29f
cmp bx, 0xbfff
jbe 0x4bb499
test byte [0x693f68], 1
jne 0x4bb501
jmp 0x4bb499
test byte [0x693efe], 0x80
jne 0x4bb5f1
lea ebx, [edx + 1]
and ebx, 7
mov edi, dword [0x694108]
movzx ebx, byte [edi + ebx]
xor eax, ebx
xor eax, 1
mov dword [0x693d90], eax
shl eax, 2
xor eax, 4
mov ebx, eax
movzx eax, byte [0x693f18]
or eax, 4
xor ebx, eax
mov eax, edx
and eax, 0xf
cmp al, 0xf
sete al
movzx eax, al
mov dword [0x693d84], eax
shl eax, 4
xor eax, 0x10
or ebx, 0x10
mov edx, ebx
xor eax, edx
jmp 0x4bb435
lea ebx, [edx + 7]
and ebx, 7
mov edi, dword [0x694108]
movzx ebx, byte [edi + ebx]
xor eax, ebx
xor eax, 1
mov dword [0x693d90], eax
shl eax, 2
xor eax, 4
mov ebx, eax
movzx eax, byte [0x693f18]
or eax, 4
xor ebx, eax
and dl, 0xf
jmp 0x4bb5d4
cmp dword [0x693b44], 4
jle 0x4bb64d
cmp bp, 0x4001
jbe 0x4bb67d
cmp bp, 0x8001
jbe 0x4bb659
cmp bp, 0xc001
jbe 0x4bb67d
test byte [0x693f68], 1
je 0x4bb67d
jmp 0x4bb659
lea eax, [esi - 0x4000]
cmp ax, 0x3fff
ja 0x4bb67d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4bb6d0
mov dword [esp], 4
call fcn.00416240
push esi
movzx eax, word [0x693f80]
cmp dword [0x693b44], 4
jle 0x4bb70f
cmp ax, 0x4000
jbe 0x4bb73d
cmp ax, 0x8000
jbe 0x4bb719
cmp ax, 0xc000
jbe 0x4bb73d
test byte [0x693f68], 1
je 0x4bb73d
jmp 0x4bb719
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4bb692
sub ax, 0x4001
cmp ax, 0x3fff
ja 0x4bb73d
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 4
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4bb7b1
mov dword [esp], 4
call fcn.00416240
push edx
movzx edx, byte [0x693f00]
and edx, 0x7f
movzx eax, byte [0x693f38]
and eax, 0xffffff80
or eax, edx
movzx eax, al
movzx edx, byte [0x693f10]
shl edx, 8
or eax, edx
cmp dword [0x693b44], 4
jle 0x4bb7f3
cmp eax, 0x3fff
jle 0x4bb823
cmp eax, 0x7fff
jle 0x4bb7ff
cmp eax, 0xbfff
jle 0x4bb823
test byte [0x693f68], 1
je 0x4bb823
jmp 0x4bb7ff
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4bb752
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4bb823
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 1
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4bb887
mov dword [esp], 1
call fcn.00416240
push eax
movzx eax, byte [0x693f11]
shl eax, 8
mov edx, eax
movzx eax, byte [0x693f01]
or eax, edx
cmp dword [0x693b44], 4
jle 0x4bb8c9
cmp eax, 0x3fff
jle 0x4bb8f9
cmp eax, 0x7fff
jle 0x4bb8d5
cmp eax, 0xbfff
jle 0x4bb8f9
test byte [0x693f68], 1
je 0x4bb8f9
jmp 0x4bb8d5
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4bb838
sub eax, 0x4000
cmp eax, 0x3fff
ja 0x4bb8f9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4bb9dd
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, byte [0x693f26]
sub eax, 1
mov byte [0x693f26], al
movzx edx, byte [0x693f25]
shl eax, 8
or eax, edx
mov ebx, eax
mov word [0x69407c], ax
movzx edi, byte [0x693f01]
movzx eax, byte [0x693f11]
shl eax, 8
mov esi, eax
mov eax, edi
movzx eax, al
or eax, esi
movzx eax, ax
mov dword [esp], eax
call fcn.004010a0
push ebp
mov word [0x693efe], ax
mov eax, edi
movzx eax, al
or eax, esi
cmp eax, dword [0x693fe0]
jne 0x4bb987
mov dword [0x693bf0], 0x1a90
movzx eax, bl
mov dword [0x694054], eax
mov eax, ebx
shr ax, 8
movzx eax, ax
mov dword [0x694058], eax
mov eax, dword [0x693b44]
test bl, 1
jne 0x4bba1f
cmp eax, 1
je 0x4bbda5
lea edx, [eax - 2]
cmp edx, 2
ja 0x4bbdff
cmp bx, 0x3fff
jg 0x4bbb05
mov dword [0x693c3c], 1
mov dword [esp], 1
jmp 0x4bbb1e
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4bb912
cmp eax, 4
jle 0x4bbac7
cmp eax, 5
je 0x4bbaf5
cmp eax, 6
jne 0x4bbbad
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push edx
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push ecx
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x4bbbad
cmp bx, 0x3fff
jg 0x4bbb05
mov dword [0x693c3c], 4
mov dword [esp], 4
call fcn.00416240
push ebx
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x4bbbad
cmp bx, 0x3fff
jbe 0x4bbace
test bx, bx
js 0x4bbd88
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push edi
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
movzx eax, word [0x693efe]
mov dword [esp + 4], eax
movzx eax, word [0x69407c]
mov dword [esp], eax
call fcn.00443bf0
push edx
push edx
mov dword [0x694090], eax
sub word [0x69407c], 1
movzx eax, byte [0x693f01]
cmp al, 1
sbb byte [0x693f11], 0
sub eax, 1
mov byte [0x693f01], al
movzx edi, word [0x693efe]
movzx eax, al
lea ebx, [eax + edi]
movzx edx, byte [0x693f26]
mov eax, edx
mov ecx, ebx
and ecx, 7
xor ecx, edx
mov word [esp + 0x2c], cx
and bx, 0x100
mov word [0x693efc], bx
mov esi, ebx
or esi, edx
mov word [0x693d1c], si
mov word [0x693d00], dx
lea esi, [eax - 0x80]
mov ecx, esi
movzx esi, cl
mov word [0x693d20], si
movzx esi, word [esp + 0x2c]
shr si, 4
movzx ecx, word [esp + 0x2c]
xor ecx, esi
and ecx, 0xf
mov esi, 0x4b3480
sar esi, cl
xor edx, esi
mov ecx, edx
and cx, 0x80
lea edx, [edi*4]
mov esi, edx
and si, 0x200
shr bx, 4
mov edx, ebx
or edx, esi
or edx, ecx
mov word [0x693d1e], dx
test al, al
je case.default.0x4a52e4
mov dword [esp + 8], 5
mov dword [esp + 4], 1
movzx edx, byte [0x693f25]
movzx eax, al
shl eax, 8
or eax, edx
mov dword [esp], eax
call fcn.004453d0
sub esp, 0xc
movzx edx, word [0x693f80]
lea eax, [edx - 1]
mov word [0x69407c], ax
lea ebx, [edx - 2]
mov word [0x693f80], bx
call fcn.00401000
mov dword [0x693f18], eax
mov eax, ebx
shr ax, 0xb
mov esi, eax
and esi, 1
mov dword [0x693d88], esi
mov eax, ebx
shr ax, 0xd
mov ecx, eax
and ecx, 1
mov dword [0x693d80], ecx
mov eax, dword [0x693f18]
shr eax, 2
and eax, 1
mov dword [0x693d90], eax
mov edx, dword [0x693f18]
and dl, 1
movzx edx, byte [0x693f26]
jne 0x4bbea9
and edx, 7
mov ebx, dword [0x694108]
movzx edx, byte [ebx + edx]
xor eax, edx
xor eax, 1
mov dword [0x693d90], eax
shl eax, 2
xor eax, 4
mov edx, eax
movzx eax, byte [0x693f18]
or eax, 4
xor eax, edx
lea edx, [esi*8]
xor edx, 8
or eax, 8
xor eax, edx
or eax, 0x20
mov edx, eax
mov eax, ecx
shl eax, 5
xor eax, 0x20
xor eax, edx
mov byte [0x693f18], al
mov dword [0x693c88], 1
mov eax, dword [0x693f18]
mov dword [esp], eax
call fcn.00401250
push eax
jmp case.default.0x4a52e4
cmp bx, 0xbfff
jbe 0x4bbace
test byte [0x693f68], 1
je 0x4bbace
jmp 0x4bbb05
cmp bx, 0x3fff
jg 0x4bbde4
mov dword [0x693c3c], 1
mov dword [esp], 1
call fcn.00416240
push ebp
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
add eax, 3
jmp 0x4bbb94
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
jmp 0x4bbdbd
cmp eax, 5
jne 0x4bba31
cmp bx, 0x3fff
jbe 0x4bbdac
test bx, bx
js 0x4bbe8c
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
add eax, 1
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push ecx
mov eax, dword [0x693c3c]
add eax, dword [0x693e64]
mov dword [0x693e64], eax
mov edx, dword [0x6940c8]
mov eax, dword [edx + eax*4]
mov dword [0x693c3c], eax
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
mov dword [0x693c3c], 3
mov dword [esp], 3
call fcn.00416240
push esi
mov eax, dword [0x693c3c]
add dword [0x693e64], eax
jmp 0x4bbbad
cmp bx, 0xbfff
jbe 0x4bbdac
test byte [0x693f68], 1
jne 0x4bbe14
jmp 0x4bbdac
test byte [0x693efe], 0x80
jne 0x4bbf04
lea ebx, [edx + 1]
and ebx, 7
mov edi, dword [0x694108]
movzx ebx, byte [edi + ebx]
xor eax, ebx
xor eax, 1
mov dword [0x693d90], eax
shl eax, 2
xor eax, 4
mov ebx, eax
movzx eax, byte [0x693f18]
or eax, 4
xor ebx, eax
mov eax, edx
and eax, 0xf
cmp al, 0xf
sete al
movzx eax, al
mov dword [0x693d84], eax
shl eax, 4
xor eax, 0x10
or ebx, 0x10
mov edx, ebx
xor eax, edx
jmp 0x4bbd48
lea ebx, [edx + 7]
and ebx, 7
mov edi, dword [0x694108]
movzx ebx, byte [edi + ebx]
xor eax, ebx
xor eax, 1
mov dword [0x693d90], eax
shl eax, 2
xor eax, 4
mov ebx, eax
movzx eax, byte [0x693f18]
or eax, 4
xor ebx, eax
and dl, 0xf
jmp 0x4bbee7
mov eax, dword [0x693ba8]
mov dword [esp + 4], eax
mov dword [esp], 0x6828b4
call fcn.005233e0
test eax, eax
je 0x4bbfc0
mov edi, dword [0x693f98]
test edi, edi
jne 0x4bbf8b
mov eax, dword [0x693cac]
cmp eax, 0x101
jle 0x4bbfdb
cmp word [0x693f80], 0x5e7e
ja 0x4bbfa0
cmp eax, 0x320
jle 0x4bbfdb
mov dword [0x693f98], 1
mov eax, dword [0x693fe4]
cmp dword [0x693e64], eax
jg 0x461123
jmp 0x4bbfdb
mov dword [0x693f98], 1
mov eax, dword [0x693fe4]
cmp dword [0x693e64], eax
jg 0x461123
jmp 0x461138
mov eax, dword [0x693fe4]
cmp dword [0x693e64], eax
jle 0x4bbfdb
mov esi, dword [0x693f98]
test esi, esi
jne 0x461123
cmp word [0x693f80], 0x56c
jne 0x461138
call fcn.0041e6f0
jmp 0x461138
cmp word [0x693f80], 0x580
jne 0x461116
cmp dword [0x693c6c], 0x878
jne 0x461116
mov byte [0x693f11], 0xff
mov ecx, 1
mov word [0x693dc4], cx
jmp 0x461116
mov eax, dword [0x693ebc]
test eax, eax
jne 0x4bc078
cmp dword [0x694034], 1
jne 0x4bc0d8
cmp byte [0x693f81], 0x3d
jne 0x4bc0d8
mov ebp, dword [0x693fc0]
test ebp, ebp
je 0x4bc0d8
mov dword [0x693c48], 4
mov dword [0x693ebc], 1
jmp 0x4bc0d8
cmp word [0x693f80], 0x3fff
jbe 0x4bc0d8
mov eax, dword [0x693bc0]
shr eax, 4
and eax, 1
mov dword [0x694034], eax
mov dword [0x693c48], eax
mov dword [0x693ebc], 0
jmp 0x4bc0d8
mov dword [0x693c48], 1
jmp 0x4bc0d8
cmp dx, 0x3cff
jbe 0x4bc0d8
mov esi, dword [0x693e40]
test esi, esi
jne 0x4bc0d8
mov dword [0x693c48], 4
lea esi, [esi]
nop
mov ebx, dword [0x693bac]
test ebx, ebx
je 0x4bc13d
mov eax, dword [0x693d18]
mov edx, dword [0x693d0c]
mov ecx, dword [0x694118]
cmp dword [ecx + eax*4], edx
jg 0x4be673
mov ecx, dword [0x694114]
mov esi, dword [0x694000]
cmp dword [ecx + eax*4], esi
jg 0x4be673
cmp edx, 4
jg 0x4bc120
mov dword [0x693e44], 1
call fcn.0041dc70
mov dword [0x693d0c], 0
mov ecx, dword [0x693bac]
test ecx, ecx
jne 0x4bc1d8
mov eax, dword [0x693e64]
cmp eax, dword [0x69401c]
jge 0x4be658
cmp byte [0x693bee], 0
je 0x4be658
cmp byte [0x693c74], 0
je 0x4be658
mov ebx, dword [0x693da4]
test ebx, ebx
jne 0x4be658
movzx edx, byte [0x693f40]
add word [0x693f80], dx
movzx ecx, word [0x693e70]
lea edx, [ecx - 1]
mov word [0x693e70], dx
cmp dword [0x693b44], 4
jle 0x4be480
cmp dx, 0x3fff
jbe 0x4be4ae
test dx, dx
jns 0x4be48d
cmp dx, 0xbfff
jbe 0x4be4ae
test byte [0x693f68], 1
je 0x4be4ae
jmp 0x4be48d
xor eax, eax
mov edx, dword [0x693b94]
test edx, edx
sete al
mov edx, dword [0x693f30]
not edx
test eax, edx
je 0x4bc270
cmp dword [0x693c2c], 0xa
jle 0x4bc270
mov edx, dword [0x693c64]
mov eax, dword [edx]
mov eax, dword [eax + 0x10]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x693c78
mov dword [esp], edx
call eax
sub esp, 0xc
mov ebx, dword [0x693e58]
mov edx, dword [0x693c78]
mov eax, ebx
sub eax, edx
mov dword [0x693b78], eax
mov edx, dword [0x693c78]
lea ecx, [eax + 0xa000]
cmp ebx, edx
cmovl eax, ecx
mov dword [0x693b78], eax
mov edi, dword [0x693c2c]
lea edx, [edi*4]
cmp edx, eax
jge 0x4bc270
mov dword [esp], 8
call sub.KERNEL32.dll_Sleep
sub esp, 4
jmp 0x4bc1d8
mov edx, dword [0x693c64]
mov eax, dword [edx]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0x693b4c
mov dword [esp + 0x14], 0x693d28
mov dword [esp + 0x10], 0x693b50
mov dword [esp + 0xc], 0x693d30
mov ecx, dword [0x693c2c]
mov dword [esp + 8], ecx
mov ecx, dword [0x693e58]
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
sub esp, 0x20
test eax, eax
je 0x4bc3d8
mov eax, dword [0x693c2c]
add eax, dword [0x693e58]
lea edx, [eax - 0xa000]
cmp eax, 0x9fff
cmovg eax, edx
mov dword [0x693e58], eax
mov dword [0x693cac], 0
mov dword [0x693c2c], 0
mov eax, dword [0x693e64]
sub dword [0x693fe4], eax
mov dword [0x69405c], 0
mov eax, dword [0x693bac]
test eax, eax
jne 0x4bc478
mov eax, dword [0x693b84]
test eax, eax
je 0x4bc331
cmp byte [0x693c74], 0
je 0x4bc5c1
mov eax, dword [0x693e64]
sub eax, dword [0x694098]
mov dword [0x693e64], eax
cmp eax, dword [0x69401c]
jge 0x4bd018
cmp byte [0x693bee], 0
je 0x4bd018
cmp byte [0x693c74], 0
je 0x4bd018
mov edx, dword [0x693da4]
test edx, edx
jne 0x4bd018
movzx edx, byte [0x693f40]
add word [0x693f80], dx
movzx ecx, word [0x693e70]
lea edx, [ecx - 1]
mov word [0x693e70], dx
cmp dword [0x693b44], 4
jle 0x4bce47
cmp dx, 0x3fff
jbe 0x4bce73
test dx, dx
jns 0x4bce54
cmp dx, 0xbfff
jbe 0x4bce73
test byte [0x693f68], 1
je 0x4bce73
jmp 0x4bce54
mov edx, dword [0x693b50]
mov eax, dword [0x693d30]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.00521fd0
sub esp, 0xc
mov eax, dword [0x693b4c]
test eax, eax
jne 0x4bc448
mov edx, dword [0x693c64]
mov eax, dword [edx]
mov eax, dword [eax + 0x4c]
mov edi, dword [0x693b4c]
mov esi, dword [0x693d28]
mov ebx, dword [0x693b50]
mov ecx, dword [0x693d30]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebx
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
sub esp, 0x14
jmp 0x4bc2c7
mov eax, dword [0x693b50]
mov ecx, dword [0x693b4c]
mov edx, dword [0x693d28]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.00521fd0
sub esp, 0xc
jmp 0x4bc404
mov eax, dword [0x693e44]
test eax, eax
je 0x4bc538
xor eax, eax
cmp byte [0x693c74], 0
je 0x4bc495
mov eax, dword [0x69401c]
mov dword [0x693eac], eax
mov dword [0x693e44], 0
call fcn.005135be
call fcn.00459b80
call fcn.0050db54
mov edx, eax
sub eax, dword [0x693dc0]
mov dword [0x693af4], eax
mov ecx, dword [0x693d24]
test ecx, ecx
je 0x4bdb78
cmp dword [0x693cd4], 1
je 0x4bddc2
call fcn.00502b9d
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0x6002
mov eax, dword [0x6940d0]
mov dword [esp], eax
call fcn.00522190
sub esp, 0xc
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0x28bdd
mov eax, dword [0x6940cc]
mov dword [esp], eax
call fcn.00522190
sub esp, 0xc
call fcn.005029e0
mov dword [esp], eax
call fcn.00513378
sub esp, 4
jmp 0x4bdbaa
mov dword [0x693e64], 0
add dword [0x694030], 1
add dword [0x693f8c], 1
mov dword [0x694060], 0
mov dword [0x693be8], 0
mov edx, dword [0x693fd0]
mov dword [0x693b7c], edx
mov eax, dword [0x693e3c]
mov dword [0x693c60], eax
sub eax, 3
mov dword [0x6940ac], eax
lea eax, [edx - 0x18]
mov dword [0x693c34], eax
mov dword [0x693e38], 0
mov eax, dword [0x693e68]
mov dword [esp], eax
call fcn.00416240
sub esp, 4
mov eax, dword [0x6940c0]
add eax, 1
xor eax, 0x20
mov dword [0x6940c0], eax
sar eax, 4
mov dword [0x693ea8], eax
jmp 0x4bc485
call fcn.005232e0
mov dword [esp], str.PC:
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, word [0x693f80]
mov esi, eax
xor edi, edi
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
mov dword [esp], str._tSP_:
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, word [0x693e70]
mov esi, eax
xor edi, edi
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
call fcn.00523210
mov dword [esp + 4], eax
mov edx, dword [0x693bf8]
mov eax, dword [0x694110]
lea eax, [eax + edx*4]
mov dword [esp], eax
call fcn.00523300
sub esp, 8
add dword [0x693bf8], 1
call fcn.005232e0
mov dword [esp], str.AF:
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.00401000
mov esi, eax
movzx eax, byte [0x693f2a]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
mov eax, esi
cdq
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
mov dword [esp], 0x684ff0
call fcn.00523370
sub esp, 4
call fcn.00523210
mov dword [esp + 4], eax
mov edx, dword [0x693bf8]
mov eax, dword [0x694110]
lea eax, [eax + edx*4]
mov dword [esp], eax
call fcn.00523300
sub esp, 8
movzx eax, word [0x693d1c]
mov dword [0x693e28], eax
movzx eax, word [0x693d1e]
mov dword [0x693e30], eax
movzx eax, word [0x693d20]
mov dword [0x693e34], eax
movzx eax, word [0x693d00]
mov dword [0x693e14], eax
movzx eax, word [0x694064]
mov word [0x693d1c], ax
movzx eax, word [0x693c38]
mov word [0x693d20], ax
movzx eax, word [0x693bec]
mov word [0x693d00], ax
movzx eax, word [0x693bb8]
mov word [0x693d1e], ax
call fcn.005232e0
mov edx, dword [0x693bf8]
mov eax, dword [0x694110]
mov eax, dword [eax + edx*4]
mov dword [esp], eax
call fcn.00523370
sub esp, 4
mov dword [esp], 0x67e154
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.00401000
mov esi, eax
movzx eax, byte [0x693f48]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
mov eax, esi
cdq
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
call fcn.00523210
mov dword [esp + 4], eax
mov edx, dword [0x693bf8]
mov eax, dword [0x694110]
lea eax, [eax + edx*4]
mov dword [esp], eax
call fcn.00523300
sub esp, 8
mov eax, dword [0x693e28]
mov word [0x693d1c], ax
mov eax, dword [0x693e14]
mov word [0x693d00], ax
mov eax, dword [0x693e34]
mov word [0x693d20], ax
mov eax, dword [0x693e30]
mov word [0x693d1e], ax
add dword [0x693bf8], 1
call fcn.005232e0
mov dword [esp], str.BC:
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, byte [0x693f26]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
movzx eax, byte [0x693f25]
xor edx, edx
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
mov dword [esp], str._tBC:
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, byte [0x693ed8]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
movzx eax, byte [0x693e78]
xor edx, edx
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
call fcn.00523210
mov dword [esp + 4], eax
mov edx, dword [0x693bf8]
mov eax, dword [0x694110]
lea eax, [eax + edx*4]
mov dword [esp], eax
call fcn.00523300
sub esp, 8
add dword [0x693bf8], 1
call fcn.005232e0
mov dword [esp], 0x67cf58
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, byte [0x693f24]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
movzx eax, byte [0x693f1c]
xor edx, edx
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
mov dword [esp], str._tDE:
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, byte [0x693e24]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
movzx eax, byte [0x693dac]
xor edx, edx
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
call fcn.00523210
mov dword [esp + 4], eax
mov edx, dword [0x693bf8]
mov eax, dword [0x694110]
lea eax, [eax + edx*4]
mov dword [esp], eax
call fcn.00523300
sub esp, 8
add dword [0x693bf8], 1
call fcn.005232e0
mov dword [esp], 0x67e7e0
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, byte [0x693f11]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
movzx eax, byte [0x693f01]
xor edx, edx
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
mov dword [esp], str._tHL:
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, byte [0x693c5c]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
movzx eax, byte [0x693b1c]
xor edx, edx
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
call fcn.00523210
mov dword [esp + 4], eax
mov edx, dword [0x693bf8]
mov eax, dword [0x694110]
lea eax, [eax + edx*4]
mov dword [esp], eax
call fcn.00523300
sub esp, 8
add dword [0x693bf8], 1
call fcn.005232e0
mov dword [esp], str.IX:
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, byte [0x693c5e]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
movzx eax, byte [0x693c5d]
xor edx, edx
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
mov dword [esp], str._tIY_:
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, byte [0x693c08]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
movzx eax, byte [0x693c00]
xor edx, edx
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
call fcn.00523210
mov dword [esp + 4], eax
mov edx, dword [0x693bf8]
mov eax, dword [0x694110]
lea eax, [eax + edx*4]
mov dword [esp], eax
call fcn.00523300
sub esp, 8
add dword [0x693bf8], 1
jmp 0x4bc331
lea edx, [ecx - 0x4001]
cmp dx, 0x3fff
ja 0x4bce73
mov edx, dword [0x6940c8]
mov edx, dword [edx + eax*4]
mov dword [0x694040], edx
add eax, edx
mov dword [0x693e64], eax
mov dword [esp], edx
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4bceed
mov dword [esp], 3
call fcn.00416240
sub esp, 4
movzx eax, byte [0x693f81]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
sub esp, 8
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x4bcf2f
cmp ax, 0x3fff
jbe 0x4bcf5f
test ax, ax
jns 0x4bcf3b
cmp ax, 0xbfff
jbe 0x4bcf5f
test byte [0x693f68], 1
je 0x4bcf5f
jmp 0x4bcf3b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4bce88
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x4bcf5f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4bd09d
mov dword [esp], 3
call fcn.00416240
sub esp, 4
movzx eax, word [0x693f80]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
sub esp, 8
movzx eax, byte [0x693be4]
cmp al, 1
je 0x4bcfb7
cmp al, 2
je 0x4bd121
mov word [0x693f80], 0x38
mov eax, dword [0x693e64]
add eax, 7
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4bd0df
mov dword [esp], 7
call fcn.00416240
sub esp, 4
mov dword [0x693be0], 0
mov byte [0x693f40], 0
mov byte [0x693c74], 0
add byte [0x693f00], 1
mov esi, dword [0x693b84]
test esi, esi
jne 0x4bd310
lea esi, [esi]
add dword [0x694030], 1
add dword [0x693f8c], 1
mov dword [0x694060], 0
mov dword [0x693be8], 0
mov edx, dword [0x693fd0]
mov dword [0x693b7c], edx
mov eax, dword [0x693e3c]
mov dword [0x693c60], eax
sub eax, 3
mov dword [0x6940ac], eax
lea eax, [edx - 0x18]
mov dword [0x693c34], eax
mov dword [0x693e38], 0
mov eax, dword [0x693e68]
add eax, dword [0x693e64]
mov dword [esp], eax
call fcn.00416240
sub esp, 4
mov eax, dword [0x6940c0]
add eax, 1
xor eax, 0x20
mov dword [0x6940c0], eax
sar eax, 4
mov dword [0x693ea8], eax
jmp 0x4bc4a4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4bcf78
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4bcfd9
movzx eax, byte [0x693f10]
shl eax, 8
or al, 0xff
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x4bd1f3
cmp ax, 0x3fff
jbe 0x4bd173
test ax, ax
js 0x4bd202
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4bd21e
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov word [0x693f80], ax
lea eax, [ebx + 1]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x4bd260
cmp ax, 0x3fff
jbe 0x4bd290
test ax, ax
jns 0x4bd26c
cmp ax, 0xbfff
jbe 0x4bd290
test byte [0x693f68], 1
je 0x4bd290
jmp 0x4bd26c
cmp ax, 0x3fff
jle 0x4bd173
jmp 0x4bd14f
cmp ax, 0xbfff
jbe 0x4bd173
test byte [0x693f68], 1
je 0x4bd173
jmp 0x4bd14f
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4bd18c
lea eax, [ebx - 0x3fff]
cmp ax, 0x3fff
ja 0x4bd290
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4bd2d1
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693efe]
mov dword [esp], eax
call fcn.004010a0
push edi
shl eax, 8
or word [0x693f80], ax
jmp 0x4bcfc0
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4bd2a5
call fcn.005232e0
mov dword [esp], str.PC:
call fcn.00523370
push ebx
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, word [0x693f80]
mov esi, eax
xor edi, edi
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
mov dword [esp], str._tSP_:
call fcn.00523370
push esi
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, word [0x693e70]
mov esi, eax
xor edi, edi
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
call fcn.00523210
mov dword [esp + 4], eax
mov edx, dword [0x693bf8]
mov eax, dword [0x694110]
lea eax, [eax + edx*4]
mov dword [esp], eax
call fcn.00523300
push edi
push edi
add dword [0x693bf8], 1
call fcn.005232e0
mov dword [esp], str.AF:
call fcn.00523370
push ebp
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.00401000
mov esi, eax
movzx eax, byte [0x693f2a]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
mov eax, esi
cdq
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
mov dword [esp], 0x684ff0
call fcn.00523370
push ebx
call fcn.00523210
mov dword [esp + 4], eax
mov edx, dword [0x693bf8]
mov eax, dword [0x694110]
lea eax, [eax + edx*4]
mov dword [esp], eax
call fcn.00523300
push esi
push esi
movzx eax, word [0x693d1c]
mov dword [0x693e28], eax
movzx eax, word [0x693d1e]
mov dword [0x693e30], eax
movzx eax, word [0x693d20]
mov dword [0x693e34], eax
movzx eax, word [0x693d00]
mov dword [0x693e14], eax
movzx eax, word [0x694064]
mov word [0x693d1c], ax
movzx eax, word [0x693c38]
mov word [0x693d20], ax
movzx eax, word [0x693bec]
mov word [0x693d00], ax
movzx eax, word [0x693bb8]
mov word [0x693d1e], ax
call fcn.005232e0
mov edx, dword [0x693bf8]
mov eax, dword [0x694110]
mov eax, dword [eax + edx*4]
mov dword [esp], eax
call fcn.00523370
push edi
mov dword [esp], 0x67e154
call fcn.00523370
push ebp
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.00401000
mov esi, eax
movzx eax, byte [0x693f48]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
mov eax, esi
cdq
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
call fcn.00523210
mov dword [esp + 4], eax
mov edx, dword [0x693bf8]
mov eax, dword [0x694110]
lea eax, [eax + edx*4]
mov dword [esp], eax
call fcn.00523300
push ebx
push ebx
mov eax, dword [0x693e28]
mov word [0x693d1c], ax
mov eax, dword [0x693e14]
mov word [0x693d00], ax
mov eax, dword [0x693e34]
mov word [0x693d20], ax
mov eax, dword [0x693e30]
mov word [0x693d1e], ax
add dword [0x693bf8], 1
call fcn.005232e0
mov dword [esp], str.BC:
call fcn.00523370
push esi
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, byte [0x693f26]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
movzx eax, byte [0x693f25]
xor edx, edx
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
mov dword [esp], str._tBC:
call fcn.00523370
push ebp
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, byte [0x693ed8]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
movzx eax, byte [0x693e78]
xor edx, edx
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
call fcn.00523210
mov dword [esp + 4], eax
mov edx, dword [0x693bf8]
mov eax, dword [0x694110]
lea eax, [eax + edx*4]
mov dword [esp], eax
call fcn.00523300
push ebx
push ebx
add dword [0x693bf8], 1
call fcn.005232e0
mov dword [esp], 0x67cf58
call fcn.00523370
push esi
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, byte [0x693f24]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
movzx eax, byte [0x693f1c]
xor edx, edx
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
mov dword [esp], str._tDE:
call fcn.00523370
push ebp
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, byte [0x693e24]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
movzx eax, byte [0x693dac]
xor edx, edx
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
call fcn.00523210
mov dword [esp + 4], eax
mov edx, dword [0x693bf8]
mov eax, dword [0x694110]
lea eax, [eax + edx*4]
mov dword [esp], eax
call fcn.00523300
push ebx
push ebx
add dword [0x693bf8], 1
call fcn.005232e0
mov dword [esp], 0x67e7e0
call fcn.00523370
push esi
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, byte [0x693f11]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
movzx eax, byte [0x693f01]
xor edx, edx
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
mov dword [esp], str._tHL:
call fcn.00523370
push ebp
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, byte [0x693c5c]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
movzx eax, byte [0x693b1c]
xor edx, edx
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
call fcn.00523210
mov dword [esp + 4], eax
mov edx, dword [0x693bf8]
mov eax, dword [0x694110]
lea eax, [eax + edx*4]
mov dword [esp], eax
call fcn.00523300
push ebx
push ebx
add dword [0x693bf8], 1
call fcn.005232e0
mov dword [esp], str.IX:
call fcn.00523370
push esi
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, byte [0x693c5e]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
movzx eax, byte [0x693c5d]
xor edx, edx
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
mov dword [esp], str._tIY_:
call fcn.00523370
push ebp
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, byte [0x693c08]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
movzx eax, byte [0x693c00]
xor edx, edx
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
call fcn.00523210
mov dword [esp + 4], eax
mov edx, dword [0x693bf8]
mov eax, dword [0x694110]
lea eax, [eax + edx*4]
mov dword [esp], eax
call fcn.00523300
push ebx
push ebx
add dword [0x693bf8], 1
jmp 0x4bd018
cmp eax, 0x3dd
jg 0x4bdc48
mov eax, dword [0x694010]
test eax, eax
jne 0x4bddb8
mov dword [esp], 0
call fcn.005060b1
sub esp, 4
mov dword [esp], eax
call fcn.00513378
sub esp, 4
call fcn.005231a0
call fcn.0050eafe
cmp eax, 0xffffffff
jne 0x4bde10
mov eax, dword [0x693e1c]
test eax, eax
jne 0x4bde20
mov eax, dword [0x693e64]
cmp eax, dword [0x693eac]
jge 0x4be1ec
cmp byte [0x693bee], 0
je 0x4be1ec
movzx edx, byte [0x693f40]
add word [0x693f80], dx
movzx ecx, word [0x693e70]
lea edx, [ecx - 1]
mov word [0x693e70], dx
cmp dword [0x693b44], 4
jle 0x4be018
cmp dx, 0x3fff
jbe 0x4be046
test dx, dx
jns 0x4be025
cmp dx, 0xbfff
jbe 0x4be046
test byte [0x693f68], 1
je 0x4be046
jmp 0x4be025
mov dword [0x693dc0], edx
call fcn.005232e0
call fcn.005232e0
mov dword [esp], str.FPS:
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 8], eax
mov eax, dword [0x694030]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
call fcn.005209c0
sub esp, 0xc
call fcn.00523210
call fcn.005233c0
call fcn.005232b0
mov dword [esp + 0xc], 0xa
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov dword [esp], 0
call fcn.004e47b2
sub esp, 0x10
call fcn.00523250
mov eax, dword [0x693bac]
test eax, eax
jne 0x4bdce0
mov dword [0x694030], 0
jmp 0x4bdb83
call fcn.005232e0
call fcn.005232e0
mov eax, dword [0x69408c]
mov dword [esp], eax
call fcn.00523370
sub esp, 4
mov dword [esp], str.__RZX:
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
mov dword [esp + 8], 2
fild dword [0x693d18]
fild dword [0x693f94]
fdivp st(1)
fmul dword [0x61af44]
fstp qword [esp]
call fcn.005020b0
sub esp, 0xc
fstp qword [esp + 0x30]
fld qword [esp + 0x30]
fistp qword [esp + 0x38]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.00523210
mov dword [esp], 0x684b80
call fcn.00523370
sub esp, 4
call fcn.005233c0
call fcn.005232b0
mov dword [esp + 0xc], 2
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.004e47b2
sub esp, 0x10
call fcn.00523250
jmp 0x4bdcd1
call fcn.0041f9c0
jmp 0x4bdb90
mov dword [esp + 4], 1
mov eax, dword [0x693eb4]
mov dword [esp], eax
call fcn.0050e90a
sub esp, 8
mov dword [esp], 0
call sub.USER32.dll_ShowCursor
sub esp, 4
mov dword [esp], 0
call sub.USER32.dll_ShowCursor
sub esp, 4
mov dword [0x693cd4], 0
jmp 0x4bc4db
call fcn.00444340
jmp 0x4bdbbd
mov dword [esp], 0
call fcn.005035ef
sub esp, 4
test eax, eax
je 0x4bdbca
mov dword [esp], 0
call fcn.0050379f
sub esp, 4
cmp eax, 0xffffffff
je 0x4bdf4b
mov ebp, dword [0x694020]
test ebp, ebp
je 0x4bde6c
mov eax, dword [0x694148]
or dword [eax + 0x10], 0x10
mov dword [0x694020], 0
mov dword [esp], 0
call fcn.0050379f
sub esp, 4
cmp eax, 1
je 0x4bdf63
mov edi, dword [0x693ea4]
test edi, edi
je 0x4bdea1
mov eax, dword [0x694148]
or dword [eax + 0x10], 8
mov dword [0x693ea4], 0
mov dword [esp], 0
call fcn.005038a6
sub esp, 4
cmp eax, 1
je 0x4bdf7b
mov esi, dword [0x693e60]
test esi, esi
je 0x4bded6
mov eax, dword [0x694148]
or dword [eax + 0x10], 4
mov dword [0x693e60], 0
mov dword [esp], 0
call fcn.005038a6
sub esp, 4
cmp eax, 0xffffffff
je 0x4bdf93
mov ebx, dword [0x693bb4]
test ebx, ebx
je 0x4bdf0b
mov eax, dword [0x694148]
or dword [eax + 0x10], 2
mov dword [0x693bb4], 0
mov dword [esp + 4], 1
mov dword [esp], 0
call fcn.00503653
sub esp, 8
test eax, eax
jne 0x4bdfab
mov ecx, dword [0x693f7c]
test ecx, ecx
je 0x4bdfbe
mov eax, dword [0x694148]
or dword [eax + 0x10], 1
xor edx, edx
mov dword [0x693f7c], edx
jmp 0x4bdfbe
mov eax, dword [0x694148]
and dword [eax + 0x10], 0xffffffef
mov dword [0x694020], 1
jmp 0x4bde6c
mov eax, dword [0x694148]
and dword [eax + 0x10], 0xfffffff7
mov dword [0x693ea4], 1
jmp 0x4bdea1
mov eax, dword [0x694148]
and dword [eax + 0x10], 0xfffffffb
mov dword [0x693e60], 1
jmp 0x4bded6
mov eax, dword [0x694148]
and dword [eax + 0x10], 0xfffffffd
mov dword [0x693bb4], 1
jmp 0x4bdf0b
mov eax, dword [0x694148]
and dword [eax + 0x10], 0xfffffffe
mov dword [0x693f7c], 1
mov dword [esp + 4], 2
mov dword [esp], 0
call fcn.00503653
sub esp, 8
test eax, eax
jne 0x4bdffb
mov eax, dword [0x693c14]
test eax, eax
je 0x4bdbca
mov eax, dword [0x694148]
or dword [eax + 0x1c], 1
xor eax, eax
mov dword [0x693c14], eax
jmp 0x4bdbca
mov eax, dword [0x694148]
and dword [eax + 0x1c], 0xfffffffe
mov dword [0x693c14], 1
jmp 0x4bdbca
lea edx, [ecx - 0x4001]
cmp dx, 0x3fff
ja 0x4be046
mov edx, dword [0x6940c8]
mov edx, dword [edx + eax*4]
mov dword [0x694040], edx
add eax, edx
mov dword [0x693e64], eax
mov dword [esp], edx
call fcn.00416240
sub esp, 4
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4be0c8
mov dword [esp], 3
call fcn.00416240
sub esp, 4
movzx eax, byte [0x693f81]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
sub esp, 8
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x4be110
cmp ax, 0x3fff
jbe 0x4be142
test ax, ax
jns 0x4be11c
cmp ax, 0xbfff
jbe 0x4be142
test byte [0x693f68], 1
je 0x4be142
jmp 0x4be11c
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
sub esp, 8
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4be05b
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x4be142
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
sub esp, 4
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4be200
mov dword [esp], 3
call fcn.00416240
sub esp, 4
movzx eax, word [0x693f80]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
sub esp, 8
movzx eax, byte [0x693be4]
cmp al, 1
je 0x4be19a
cmp al, 2
je 0x4be286
mov eax, 0x38
mov word [0x693f80], ax
mov eax, dword [0x693e64]
add eax, 7
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4be243
mov dword [esp], 7
call fcn.00416240
sub esp, 4
mov dword [0x693be0], 0
mov byte [0x693f40], 0
mov byte [0x693c74], 0
add byte [0x693f00], 1
mov esi, dword [0x693bac]
test esi, esi
je 0x4bc13d
jmp 0x4be673
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
sub esp, 8
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4be15b
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
sub esp, 8
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4be1be
movzx eax, byte [0x693f10]
shl eax, 8
or al, 0xff
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x4be35c
cmp ax, 0x3fff
jbe 0x4be2d8
test ax, ax
js 0x4be36b
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4be387
mov dword [esp], 3
call fcn.00416240
sub esp, 4
movzx eax, word [0x693efe]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
sub esp, 4
mov word [0x693f80], ax
lea eax, [ebx + 1]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x4be3c9
cmp ax, 0x3fff
jbe 0x4be3f9
test ax, ax
jns 0x4be3d5
cmp ax, 0xbfff
jbe 0x4be3f9
test byte [0x693f68], 1
je 0x4be3f9
jmp 0x4be3d5
cmp ax, 0x3fff
jle 0x4be2d8
jmp 0x4be2b4
cmp ax, 0xbfff
jbe 0x4be2d8
test byte [0x693f68], 1
je 0x4be2d8
jmp 0x4be2b4
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push eax
push eax
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4be2f1
lea eax, [ebx - 0x3fff]
cmp ax, 0x3fff
ja 0x4be3f9
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebp
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4be43e
mov dword [esp], 3
call fcn.00416240
sub esp, 4
movzx eax, word [0x693efe]
mov dword [esp], eax
call fcn.004010a0
sub esp, 4
shl eax, 8
or word [0x693f80], ax
jmp 0x4be1a5
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push edi
push edi
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4be40e
lea edx, [ecx - 0x4001]
cmp dx, 0x3fff
ja 0x4be4ae
mov edx, dword [0x6940c8]
mov edx, dword [edx + eax*4]
mov dword [0x694040], edx
add eax, edx
mov dword [0x693e64], eax
mov dword [esp], edx
call fcn.00416240
sub esp, 4
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4be530
mov dword [esp], 3
call fcn.00416240
sub esp, 4
movzx eax, byte [0x693f81]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
sub esp, 8
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x4be578
cmp ax, 0x3fff
jbe 0x4be5aa
test ax, ax
jns 0x4be584
cmp ax, 0xbfff
jbe 0x4be5aa
test byte [0x693f68], 1
je 0x4be5aa
jmp 0x4be584
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
sub esp, 8
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4be4c3
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x4be5aa
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
sub esp, 4
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4be808
mov dword [esp], 3
call fcn.00416240
sub esp, 4
movzx eax, word [0x693f80]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
sub esp, 8
movzx eax, byte [0x693be4]
cmp al, 1
je 0x4be602
cmp al, 2
je 0x4be898
mov ecx, 0x38
mov word [0x693f80], cx
mov eax, dword [0x693e64]
add eax, 7
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4be850
mov dword [esp], 7
call fcn.00416240
sub esp, 4
mov dword [0x693be0], 0
mov byte [0x693f40], 0
mov byte [0x693c74], 0
add byte [0x693f00], 1
lea esi, [esi]
mov eax, dword [0x694098]
cmp dword [0x693e64], eax
jge 0x4bea98
mov dword [0x693da4], 0
mov eax, dword [0x693bf0]
test eax, eax
jne 0x4c08a0
movzx eax, word [0x693f80]
mov edx, dword [0x69410c]
cmp byte [edx + eax], 0
jle 0x4be698
call fcn.0044e600
mov esi, dword [0x693b84]
test esi, esi
je 0x4be790
cmp byte [0x693f40], 0
jne 0x4be790
cmp dword [0x693bf8], 0x61a7e
jle 0x460e50
mov edx, dword [0x693cc4]
mov eax, dword [edx]
mov eax, dword [eax + 0x48]
mov dword [esp], edx
call eax
sub esp, 4
call fcn.0041dba0
mov dword [0x693b84], 0
call fcn.005232e0
call fcn.005232e0
mov dword [esp], 0x6851c0
call fcn.00523370
sub esp, 4
mov eax, dword [0x694130]
imul eax, dword [0x693dcc]
mov edx, dword [0x69412c]
mov eax, dword [edx + eax*4 + 0x188]
mov dword [esp], eax
call fcn.00523370
sub esp, 4
mov dword [esp], 0x6851c0
call fcn.00523370
sub esp, 4
call fcn.005233c0
call fcn.005232b0
mov dword [esp + 8], 0x40
mov dword [esp + 4], eax
mov dword [esp], str.Trace
call fcn.004e4ee9
sub esp, 0xc
call fcn.00523250
mov edx, dword [0x693cc4]
mov eax, dword [edx]
mov eax, dword [eax + 0x30]
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], edx
call eax
sub esp, 0x10
lea esi, [esi]
lea esi, [esi]
movzx ebp, byte [0x693f00]
lea eax, [ebp + 1]
mov byte [0x693f00], al
mov edi, dword [0x693d0c]
lea eax, [edi + 1]
mov dword [0x693d0c], eax
movzx esi, word [0x693f80]
mov word [0x693cd8], si
lea ebx, [esi + 1]
mov word [0x693f80], bx
mov eax, dword [0x693c88]
mov dword [0x693be0], eax
mov dword [0x693c88], 0
movzx eax, si
mov dword [esp], eax
call fcn.004010a0
sub esp, 4
test eax, eax
je case.0x4be7fa.64
cmp eax, 0xff
ja case.0x4be7fa.0
jmp dword [eax*4 + 0x61ab08]
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
sub esp, 8
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4be5c3
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
sub esp, 8
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4be627
movzx eax, byte [0x693f10]
shl eax, 8
or al, 0xff
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x4be970
cmp ax, 0x3fff
jbe 0x4be8ec
test ax, ax
js 0x4be97f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
sub esp, 4
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4be99b
mov dword [esp], 3
call fcn.00416240
sub esp, 4
movzx eax, word [0x693efe]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
sub esp, 4
mov word [0x693f80], ax
lea eax, [ebx + 1]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x4be9de
cmp ax, 0x3fff
jbe 0x4bea10
test ax, ax
jns 0x4be9ea
cmp ax, 0xbfff
jbe 0x4bea10
test byte [0x693f68], 1
je 0x4bea10
jmp 0x4be9ea
cmp ax, 0x3fff
jle 0x4be8ec
jmp 0x4be8c6
cmp ax, 0xbfff
jbe 0x4be8ec
test byte [0x693f68], 1
je 0x4be8ec
jmp 0x4be8c6
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
sub esp, 8
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4be905
lea eax, [ebx - 0x3fff]
cmp ax, 0x3fff
ja 0x4bea10
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
sub esp, 4
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4bea55
mov dword [esp], 3
call fcn.00416240
sub esp, 4
movzx eax, word [0x693efe]
mov dword [esp], eax
call fcn.004010a0
sub esp, 4
shl eax, 8
or word [0x693f80], ax
jmp 0x4be60e
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
sub esp, 8
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4bea25
xor eax, eax
mov edx, dword [0x693b94]
test edx, edx
sete al
mov edx, dword [0x693f30]
not edx
test eax, edx
je 0x4beb30
cmp dword [0x693c2c], 0xa
jle 0x4beb30
mov edx, dword [0x693c64]
mov eax, dword [edx]
mov eax, dword [eax + 0x10]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x693c78
mov dword [esp], edx
call eax
sub esp, 0xc
mov ebx, dword [0x693e58]
mov edx, dword [0x693c78]
mov eax, ebx
sub eax, edx
mov dword [0x693b78], eax
mov edx, dword [0x693c78]
lea ecx, [eax + 0xa000]
cmp ebx, edx
cmovl eax, ecx
mov dword [0x693b78], eax
mov edi, dword [0x693c2c]
lea edx, [edi*4]
cmp edx, eax
jge 0x4beb30
mov dword [esp], 8
call sub.KERNEL32.dll_Sleep
sub esp, 4
jmp 0x4bea98
mov edx, dword [0x693c64]
mov eax, dword [edx]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0x693b4c
mov dword [esp + 0x14], 0x693d28
mov dword [esp + 0x10], 0x693b50
mov dword [esp + 0xc], 0x693d30
mov ecx, dword [0x693c2c]
mov dword [esp + 8], ecx
mov ecx, dword [0x693e58]
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
sub esp, 0x20
test eax, eax
je 0x4bec98
mov eax, dword [0x693c2c]
add eax, dword [0x693e58]
lea edx, [eax - 0xa000]
cmp eax, 0x9fff
cmovg eax, edx
mov dword [0x693e58], eax
mov dword [0x693cac], 0
mov dword [0x693c2c], 0
mov eax, dword [0x693e64]
sub dword [0x693fe4], eax
mov dword [0x69405c], 0
mov eax, dword [0x693bac]
test eax, eax
jne 0x4bed38
mov eax, dword [0x693b84]
test eax, eax
je 0x4bebf1
cmp byte [0x693c74], 0
je 0x4bee88
mov eax, dword [0x693e64]
sub eax, dword [0x694098]
mov dword [0x693e64], eax
cmp eax, dword [0x69401c]
jge 0x4bf8f0
cmp byte [0x693bee], 0
je 0x4bf8f0
cmp byte [0x693c74], 0
je 0x4bf8f0
mov ebp, dword [0x693da4]
test ebp, ebp
jne 0x4bf8f0
movzx edx, byte [0x693f40]
add word [0x693f80], dx
movzx ecx, word [0x693e70]
lea edx, [ecx - 1]
mov word [0x693e70], dx
cmp dword [0x693b44], 4
jle 0x4bf70e
cmp dx, 0x3fff
jbe 0x4bf73c
test dx, dx
jns 0x4bf71b
cmp dx, 0xbfff
jbe 0x4bf73c
test byte [0x693f68], 1
je 0x4bf73c
jmp 0x4bf71b
mov edx, dword [0x693b50]
mov eax, dword [0x693d30]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.00521fd0
sub esp, 0xc
mov eax, dword [0x693b4c]
test eax, eax
jne 0x4bed08
mov edx, dword [0x693c64]
mov eax, dword [edx]
mov eax, dword [eax + 0x4c]
mov edi, dword [0x693b4c]
mov esi, dword [0x693d28]
mov ebx, dword [0x693b50]
mov ecx, dword [0x693d30]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebx
mov dword [esp + 4], ecx
mov dword [esp], edx
call eax
sub esp, 0x14
jmp 0x4beb87
mov eax, dword [0x693b50]
mov ecx, dword [0x693b4c]
mov edx, dword [0x693d28]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.00521fd0
sub esp, 0xc
jmp 0x4becc4
mov eax, dword [0x693e44]
test eax, eax
je 0x4bedf8
xor eax, eax
cmp byte [0x693c74], 0
je 0x4bed55
mov eax, dword [0x69401c]
mov dword [0x693eac], eax
mov dword [0x693e44], 0
call fcn.005135be
call fcn.00459b80
call fcn.0050db54
mov edx, eax
sub eax, dword [0x693dc0]
mov dword [0x693af4], eax
mov ecx, dword [0x693d24]
test ecx, ecx
je 0x4c0470
cmp dword [0x693cd4], 1
je 0x4c0778
call fcn.00502b9d
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0x6002
mov eax, dword [0x6940d0]
mov dword [esp], eax
call fcn.00522190
sub esp, 0xc
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0x28bdd
mov eax, dword [0x6940cc]
mov dword [esp], eax
call fcn.00522190
sub esp, 0xc
call fcn.005029e0
mov dword [esp], eax
call fcn.00513378
sub esp, 4
jmp 0x4c04a2
mov dword [0x693e64], 0
add dword [0x694030], 1
add dword [0x693f8c], 1
mov dword [0x694060], 0
mov dword [0x693be8], 0
mov edx, dword [0x693fd0]
mov dword [0x693b7c], edx
mov eax, dword [0x693e3c]
mov dword [0x693c60], eax
sub eax, 3
mov dword [0x6940ac], eax
lea eax, [edx - 0x18]
mov dword [0x693c34], eax
mov dword [0x693e38], 0
mov eax, dword [0x693e68]
mov dword [esp], eax
call fcn.00416240
sub esp, 4
mov eax, dword [0x6940c0]
add eax, 1
xor eax, 0x20
mov dword [0x6940c0], eax
sar eax, 4
mov dword [0x693ea8], eax
jmp 0x4bed45
call fcn.005232e0
mov dword [esp], str.PC:
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, word [0x693f80]
mov esi, eax
xor edi, edi
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
mov dword [esp], str._tSP_:
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, word [0x693e70]
mov esi, eax
xor edi, edi
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
call fcn.00523210
mov dword [esp + 4], eax
mov edx, dword [0x693bf8]
mov eax, dword [0x694110]
lea eax, [eax + edx*4]
mov dword [esp], eax
call fcn.00523300
sub esp, 8
add dword [0x693bf8], 1
call fcn.005232e0
mov dword [esp], str.AF:
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.00401000
mov esi, eax
movzx eax, byte [0x693f2a]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
mov eax, esi
cdq
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
mov dword [esp], 0x684ff0
call fcn.00523370
sub esp, 4
call fcn.00523210
mov dword [esp + 4], eax
mov edx, dword [0x693bf8]
mov eax, dword [0x694110]
lea eax, [eax + edx*4]
mov dword [esp], eax
call fcn.00523300
sub esp, 8
movzx eax, word [0x693d1c]
mov dword [0x693e28], eax
movzx eax, word [0x693d1e]
mov dword [0x693e30], eax
movzx eax, word [0x693d20]
mov dword [0x693e34], eax
movzx eax, word [0x693d00]
mov dword [0x693e14], eax
movzx eax, word [0x694064]
mov word [0x693d1c], ax
movzx eax, word [0x693c38]
mov word [0x693d20], ax
movzx eax, word [0x693bec]
mov word [0x693d00], ax
movzx eax, word [0x693bb8]
mov word [0x693d1e], ax
call fcn.005232e0
mov edx, dword [0x693bf8]
mov eax, dword [0x694110]
mov eax, dword [eax + edx*4]
mov dword [esp], eax
call fcn.00523370
sub esp, 4
mov dword [esp], 0x67e154
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.00401000
mov esi, eax
movzx eax, byte [0x693f48]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
mov eax, esi
cdq
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
call fcn.00523210
mov dword [esp + 4], eax
mov edx, dword [0x693bf8]
mov eax, dword [0x694110]
lea eax, [eax + edx*4]
mov dword [esp], eax
call fcn.00523300
sub esp, 8
mov eax, dword [0x693e28]
mov word [0x693d1c], ax
mov eax, dword [0x693e14]
mov word [0x693d00], ax
mov eax, dword [0x693e34]
mov word [0x693d20], ax
mov eax, dword [0x693e30]
mov word [0x693d1e], ax
add dword [0x693bf8], 1
call fcn.005232e0
mov dword [esp], str.BC:
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, byte [0x693f26]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
movzx eax, byte [0x693f25]
xor edx, edx
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
mov dword [esp], str._tBC:
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, byte [0x693ed8]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
movzx eax, byte [0x693e78]
xor edx, edx
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
call fcn.00523210
mov dword [esp + 4], eax
mov edx, dword [0x693bf8]
mov eax, dword [0x694110]
lea eax, [eax + edx*4]
mov dword [esp], eax
call fcn.00523300
sub esp, 8
add dword [0x693bf8], 1
call fcn.005232e0
mov dword [esp], 0x67cf58
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, byte [0x693f24]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
movzx eax, byte [0x693f1c]
xor edx, edx
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
mov dword [esp], str._tDE:
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, byte [0x693e24]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
movzx eax, byte [0x693dac]
xor edx, edx
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
call fcn.00523210
mov dword [esp + 4], eax
mov edx, dword [0x693bf8]
mov eax, dword [0x694110]
lea eax, [eax + edx*4]
mov dword [esp], eax
call fcn.00523300
sub esp, 8
add dword [0x693bf8], 1
call fcn.005232e0
mov dword [esp], 0x67e7e0
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, byte [0x693f11]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
movzx eax, byte [0x693f01]
xor edx, edx
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
mov dword [esp], str._tHL:
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, byte [0x693c5c]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
movzx eax, byte [0x693b1c]
xor edx, edx
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
call fcn.00523210
mov dword [esp + 4], eax
mov edx, dword [0x693bf8]
mov eax, dword [0x694110]
lea eax, [eax + edx*4]
mov dword [esp], eax
call fcn.00523300
sub esp, 8
add dword [0x693bf8], 1
call fcn.005232e0
mov dword [esp], str.IX:
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, byte [0x693c5e]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
movzx eax, byte [0x693c5d]
xor edx, edx
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
mov dword [esp], str._tIY_:
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, byte [0x693c08]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
movzx eax, byte [0x693c00]
xor edx, edx
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
call fcn.00523210
mov dword [esp + 4], eax
mov edx, dword [0x693bf8]
mov eax, dword [0x694110]
lea eax, [eax + edx*4]
mov dword [esp], eax
call fcn.00523300
sub esp, 8
add dword [0x693bf8], 1
jmp 0x4bebf1
lea edx, [ecx - 0x4001]
cmp dx, 0x3fff
ja 0x4bf73c
mov edx, dword [0x6940c8]
mov edx, dword [edx + eax*4]
mov dword [0x694040], edx
add eax, edx
mov dword [0x693e64], eax
mov dword [esp], edx
call fcn.00416240
sub esp, 4
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4bf7ba
mov dword [esp], 3
call fcn.00416240
sub esp, 4
movzx eax, byte [0x693f81]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
sub esp, 8
movzx edx, word [0x693e70]
lea eax, [edx - 1]
mov word [0x693e70], ax
cmp dword [0x693b44], 4
jle 0x4bf7fd
cmp ax, 0x3fff
jbe 0x4bf82f
test ax, ax
jns 0x4bf809
cmp ax, 0xbfff
jbe 0x4bf82f
test byte [0x693f68], 1
je 0x4bf82f
jmp 0x4bf809
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
sub esp, 8
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4bf751
lea eax, [edx - 0x4001]
cmp ax, 0x3fff
ja 0x4bf82f
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
sub esp, 4
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4bf975
mov dword [esp], 3
call fcn.00416240
sub esp, 4
movzx eax, word [0x693f80]
mov dword [esp + 4], eax
movzx eax, word [0x693e70]
mov dword [esp], eax
call fcn.004015c0
sub esp, 8
movzx eax, byte [0x693be4]
cmp al, 1
je 0x4bf887
cmp al, 2
je 0x4bf9fb
mov esi, 0x38
mov word [0x693f80], si
mov eax, dword [0x693e64]
add eax, 7
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4bf9b8
mov dword [esp], 7
call fcn.00416240
sub esp, 4
mov dword [0x693be0], 0
mov byte [0x693f40], 0
mov byte [0x693c74], 0
add byte [0x693f00], 1
mov edi, dword [0x693b84]
test edi, edi
jne 0x4bfbea
lea esi, [esi]
nop
add dword [0x694030], 1
add dword [0x693f8c], 1
mov dword [0x694060], 0
mov dword [0x693be8], 0
mov edx, dword [0x693fd0]
mov dword [0x693b7c], edx
mov eax, dword [0x693e3c]
mov dword [0x693c60], eax
sub eax, 3
mov dword [0x6940ac], eax
lea eax, [edx - 0x18]
mov dword [0x693c34], eax
mov dword [0x693e38], 0
mov eax, dword [0x693e68]
add eax, dword [0x693e64]
mov dword [esp], eax
call fcn.00416240
sub esp, 4
mov eax, dword [0x6940c0]
add eax, 1
xor eax, 0x20
mov dword [0x6940c0], eax
sar eax, 4
mov dword [0x693ea8], eax
jmp 0x4bed64
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
sub esp, 8
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4bf848
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
sub esp, 8
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4bf8ac
movzx eax, byte [0x693f10]
shl eax, 8
or al, 0xff
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x4bfacd
cmp ax, 0x3fff
jbe 0x4bfa4d
test ax, ax
js 0x4bfadc
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push ebx
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4bfaf8
mov dword [esp], 3
call fcn.00416240
push eax
movzx eax, word [0x693efe]
mov ebx, eax
mov dword [esp], eax
call fcn.004010a0
push edx
mov word [0x693f80], ax
lea eax, [ebx + 1]
mov word [0x693efe], ax
cmp dword [0x693b44], 4
jle 0x4bfb3a
cmp ax, 0x3fff
jbe 0x4bfb6a
test ax, ax
jns 0x4bfb46
cmp ax, 0xbfff
jbe 0x4bfb6a
test byte [0x693f68], 1
je 0x4bfb6a
jmp 0x4bfb46
cmp ax, 0x3fff
jle 0x4bfa4d
jmp 0x4bfa29
cmp ax, 0xbfff
jbe 0x4bfa4d
test byte [0x693f68], 1
je 0x4bfa4d
jmp 0x4bfa29
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ecx
push ecx
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4bfa66
lea eax, [ebx - 0x3fff]
cmp ax, 0x3fff
ja 0x4bfb6a
mov edx, dword [0x693e64]
mov eax, dword [0x6940c8]
mov eax, dword [eax + edx*4]
mov dword [0x694040], eax
add edx, eax
mov dword [0x693e64], edx
mov dword [esp], eax
call fcn.00416240
push eax
mov eax, dword [0x693e64]
add eax, 3
mov dword [0x693e64], eax
cmp eax, dword [0x69405c]
jg 0x4bfbab
mov dword [esp], 3
call fcn.00416240
push esi
movzx eax, word [0x693efe]
mov dword [esp], eax
call fcn.004010a0
push edi
shl eax, 8
or word [0x693f80], ax
jmp 0x4bf893
movzx eax, byte [0x693fb0]
xor al, byte [0x693b70]
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [0x693c2c]
add eax, dword [0x693fbc]
mov dword [esp], eax
call fcn.005224a0
push ebp
push ebp
add dword [0x693c2c], 1
movzx eax, byte [0x693f2f]
add dword [0x69405c], eax
jmp 0x4bfb7f
call fcn.005232e0
mov dword [esp], str.PC:
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, word [0x693f80]
mov esi, eax
xor edi, edi
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
mov dword [esp], str._tSP_:
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, word [0x693e70]
mov esi, eax
xor edi, edi
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
call fcn.00523210
mov dword [esp + 4], eax
mov edx, dword [0x693bf8]
mov eax, dword [0x694110]
lea eax, [eax + edx*4]
mov dword [esp], eax
call fcn.00523300
sub esp, 8
add dword [0x693bf8], 1
call fcn.005232e0
mov dword [esp], str.AF:
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.00401000
mov esi, eax
movzx eax, byte [0x693f2a]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
mov eax, esi
cdq
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
mov dword [esp], 0x684ff0
call fcn.00523370
sub esp, 4
call fcn.00523210
mov dword [esp + 4], eax
mov edx, dword [0x693bf8]
mov eax, dword [0x694110]
lea eax, [eax + edx*4]
mov dword [esp], eax
call fcn.00523300
sub esp, 8
movzx eax, word [0x693d1c]
mov dword [0x693e28], eax
movzx eax, word [0x693d1e]
mov dword [0x693e30], eax
movzx eax, word [0x693d20]
mov dword [0x693e34], eax
movzx eax, word [0x693d00]
mov dword [0x693e14], eax
movzx eax, word [0x694064]
mov word [0x693d1c], ax
movzx eax, word [0x693c38]
mov word [0x693d20], ax
movzx eax, word [0x693bec]
mov word [0x693d00], ax
movzx eax, word [0x693bb8]
mov word [0x693d1e], ax
call fcn.005232e0
mov edx, dword [0x693bf8]
mov eax, dword [0x694110]
mov eax, dword [eax + edx*4]
mov dword [esp], eax
call fcn.00523370
sub esp, 4
mov dword [esp], 0x67e154
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.00401000
mov esi, eax
movzx eax, byte [0x693f48]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
mov eax, esi
cdq
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
call fcn.00523210
mov dword [esp + 4], eax
mov edx, dword [0x693bf8]
mov eax, dword [0x694110]
lea eax, [eax + edx*4]
mov dword [esp], eax
call fcn.00523300
sub esp, 8
mov eax, dword [0x693e28]
mov word [0x693d1c], ax
mov eax, dword [0x693e14]
mov word [0x693d00], ax
mov eax, dword [0x693e34]
mov word [0x693d20], ax
mov eax, dword [0x693e30]
mov word [0x693d1e], ax
add dword [0x693bf8], 1
call fcn.005232e0
mov dword [esp], str.BC:
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, byte [0x693f26]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
movzx eax, byte [0x693f25]
xor edx, edx
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
mov dword [esp], str._tBC:
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, byte [0x693ed8]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
movzx eax, byte [0x693e78]
xor edx, edx
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
call fcn.00523210
mov dword [esp + 4], eax
mov edx, dword [0x693bf8]
mov eax, dword [0x694110]
lea eax, [eax + edx*4]
mov dword [esp], eax
call fcn.00523300
sub esp, 8
add dword [0x693bf8], 1
call fcn.005232e0
mov dword [esp], 0x67cf58
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, byte [0x693f24]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
movzx eax, byte [0x693f1c]
xor edx, edx
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
mov dword [esp], str._tDE:
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, byte [0x693e24]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
movzx eax, byte [0x693dac]
xor edx, edx
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
call fcn.00523210
mov dword [esp + 4], eax
mov edx, dword [0x693bf8]
mov eax, dword [0x694110]
lea eax, [eax + edx*4]
mov dword [esp], eax
call fcn.00523300
sub esp, 8
add dword [0x693bf8], 1
call fcn.005232e0
mov dword [esp], 0x67e7e0
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, byte [0x693f11]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
movzx eax, byte [0x693f01]
xor edx, edx
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
mov dword [esp], str._tHL:
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, byte [0x693c5c]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
movzx eax, byte [0x693b1c]
xor edx, edx
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
call fcn.00523210
mov dword [esp + 4], eax
mov edx, dword [0x693bf8]
mov eax, dword [0x694110]
lea eax, [eax + edx*4]
mov dword [esp], eax
call fcn.00523300
sub esp, 8
add dword [0x693bf8], 1
call fcn.005232e0
mov dword [esp], str.IX:
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, byte [0x693c5e]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
movzx eax, byte [0x693c5d]
xor edx, edx
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
mov dword [esp], str._tIY_:
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
call fcn.005232e0
movzx eax, byte [0x693c08]
xor edx, edx
shld edx, eax, 8
shl eax, 8
mov ecx, eax
mov ebx, edx
movzx eax, byte [0x693c00]
xor edx, edx
mov esi, ecx
mov edi, ebx
or esi, eax
or edi, edx
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.005232b0
mov ebx, eax
call fcn.00523210
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x68494c
mov dword [esp + 4], 5
mov dword [esp], ebx
call fcn.00520d70
sub esp, 0x10
call fcn.00523210
call fcn.00523210
mov dword [esp + 4], eax
mov edx, dword [0x693bf8]
mov eax, dword [0x694110]
lea eax, [eax + edx*4]
mov dword [esp], eax
call fcn.00523300
sub esp, 8
add dword [0x693bf8], 1
jmp 0x4bf8f0
cmp eax, 0x3dd
jg 0x4c05f8
mov eax, dword [0x694010]
test eax, eax
jne 0x4c0768
mov dword [esp], 0
call fcn.005060b1
sub esp, 4
mov dword [esp], eax
call fcn.00513378
sub esp, 4
call fcn.005231a0
call fcn.0050eafe
cmp eax, 0xffffffff
jne 0x4c07c0
mov eax, dword [0x693e1c]
test eax, eax
je 0x4be669
mov dword [esp], 0
call fcn.005035ef
sub esp, 4
test eax, eax
je 0x4be669
mov dword [esp], 0
call fcn.0050379f
sub esp, 4
cmp eax, 0xffffffff
je 0x4c07ca
mov eax, dword [0x694020]
test eax, eax
je 0x4c050d
mov eax, dword [0x694148]
or dword [eax + 0x10], 0x10
mov dword [0x694020], 0
mov dword [esp], 0
call fcn.0050379f
sub esp, 4
cmp eax, 1
je 0x4c07e2
mov ebp, dword [0x693ea4]
test ebp, ebp
je 0x4c0542
mov eax, dword [0x694148]
or dword [eax + 0x10], 8
mov dword [0x693ea4], 0
mov dword [esp], 0
call fcn.005038a6
sub esp, 4
cmp eax, 1
je 0x4c07fa
mov edi, dword [0x693e60]
test edi, edi
je 0x4c0577
mov eax, dword [0x694148]
or dword [eax + 0x10], 4
mov dword [0x693e60], 0
mov dword [esp], 0
call fcn.005038a6
sub esp, 4
cmp eax, 0xffffffff
je 0x4c0812
mov esi, dword [0x693bb4]
test esi, esi
je 0x4c05ac
mov eax, dword [0x694148]
or dword [eax + 0x10], 2
mov dword [0x693bb4], 0
mov dword [esp + 4], 1
mov dword [esp], 0
call fcn.00503653
sub esp, 8
test eax, eax
jne 0x4c0830
mov ebx, dword [0x693f7c]
test ebx, ebx
je 0x4c0843
mov eax, dword [0x694148]
or dword [eax + 0x10], 1
mov dword [0x693f7c], 0
jmp 0x4c0843
mov dword [0x693dc0], edx
call fcn.005232e0
call fcn.005232e0
mov dword [esp], str.FPS:
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
call fcn.00523210
mov dword [esp + 8], eax
mov eax, dword [0x694030]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
call fcn.005209c0
sub esp, 0xc
call fcn.00523210
call fcn.005233c0
call fcn.005232b0
mov dword [esp + 0xc], 0xa
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov dword [esp], 0
call fcn.004e47b2
sub esp, 0x10
call fcn.00523250
mov eax, dword [0x693bac]
test eax, eax
jne 0x4c0690
mov dword [0x694030], 0
jmp 0x4c047b
call fcn.005232e0
call fcn.005232e0
mov eax, dword [0x69408c]
mov dword [esp], eax
call fcn.00523370
sub esp, 4
mov dword [esp], str.__RZX:
call fcn.00523370
sub esp, 4
call fcn.005232e0
call fcn.005232e0
mov dword [esp + 8], 2
fild dword [0x693d18]
fild dword [0x693f94]
fdivp st(1)
fmul dword [0x61af44]
fstp qword [esp]
call fcn.005020b0
sub esp, 0xc
fstp qword [esp + 0x30]
fld qword [esp + 0x30]
fistp qword [esp + 0x38]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
call fcn.00523210
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.005209c0
sub esp, 0xc
call fcn.00523210
mov dword [esp], 0x684b80
call fcn.00523370
sub esp, 4
call fcn.005233c0
call fcn.005232b0
mov dword [esp + 0xc], 2
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.004e47b2
sub esp, 0x10
call fcn.00523250
jmp 0x4c0681
call fcn.0041f9c0
jmp 0x4c0488
mov dword [esp + 4], 1
mov eax, dword [0x693eb4]
mov dword [esp], eax
call fcn.0050e90a
sub esp, 8
mov dword [esp], 0
call sub.USER32.dll_ShowCursor
sub esp, 4
mov dword [esp], 0
call sub.USER32.dll_ShowCursor
sub esp, 4
mov dword [0x693cd4], 0
jmp 0x4bed9b
call fcn.00444340
jmp 0x4c04b5
mov eax, dword [0x694148]
and dword [eax + 0x10], 0xffffffef
mov dword [0x694020], 1
jmp 0x4c050d
mov eax, dword [0x694148]
and dword [eax + 0x10], 0xfffffff7
mov dword [0x693ea4], 1
jmp 0x4c0542
mov eax, dword [0x694148]
and dword [eax + 0x10], 0xfffffffb
mov dword [0x693e60], 1
jmp 0x4c0577
mov eax, dword [0x694148]
and dword [eax + 0x10], 0xfffffffd
mov dword [0x693bb4], 1
jmp 0x4c05ac
mov eax, dword [0x694148]
and dword [eax + 0x10], 0xfffffffe
mov dword [0x693f7c], 1
mov dword [esp + 4], 2
mov dword [esp], 0
call fcn.00503653
sub esp, 8
test eax, eax
jne 0x4c0888
mov ecx, dword [0x693c14]
test ecx, ecx
je 0x4be669
mov eax, dword [0x694148]
or dword [eax + 0x1c], 1
mov dword [0x693c14], 0
jmp 0x4be669
mov eax, dword [0x694148]
and dword [eax + 0x1c], 0xfffffffe
mov dword [0x693c14], 1
jmp 0x4be669
cmp eax, 0x1770
je 0x4c08fd
cmp eax, 0x17d4
je 0x4c08f0
cmp eax, 0x1964
je 0x4c08fd
cmp eax, 0x1a8f
jle 0x4c0960
cmp eax, 0x1af4
jle 0x4c08fd
xor edx, edx
cmp eax, 0x1b58
je 0x4c0988
mov dword [0x693bf0], edx
mov dword [esp], 0xa
call fcn.0050db33
sub esp, 4
jmp 0x4be673
cmp byte [0x693bee], 0
je 0x4be790
mov edx, dword [0x693cc4]
mov eax, dword [edx]
mov eax, dword [eax + 0x48]
mov dword [esp], edx
call eax
sub esp, 4
call fcn.0044e600
mov eax, dword [0x693bf0]
cmp eax, 0x17d4
je 0x4be790
cmp eax, 0x1b58
je 0x4be673
mov edx, dword [0x693cc4]
mov eax, dword [edx]
mov eax, dword [eax + 0x30]
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], edx
call eax
sub esp, 0x10
jmp 0x4be673
cmp eax, 0x1388
je 0x4c0a00
cmp eax, 0x24f
mov edx, 0x1b58
mov eax, 0
cmovne edx, eax
jmp 0x4c08d4
mov edx, dword [0x693cc4]
mov eax, dword [edx]
mov eax, dword [eax + 0x48]
mov dword [esp], edx
call eax
sub esp, 4
call fcn.00459b80
mov edx, dword [0x693d24]
test edx, edx
je 0x4c08da
cmp dword [0x693cd4], 1
jne 0x4c08da
mov dword [esp + 4], 1
mov eax, dword [0x693eb4]
mov dword [esp], eax
call fcn.0050e90a
sub esp, 8
mov dword [esp], 0
call sub.USER32.dll_ShowCursor
sub esp, 4
mov dword [esp], 0
call sub.USER32.dll_ShowCursor
sub esp, 4
mov dword [0x693cd4], 0
jmp 0x4c08da
call fcn.004436b0
mov eax, dword [0x693e20]
test eax, eax
jne 0x4c0a1d
mov dword [0x693bf0], 0
jmp 0x4be673
mov dword [0x693bf0], 0x1b58
jmp 0x4be673