Function at 0x69381d
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x140
mov word [esp + 0x48], 0xbf1
mov dword [esp + 0x4a], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 5
ja 0x691e1f
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx edx, byte [esp + ecx + 0x48]
lea ecx, [eax + 0x43]
and ecx, edx
add eax, edx
sub eax, ecx
mov edx, 0xaaceb3bc
sub edx, eax
add eax, 0x6074d943
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
mov dword [esp + 0xb0], ecx
mov eax, dword [esp + 0xb0]
add al, 0xb1
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 6
jb 0x691dd0
lea eax, [esp + 0x48]
push eax
push dword [ebp + 8]
call fcn.006845f0
add esp, 8
mov edi, eax
xor ecx, ecx
test eax, eax
sete cl
xor ebx, ebx
xor eax, eax
jmp dword [ecx*4 + 0x6c96d8]
mov dword [esp + 0x3c], edi
jmp 0x691e62
nop
nop
nop
nop
nop
nop
nop
mov ebx, dword [esp + 0x124]
mov eax, ebx
xor eax, 1
and ebx, 1
lea ebx, [eax + ebx*2]
push edi
call fcn.00684800
add esp, 4
xor ecx, ecx
cmp ebx, eax
setb cl
mov al, 1
jmp dword [ecx*4 + 0x6c96e0]
mov dword [esp + 0x124], ebx
push ebx
push edi
call fcn.00684810
add esp, 8
mov ebx, eax
mov word [esp + 0x48], 0x994
lea eax, [esp + 0x4a]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 6
ja 0x691f04
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x48]
mov edx, eax
xor edx, 0x47fecabe
and eax, 0xc7fecabe
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb0]
add al, 0x4a
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 7
jb 0x691ec0
push 3
lea eax, [esp + 0x4c]
push eax
push ebx
call fcn.006847a0
add esp, 0xc
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x6c96e8]
mov word [esp + 0x48], 0x71cc
mov dword [esp + 0x4a], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 5
ja 0x691f9d
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax + 0x48]
mov edx, ecx
xor edx, 0x81221f14
add ecx, ecx
and ecx, 0x2443e28
mov esi, ecx
and esi, edx
xor ecx, edx
lea ecx, [ecx + esi*2]
xor ecx, eax
mov dword [esp + 0xb0], ecx
mov eax, dword [esp + 0xb0]
add al, 0x9c
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 6
jb 0x691f50
lea esi, [esp + 0x48]
push esi
push ebx
call fcn.00684580
add esp, 8
fnstcw word [esp + 0x10e]
movzx eax, word [esp + 0x10e]
or eax, 0xc00
mov word [esp + 0x122], ax
fldcw word [esp + 0x122]
fistp dword [esp + 0x138]
fldcw word [esp + 0x10e]
mov eax, dword [esp + 0x138]
xor ecx, ecx
cmp eax, 2
setl cl
jmp dword [ecx*4 + 0x6c96f0]
xor ecx, ecx
cmp eax, 3
setl cl
jmp dword [ecx*4 + 0x6c96f8]
sete al
movzx eax, al
jmp dword [eax*4 + 0x6c9700]
mov dword [esp + 0x44], 0x9f05
mov dword [esp + 0xb0], 0
mov eax, dword [esp + 0xb0]
cmp eax, 3
ja 0x692085
nop
nop
nop
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb0]
movzx ecx, byte [esp + ecx + 0x44]
mov edx, eax
xor edx, 0x9ab6c625
and eax, 0x1ab6c625
lea eax, [edx + eax*2]
mov edx, eax
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
add al, 0x47
mov ecx, dword [esp + 0xb0]
mov byte [esp + ecx + 0x44], al
inc dword [esp + 0xb0]
mov eax, dword [esp + 0xb0]
cmp eax, 4
jb 0x692030
push 2
lea eax, [esp + 0x48]
push eax
push ebx
call fcn.006847a0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x6c9790]
mov word [esp + 0x48], 0x8f1c
lea eax, [esp + 0x4a]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
cmp eax, 6
ja 0x69210e
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
movzx ecx, byte [esp + ecx + 0x48]
mov edx, eax
xor edx, 0xa0476ddd
and eax, 0x20476ddd
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add al, 0xaf
mov ecx, dword [esp + 0x14]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, 7
jb 0x6920d0
push 2
lea eax, [esp + 0x4c]
push eax
push ebx
call fcn.006847a0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x6c9798]
mov word [esp + 0xb0], 0x67f3
lea eax, [esp + 0xb2]
mov word [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
cmp eax, 7
ja 0x6921b5
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
movzx ecx, byte [esp + ecx + 0xb0]
mov edx, eax
xor edx, 0x83a6c599
and eax, 0x3a6c599
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
and eax, ecx
mov ecx, edx
xor ecx, eax
add ecx, eax
not eax
and eax, edx
add eax, eax
sub eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add al, 3
mov ecx, dword [esp + 0x14]
mov byte [esp + ecx + 0xb0], al
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, 8
jb 0x692160
push 5
lea eax, [esp + 0xb4]
push eax
push ebx
call fcn.006847a0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x6c97a0]
mov word [esp + 4], 0xf966
lea eax, [esp + 6]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
cmp eax, 6
ja 0x692253
nop
nop
nop
nop
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
movzx eax, byte [esp + eax + 4]
mov edx, ecx
xor edx, 0x3ca980aa
mov esi, ecx
xor esi, 0x43567f55
or ecx, 0x3ca980aa
and ecx, esi
lea ecx, [edx + ecx*2]
lea edx, [ecx + eax]
not eax
or ecx, eax
sub eax, ecx
lea eax, [edx + eax*2]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add al, 0xae
mov ecx, dword [esp + 0x14]
mov byte [esp + ecx + 4], al
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, 7
jb 0x692200
push 2
lea eax, [esp + 8]
push eax
push ebx
call fcn.006847a0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x6c97a8]
mov word [esp + 0x30], 0x315c
lea eax, [esp + 0x31]
mov byte [eax + 5], 0
mov dword [eax + 1], 0
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
cmp eax, 6
ja 0x6922fd
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
movzx eax, byte [esp + eax + 0x30]
lea edx, [ecx + ecx]
and edx, 0xbf978b68
mov esi, ecx
not esi
or esi, 0x5fcbc5b4
add esi, ecx
sub ecx, edx
lea edx, [ecx + esi*2]
lea ecx, [ecx + esi*2]
add ecx, 0xdfcbc5b6
add edx, eax
add edx, 0xdfcbc5b6
and ecx, eax
add ecx, ecx
sub edx, ecx
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x10]
add al, 0x7c
mov ecx, dword [esp + 0x14]
mov byte [esp + ecx + 0x30], al
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, 7
jb 0x6922a0
push 3
lea eax, [esp + 0x34]
push eax
push ebx
call fcn.006847a0
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x6c97b0]
mov dword [esp + 0x114], 0xe9aaa
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
cmp eax, 3
ja 0x69238f
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
movzx eax, byte [esp + eax + 0x114]
mov edx, ecx
xor edx, 0xaf271dbd
and ecx, 0x2f271dbd
lea ecx, [edx + ecx*2]
lea edx, [ecx + eax]
not eax
or ecx, eax
sub eax, ecx
lea eax, [edx + eax*2]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add al, 0x4f
mov ecx, dword [esp + 0x14]
mov byte [esp + ecx + 0x114], al
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, 4
jb 0x692340
push 3
lea eax, [esp + 0x118]
push eax
push ebx
call fcn.006847a0
add esp, 0xc
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x6c97b8]
mov word [esp + 0x48], 0x7b15
lea eax, [esp + 0x4a]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 6
ja 0x692449
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax + 0x48]
add ecx, 0xe7bf246b
mov edx, ecx
mov esi, eax
not esi
or esi, ecx
and ecx, eax
xor edx, eax
lea ecx, [edx + ecx*2]
lea edx, [eax + esi]
add eax, esi
inc eax
mov esi, ecx
xor esi, eax
not eax
and eax, ecx
add eax, eax
lea ecx, [esi + edx]
inc ecx
sub eax, ecx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb0]
mov ecx, eax
not ecx
and ecx, 0x17
and eax, 0xe8
sub eax, ecx
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 7
jb 0x6923e0
lea eax, [esp + 0x48]
push eax
push ebx
call fcn.00684520
add esp, 8
mov edi, eax
mov word [esp + 0x48], 0x9968
lea eax, [esp + 0x4a]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 6
ja 0x6924d8
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx edx, byte [esp + ecx + 0x48]
lea ecx, [eax + edx]
add ecx, 0x11dd8bda
add eax, 0x11dd8bda
and eax, edx
mov edx, ecx
xor edx, eax
mov esi, eax
not esi
and ecx, esi
add ecx, ecx
sub ecx, edx
xor eax, ecx
and ecx, esi
add ecx, ecx
sub ecx, eax
mov dword [esp + 0xb0], ecx
mov eax, dword [esp + 0xb0]
add al, 0xbe
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 7
jb 0x692480
lea esi, [esp + 0x48]
push esi
push ebx
call fcn.00684520
add esp, 8
mov dword [esp + 0x24], eax
mov dword [esp + 4], 0x41ed
mov dword [esp + 0xb0], 0
mov eax, dword [esp + 0xb0]
cmp eax, 3
ja 0x692569
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb0]
movzx ecx, byte [esp + ecx + 4]
lea edx, [eax + ecx]
add edx, 0x3f97cff0
add eax, 0x3f97cff0
and eax, ecx
mov ecx, edx
xor ecx, eax
add ecx, eax
not eax
and eax, edx
add eax, eax
sub eax, ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
add al, 0x50
mov ecx, dword [esp + 0xb0]
mov byte [esp + ecx + 4], al
inc dword [esp + 0xb0]
mov eax, dword [esp + 0xb0]
cmp eax, 4
jb 0x692510
lea eax, [esp + 4]
push eax
push ebx
call fcn.006845f0
add esp, 8
mov dword [esp + 0x2c], eax
mov word [esp + 0x48], 0x47de
mov dword [esp + 0x4a], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 5
ja 0x6925e4
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x48]
mov edx, eax
xor edx, 0x700df0f1
and eax, 0xf00df0f1
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb0]
add al, 0x4b
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 6
jb 0x6925a0
push esi
push ebx
call fcn.00684520
add esp, 8
mov dword [esp + 0x20], eax
mov word [esp + 0x48], 0x5ba0
mov dword [esp + 0x4a], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 5
ja 0x692659
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x48]
add eax, 0x3b245f0f
xor eax, ecx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb0]
add al, 0xb5
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 6
jb 0x692620
push esi
push ebx
call fcn.00684580
add esp, 8
mov dword [esp + 4], 0xf696a2
fnstcw word [esp + 0x108]
movzx eax, word [esp + 0x108]
or eax, 0xc00
mov word [esp + 0x11c], ax
fldcw word [esp + 0x11c]
fistp dword [esp + 0x12c]
fldcw word [esp + 0x108]
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x28], eax
mov dword [esp + 0xb0], 0
mov eax, dword [esp + 0xb0]
cmp eax, 3
ja 0x69270d
nop
nop
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb0]
movzx ecx, byte [esp + ecx + 4]
mov edx, eax
xor edx, 0xd54762fe
and eax, 0xd54762fe
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
add al, 0xa
mov ecx, dword [esp + 0xb0]
mov byte [esp + ecx + 4], al
inc dword [esp + 0xb0]
mov eax, dword [esp + 0xb0]
cmp eax, 4
jb 0x6926c0
lea eax, [esp + 4]
push eax
push ebx
call fcn.00684580
add esp, 8
lea ebx, [edi - 1]
mov esi, 0xffffffff
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
inc esi
add eax, 2
cmp byte [ebx + 1], 0
lea ebx, [ebx + 1]
jne 0x692730
fnstcw word [esp + 0x106]
movzx ecx, word [esp + 0x106]
or ecx, 0xc00
mov word [esp + 0x11a], cx
fldcw word [esp + 0x11a]
fistp dword [esp + 0x128]
fldcw word [esp + 0x106]
mov ecx, dword [esp + 0x128]
mov dword [esp + 0x40], ecx
and eax, 2
xor esi, 1
add esi, eax
lea eax, [esi + esi]
test esi, esi
jns 0x69278e
mov eax, 0xffffffff
push eax
call fcn.0068c580
add esp, 4
mov dword [esp + 0x48], 0
lea ecx, [eax + esi*2]
add ecx, 0xfffffffe
mov esi, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ecx
cmp eax, ecx
jae 0x6927ea
mov esi, dword [esp + 0x1c]
cmp edi, ebx
jae 0x6927ea
mov esi, dword [esp + 0x1c]
cmp byte [edi], 0
je 0x6927ea
lea eax, [esp + 0x48]
push eax
push ebx
push edi
call fcn.00690a70
add esp, 0xc
movzx ecx, word [esp + 0x48]
mov word [esi], cx
add esi, 2
cmp esi, dword [esp + 0x18]
jae 0x6927ea
add edi, eax
cmp edi, ebx
jb 0x6927bf
mov word [esi], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb0], 0
lea ecx, [esp + 0xb0]
mov esi, dword [esp + 0x1c]
push esi
call fcn.006bc760
jmp dword [0x6c97c0]
push esi
call fcn.0068c590
add esp, 4
lea ecx, [esp + 0xb0]
push 0x400
call fcn.006bc9b0
not eax
shr eax, 0x1f
mov edi, dword [esp + 0x3c]
jmp dword [eax*4 + 0x6c97c8]
xor ecx, ecx
test eax, eax
setle cl
jmp dword [ecx*4 + 0x6c9708]
mov word [esp + 0x48], 0x39c8
lea eax, [esp + 0x4a]
mov word [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 7
ja 0x692b91
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x48]
mov edx, eax
xor edx, 0xbbf1cff6
and eax, 0x3bf1cff6
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb0]
mov ecx, eax
not ecx
and ecx, 0xce
and eax, 0x31
sub eax, ecx
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 8
jb 0x692b40
lea eax, [esp + 0x48]
push eax
push ebx
call fcn.00684520
add esp, 8
mov dword [esp + 0x20], eax
mov word [esp + 0x48], 0x8906
mov dword [esp + 0x4a], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 5
ja 0x692c14
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x48]
mov edx, eax
xor edx, 0x5a1d5ee2
and eax, 0xda1d5ee2
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb0]
add al, 0x96
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 6
jb 0x692bd0
lea eax, [esp + 0x48]
push eax
push ebx
call fcn.00684520
add esp, 8
mov esi, dword [esp + 0x20]
test esi, esi
sete dl
test eax, eax
sete cl
or cl, dl
movzx ecx, cl
jmp dword [ecx*4 + 0x6c98c8]
mov ecx, esi
mov edx, esi
mov ebx, ecx
inc ecx
cmp byte [ebx], 0
jne 0x692c40
mov dword [esp + 0x1c], eax
xor edi, edi
cmp ebx, edx
jbe 0x692c87
cmp byte [edx], 0
je 0x692c87
xor edi, edi
mov esi, dword [esp + 0x20]
nop
nop
nop
mov dword [esp + 0x48], 0
lea eax, [esp + 0x48]
push eax
push ebx
push esi
call fcn.00690a70
add esp, 0xc
lea ecx, [esi + eax]
inc edi
cmp ecx, ebx
jae 0x692c87
cmp byte [esi + eax], 0
mov esi, ecx
jne 0x692c60
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x692c95
mov eax, 0xffffffff
push eax
call fcn.0068c580
add esp, 4
mov dword [esp + 0x48], 0
lea ecx, [eax + edi*2]
mov edi, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], ecx
cmp eax, ecx
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
jae 0x693747
mov edi, dword [esp + 0x24]
cmp esi, ebx
jae 0x693747
mov edi, dword [esp + 0x24]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [esi], 0
je 0x693747
lea eax, [esp + 0x48]
push eax
push ebx
push esi
call fcn.00690a70
add esp, 0xc
movzx ecx, word [esp + 0x48]
mov word [edi], cx
add edi, 2
cmp edi, dword [esp + 0x18]
jae 0x693743
add esi, eax
cmp esi, ebx
mov eax, dword [esp + 0x1c]
jb 0x692ce0
jmp 0x693747
mov eax, dword [esp + 0x1c]
mov word [edi], 0
xor ebx, ebx
mov edi, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add edi, 2
cmp byte [eax + ebx], 0
lea ebx, [ebx + 1]
jne 0x693760
lea eax, [edi + 2]
test ebx, ebx
jns 0x693778
mov eax, 0xffffffff
push eax
call fcn.0068c580
add esp, 4
mov esi, dword [esp + 0x1c]
add ebx, esi
dec ebx
mov dword [esp + 0x48], 0
add edi, eax
mov dword [esp + 0x18], eax
cmp eax, edi
mov dword [esp + 0x38], eax
jae 0x6937e1
mov dword [esp + 0x18], eax
cmp esi, ebx
jae 0x6937e1
mov dword [esp + 0x18], eax
nop
nop
nop
nop
nop
nop
cmp byte [esi], 0
je 0x6937e1
lea eax, [esp + 0x48]
push eax
push ebx
push esi
call fcn.00690a70
add esp, 0xc
movzx ecx, word [esp + 0x48]
mov edx, dword [esp + 0x18]
mov word [edx], cx
add edx, 2
mov dword [esp + 0x18], edx
cmp edx, edi
jae 0x6937e1
add esi, eax
cmp esi, ebx
jb 0x6937b0
mov eax, dword [esp + 0x18]
mov word [eax], 0
mov word [esp + 0x48], 0x796d
mov byte [esp + 0x4a], 2
lea eax, [esp + 0x4a]
mov byte [eax + 5], 0
mov dword [eax + 1], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 7
ja 0x693874
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x48]
mov edx, eax
xor edx, 0x1c429880
and eax, 0x1c429880
lea eax, [edx + eax*2]
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb0]
mov ecx, eax
xor ecx, 0x80
add eax, eax
sub eax, ecx
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 8
jb 0x693820
lea eax, [esp + 0x48]
push eax
push dword [ebp + 8]
call fcn.006845f0
add esp, 8
xor ecx, ecx
mov dword [esp + 0x28], eax
test eax, eax
setne cl
xor ebx, ebx
mov dword [esp + 0x2c], 0
jmp dword [ecx*4 + 0x6c98d0]
lea esi, [esp + 0x48]
mov ecx, esi
push 3
call fcn.0068ced0
push dword [esp + 0x2c]
push ebx
push dword [esp + 0x40]
push dword [esp + 0x30]
push esi
call fcn.0069e690
add esp, 0x14
mov ecx, esi
call fcn.0068d7d0
xor eax, eax
test ebx, ebx
sete al
jmp dword [eax*4 + 0x6c98f0]
lea esi, [ebx - 4]
mov eax, dword [ebx - 4]
lea ecx, [eax + eax*2]
lea edi, [ebx + ecx*4]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x6c98f8]
push esi
call fcn.0068c590
add esp, 4
jmp dword [0x6c9918]
add edi, 0xfffffff4
xor eax, eax
cmp edi, ebx
sete al
jmp dword [eax*4 + 0x6c9900]
mov eax, dword [edi - 0xc]
test eax, eax
je 0x693910
push eax
call fcn.0068c590
add esp, 4
jmp 0x693910
push dword [esp + 0x28]
call fcn.00684800
add esp, 4
mov ecx, eax
mov dword [esp + 0x2c], eax
mov ecx, 0xc
mul ecx
seto dl
mov ecx, 0xffffffff
mov esi, 0xffffffff
add eax, 4
jb 0x693960
mov esi, eax
test dl, dl
jne 0x693966
mov ecx, esi
push ecx
call fcn.0068c580
add esp, 4
mov ebx, eax
mov ecx, dword [esp + 0x2c]
mov dword [eax], ecx
add ebx, 4
xor eax, eax
test ecx, ecx
sete al
mov dword [esp + 0x40], ebx
jmp dword [eax*4 + 0x6c98d8]
mov eax, dword [esp + 0x2c]
lea eax, [eax + eax*2]
lea eax, [ebx + eax*4]
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
lea ecx, [ebx + 0xc]
xor edx, edx
cmp ecx, eax
sete dl
jmp dword [edx*4 + 0x6c98e0]
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
add ecx, 0xc
xor edx, edx
cmp ecx, eax
sete dl
jmp dword [edx*4 + 0x6c98e0]
xor ecx, ecx
xor eax, eax
cmp ecx, dword [esp + 0x2c]
setb al
jmp dword [eax*4 + 0x6c98e8]
mov eax, dword [esp + 0x18]
mov word [eax], 0
mov ecx, dword [esp + 0x1c]
inc ecx
xor eax, eax
cmp ecx, dword [esp + 0x2c]
setb al
mov ebx, dword [esp + 0x40]
jmp dword [eax*4 + 0x6c98e8]
mov dword [esp + 0x1c], ecx
push ecx
push dword [esp + 0x2c]
call fcn.00684810
add esp, 8
mov edi, eax
mov dword [esp + 4], 0x4ad9d7
mov dword [esp + 0xb0], 0
mov eax, dword [esp + 0xb0]
cmp eax, 3
ja 0x693aad
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb0]
movzx ecx, byte [esp + ecx + 4]
mov edx, eax
xor edx, 0xb13b33f3
and eax, 0x313b33f3
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
add al, 0x41
mov ecx, dword [esp + 0xb0]
mov byte [esp + ecx + 4], al
inc dword [esp + 0xb0]
mov eax, dword [esp + 0xb0]
cmp eax, 4
jb 0x693a60
lea eax, [esp + 4]
push eax
push edi
call fcn.00684520
add esp, 8
mov esi, eax
mov word [esp + 0x48], 0xb5db
mov byte [esp + 0x4a], 0x3e
lea eax, [esp + 0x4a]
mov byte [eax + 5], 0
mov dword [eax + 1], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 7
ja 0x693b34
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x48]
mov edx, eax
xor edx, 0xf4e8faf5
and eax, 0xf4e8faf5
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb0]
add al, 0x37
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 8
jb 0x693af0
lea eax, [esp + 0x48]
push eax
push edi
call fcn.00684520
add esp, 8
mov dword [esp + 0x20], eax
mov word [esp + 0x48], 0x9585
mov byte [esp + 0x4a], 0x22
lea eax, [esp + 0x4a]
mov byte [eax + 3], 0
mov word [eax + 1], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 5
ja 0x693bc4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x48]
mov edx, eax
xor edx, 0x35a82cc8
and eax, 0x35a82cc8
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb0]
add al, 0x18
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 6
jb 0x693b80
lea eax, [esp + 0x48]
push eax
push edi
call fcn.00684520
add esp, 8
mov ecx, dword [esp + 0x1c]
lea ecx, [ecx + ecx*2]
mov dword [ebx + ecx*4], 0
mov dword [ebx + ecx*4 + 4], esi
lea edi, [ebx + ecx*4]
mov dword [ebx + ecx*4 + 8], eax
xor esi, esi
mov ebx, 0xfffffffe
mov eax, dword [esp + 0x20]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add ebx, 2
cmp byte [eax + esi], 0
lea esi, [esi + 1]
jne 0x693c00
lea eax, [ebx + 2]
test esi, esi
jns 0x693c18
mov eax, 0xffffffff
push eax
call fcn.0068c580
add esp, 4
mov dword [edi], eax
mov ecx, dword [esp + 0x20]
lea edi, [ecx + esi]
dec edi
mov dword [esp + 0x48], 0
cmp edi, ecx
mov dword [esp + 0x18], eax
jbe 0x693a00
add ebx, eax
cmp eax, ebx
jae 0x693a00
nop
nop
nop
nop
nop
nop
nop
cmp byte [ecx], 0
je 0x693a00
lea eax, [esp + 0x48]
push eax
push edi
push ecx
mov esi, ecx
call fcn.00690a70
add esp, 0xc
movzx ecx, word [esp + 0x48]
mov edx, dword [esp + 0x18]
mov word [edx], cx
add edx, 2
mov dword [esp + 0x18], edx
cmp edx, ebx
jae 0x693a00
add esi, eax
cmp esi, edi
mov ecx, esi
jb 0x693c50
jmp 0x693a00
jmp dword [0x6c9918]
jmp dword [0x6c9924]
lea ecx, [esp + 0xb0]
call fcn.006bcb50
jmp case.0x693a1b.23
mov edi, dword [esp + 0x3c]
jmp dword [0x6c9930]
push dword [esp + 0x38]
call fcn.0068c590
add esp, 4
lea ecx, [esp + 0x48]
call fcn.0068cf10
mov eax, dword [case.0x693a1b.23]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
push dword [esp + 0x24]
call fcn.0068c590
add esp, 4
push dword [esp + 0x24]
call fcn.0068c590
add esp, 4
jmp dword [0x6c992c]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.0068c590
mov eax, dword [esp + 0x6cc]
mov ecx, dword [esp + 0x6d0]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0068df50
mov dword [esp], ebx
call fcn.0068c590
mov dword [esp + 0x4ec], 0
mov eax, dword [esp + 0x4f0]
mov ecx, dword [esp + 0x4ec]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x864]
mov ecx, dword [esp + 0x868]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0068df50
mov dword [esp], esi
call fcn.0068c590
mov dword [esp + 0x4b4], 1
mov eax, dword [esp + 0x4b8]
mov ecx, dword [esp + 0x4b4]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0068df50
mov dword [esp + 0x4bc], 0
mov eax, dword [esp + 0x4c0]
mov ecx, dword [esp + 0x4bc]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x8ec]
mov ecx, dword [esp + 0x8f0]
mov eax, dword [ecx + eax*4]
mov bl, 1
jmp eax
mov dword [esp], ebx
call fcn.0068c690
mov ecx, eax
and ecx, 1
or eax, 1
add ecx, eax
mov dword [esp + 0x134], ecx
mov eax, dword [esp + 0x6ec]
mov ecx, dword [esp + 0x6f0]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x5ec]
mov ecx, dword [esp + 0x5f0]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0068df50
mov dword [esp + 0x5c4], 1
mov eax, dword [esp + 0x5c8]
mov ecx, dword [esp + 0x5c4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x3bc]
mov ecx, dword [esp + 0x3c0]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x3fc]
mov ecx, dword [esp + 0x400]
mov eax, dword [ecx + eax*4]
jmp eax
mov edi, ebx
add edi, 2
mov word [ebx], 0x2c
shl esi, 1
mov eax, edi
add eax, esi
mov dword [esp + 0x35c], eax
mov esi, dword [esp + 0x144]
mov dword [esp], esi
call fcn.0068c690
mov edx, esi
add edx, eax
mov dword [esp + 0x350], 0
mov ebx, edi
mov edi, esi
mov esi, dword [esp + 0x35c]
mov eax, esi
add eax, 0xfffffffe
mov ecx, ebx
sub ecx, eax
setb al
mov ecx, edi
sub ecx, edx
setb cl
and al, cl
test al, 1
jne 0x695954
jmp 0x695993
cmp byte [edi], 0
je 0x695993
lea eax, [esp + 0x350]
mov dword [esp], edi
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0x364], edx
call fcn.00690a70
mov edx, dword [esp + 0x364]
add edi, eax
mov eax, dword [esp + 0x350]
mov ecx, ebx
add ecx, 2
mov word [ebx], ax
mov ebx, ecx
jmp 0x695939
call fcn.0068df50
call fcn.0068df50
mov word [ebx], 0
mov eax, dword [esp + 0x6ac]
mov ecx, dword [esp + 0x6b0]
mov eax, dword [ecx + eax*4]
mov edi, dword [esp + 0x30]
jmp eax
mov edi, dword [esp + 0x934]
mov al, byte [esp + 0x1d0]
mov byte [esp + 0x25c], al
mov byte [esp + 0x1d4], 0xb
mov byte [esp + 0x1d5], 0xa
mov byte [esp + 0x1d6], 0x75
mov byte [esp + 0x1d7], 0x74
mov eax, 4
mov byte [esp + eax + 0x1d4], 0
add eax, 1
cmp eax, 5
jne 0x6959f3
mov dword [esp + 0xb8], 0
mov eax, dword [esp + 0xb8]
cmp eax, 5
jae 0x695a5b
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xb8]
movzx ecx, byte [esp + ecx + 0x1d4]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00699800
mov ecx, dword [esp + 0xb8]
mov byte [esp + ecx + 0x1d4], al
mov eax, dword [esp + 0xb8]
inc eax
mov dword [esp + 0xb8], eax
jmp 0x695a0e
mov esi, dword [esp + 0x1d4]
xor ebx, ebx
cmp ebx, dword [0x6cf754]
jb 0x695a6e
jmp 0x695abe
mov eax, dword [0x6cf758]
cmp dword [eax + ebx*8], 0x625b6034
sete cl
test cl, 1
jne 0x695a84
jmp 0x695ab2
mov eax, dword [eax + ebx*8 + 4]
cmp eax, esi
je 0x695ab2
mov byte [esp + 0x47], cl
mov ecx, dword [0x6cf75c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov dword [esp + 0xc], edi
call fcn.006bf5f0
mov cl, byte [esp + 0x47]
test cl, 1
je 0x695ab9
jmp 0x695abe
add ebx, 1
jmp 0x695a64
call fcn.0068df50
call fcn.0068df50
mov eax, dword [esp + 0x594]
mov ecx, dword [esp + 0x598]
mov eax, dword [ecx + eax*4]
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x2c]
jmp eax
test ebx, ebx
setne al
mov byte [esp + 0x4f], al
movzx eax, al
mov dword [esp + 0x6f4], eax
mov eax, dword [esp + 0x6f8]
mov ecx, dword [esp + 0x6f4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x134], 0
jmp eax
call fcn.0068df50
lea eax, [esp + 0x15c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
mov dword [esp + 0x18], 0x80
mov dword [esp + 0x14], 0x60
mov dword [esp + 0x10], 5
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x100002
call fcn.006c2d00
mov edi, eax
xor eax, eax
test edi, edi
setns cl
mov dword [esp + 0x79c], 1
mov edx, dword [esp + 0x7a0]
mov esi, dword [esp + 0x79c]
mov edx, dword [edx + esi*4]
jmp edx
call fcn.0068df50
mov dword [esp + 0x50c], 1
mov eax, dword [esp + 0x510]
mov ecx, dword [esp + 0x50c]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x634], eax
mov eax, dword [esp + 0x638]
mov ecx, dword [esp + 0x634]
mov eax, dword [eax + ecx*4]
xor esi, esi
mov dword [esp + 0x2c], 0
jmp eax
call fcn.0068df50
mov dword [esp + 0x66c], 1
mov eax, dword [esp + 0x670]
mov ecx, dword [esp + 0x66c]
mov eax, dword [eax + ecx*4]
jmp eax
mov edi, dword [esp + 0x944]
mov al, byte [esp + 0x1b8]
mov byte [esp + 0x264], al
mov byte [esp + 0x1bc], 0xb
mov byte [esp + 0x1bd], 0xa
mov byte [esp + 0x1be], 0x75
mov byte [esp + 0x1bf], 0x74
mov eax, 4
mov byte [esp + eax + 0x1bc], 0
add eax, 1
cmp eax, 5
jne 0x695c28
mov dword [esp + 0xb0], 0
mov eax, dword [esp + 0xb0]
cmp eax, 5
jae 0x695c90
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb0]
movzx ecx, byte [esp + ecx + 0x1bc]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00699800
mov ecx, dword [esp + 0xb0]
mov byte [esp + ecx + 0x1bc], al
mov eax, dword [esp + 0xb0]
inc eax
mov dword [esp + 0xb0], eax
jmp 0x695c43
mov esi, dword [esp + 0x1bc]
xor ebx, ebx
cmp ebx, dword [0x6cf754]
jb 0x695ca3
jmp 0x695cf3
mov eax, dword [0x6cf758]
cmp dword [eax + ebx*8], 0x625b6034
sete cl
test cl, 1
jne 0x695cb9
jmp 0x695ce7
mov eax, dword [eax + ebx*8 + 4]
cmp eax, esi
je 0x695ce7
mov byte [esp + 0x46], cl
mov ecx, dword [0x6cf75c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov dword [esp + 0xc], edi
call fcn.006bf5f0
mov cl, byte [esp + 0x46]
test cl, 1
je 0x695cee
jmp 0x695cf3
add ebx, 1
jmp 0x695c99
call fcn.0068df50
call fcn.0068df50
mov eax, dword [esp + 0x544]
mov ecx, dword [esp + 0x548]
mov eax, dword [ecx + eax*4]
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x2c]
jmp eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.00699780
add eax, 0x1d
sub eax, 0xffffffff
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x695d40
mov ecx, eax
mov dword [esp], ecx
call fcn.0068c580
mov esi, eax
mov al, byte [esp + 0x150]
mov byte [esp + 0x228], al
mov byte [esp + 0xa4], 2
mov byte [esp + 0xa5], 0x2b
mov byte [esp + 0xa6], 0x2a
mov byte [esp + 0xa7], 0x29
mov dword [esp + 0x10c], 0
mov eax, dword [esp + 0x10c]
cmp eax, 4
jae 0x695dd0
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0x10c]
movzx ecx, byte [esp + ecx + 0xa4]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00699b80
mov ecx, dword [esp + 0x10c]
mov byte [esp + ecx + 0xa4], al
mov eax, dword [esp + 0x10c]
inc eax
mov dword [esp + 0x10c], eax
jmp 0x695d83
mov al, byte [esp + 0x14c]
mov byte [esp + 0x22c], al
mov byte [esp + 0x270], 0x74
mov byte [esp + 0x271], 0xe7
mov byte [esp + 0x272], 0x77
mov byte [esp + 0x273], 0xe1
mov byte [esp + 0x274], 0x69
mov byte [esp + 0x275], 0xe3
mov byte [esp + 0x276], 0x7d
mov byte [esp + 0x277], 0xdd
mov byte [esp + 0x278], 0x4e
mov byte [esp + 0x279], 0xdf
mov byte [esp + 0x27a], 0x53
mov byte [esp + 0x27b], 0xd9
mov byte [esp + 0x27c], 0x40
mov byte [esp + 0x27d], 0xdb
mov byte [esp + 0x27e], 0x45
mov byte [esp + 0x27f], 0xd5
mov byte [esp + 0x280], 0x40
mov byte [esp + 0x281], 0xd7
mov byte [esp + 0x282], 0x42
mov byte [esp + 0x283], 0xd1
mov byte [esp + 0x284], 0xb0
mov byte [esp + 0x285], 0xd3
mov byte [esp + 0x286], 0x85
mov byte [esp + 0x287], 0xcd
mov byte [esp + 0x288], 0x53
mov byte [esp + 0x289], 0xcf
mov byte [esp + 0x28a], 0x46
mov byte [esp + 0x28b], 0xc9
mov byte [esp + 0x28c], 0x57
mov byte [esp + 0x28d], 0xcb
mov byte [esp + 0x28e], 0x57
mov byte [esp + 0x28f], 0xc5
mov byte [esp + 0x290], 0xa4
mov byte [esp + 0x291], 0xc7
mov byte [esp + 0x292], 0x64
mov byte [esp + 0x293], 0xc1
mov byte [esp + 0x294], 0x4b
mov byte [esp + 0x295], 0xc3
mov byte [esp + 0x296], 0x52
mov byte [esp + 0x297], 0x3d
mov byte [esp + 0x298], 0x9f
mov byte [esp + 0x299], 0x3f
mov byte [esp + 0x29a], 0xb3
mov byte [esp + 0x29b], 0x39
mov byte [esp + 0x29c], 0xb5
mov byte [esp + 0x29d], 0x3b
mov byte [esp + 0x29e], 0x5a
mov byte [esp + 0x29f], 0x35
mov byte [esp + 0x2a0], 0x63
mov byte [esp + 0x2a1], 0x37
mov byte [esp + 0x2a2], 0xa8
mov byte [esp + 0x2a3], 0x31
mov byte [esp + 0x2a4], 0x50
mov byte [esp + 0x2a5], 0x33
mov byte [esp + 0x2a6], 0x50
mov byte [esp + 0x2a7], 0x2d
mov byte [esp + 0x2a8], 0x2c
mov byte [esp + 0x2a9], 0x2f
mov eax, 0x3a
mov byte [esp + eax + 0x270], 0
add eax, 1
cmp eax, 0x3f
jne 0x695fb3
mov dword [esp + 0x108], 0
mov eax, dword [esp + 0x108]
cmp eax, 0x3f
jae 0x69601b
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x108]
movzx ecx, byte [esp + ecx + 0x270]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00699b50
mov ecx, dword [esp + 0x108]
mov byte [esp + ecx + 0x270], al
mov eax, dword [esp + 0x108]
inc eax
mov dword [esp + 0x108], eax
jmp 0x695fce
lea eax, [esp + 0x270]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0068f100
mov ecx, dword [esp + 0x2c]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0068f100
lea ecx, [esp + 0xa4]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0068f100
mov eax, dword [esp + 0x65c]
mov ecx, dword [esp + 0x660]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x49]
mov bl, al
and ebx, 1
mov dword [esp + 0x7dc], ebx
mov eax, dword [esp + 0x7e0]
mov ecx, dword [esp + 0x7dc]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esp + 0x38]
jmp eax
call fcn.0068df50
mov dword [esp + 0x8ac], 0
mov eax, dword [esp + 0x8b0]
mov ecx, dword [esp + 0x8ac]
mov eax, dword [eax + ecx*4]
mov edi, dword [esp + 0x30]
jmp eax
mov eax, dword [esp + 0x4ac]
mov ecx, dword [esp + 0x4b0]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0068df50
mov dword [esp + 0x6e4], 0
mov eax, dword [esp + 0x6e8]
mov ecx, dword [esp + 0x6e4]
mov eax, dword [eax + ecx*4]
jmp eax
xor eax, eax
mov cl, byte [esp + 0x4e]
mov al, cl
and eax, 1
mov dword [esp + 0x6b4], eax
mov eax, dword [esp + 0x6b8]
mov ecx, dword [esp + 0x6b4]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0068df50
mov dword [esp], ebx
call fcn.0068c590
mov dword [esp + 0x60c], 1
mov eax, dword [esp + 0x610]
mov ecx, dword [esp + 0x60c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0068df50
mov dword [esp + 0x6a4], 0
mov eax, dword [esp + 0x6a8]
mov ecx, dword [esp + 0x6a4]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0068df50
mov dword [esp + 0x534], 1
mov eax, dword [esp + 0x538]
mov ecx, dword [esp + 0x534]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0068df50
mov ecx, dword [esp + 0x304]
xor ecx, 1
mov edx, ebx
xor edx, 2
xor eax, eax
or ecx, edx
sete cl
mov dword [esp + 0x63c], 0
mov edx, dword [esp + 0x640]
mov esi, dword [esp + 0x63c]
mov edx, dword [edx + esi*4]
jmp edx
mov eax, dword [esp + 0x49c]
mov ecx, dword [esp + 0x4a0]
mov eax, dword [ecx + eax*4]
jmp eax
jnp 0x69624d
push esp
pop esp
mov eax, dword [esp + 0x3ec]
mov ecx, dword [esp + 0x3f0]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0068df50
mov dword [esp + 0x70c], 0
mov eax, dword [esp + 0x710]
mov ecx, dword [esp + 0x70c]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esp + 0x144]
jmp eax
call fcn.0068df50
mov dword [esp + 0x90c], 1
mov eax, dword [esp + 0x910]
or dword [eax], eax
add byte [ecx], al
add byte [eax], al
add byte [ebx + 0x9102484], cl
add byte [eax], al
mov ecx, dword [esp + 0x90c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0068df50
mov dword [esp + 0x7c4], 0
mov eax, dword [esp + 0x7c8]
mov ecx, dword [esp + 0x7c4]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0068df50
xor eax, eax
mov ecx, ebx
sub ecx, edi
setb cl
mov dword [esp + 0x84c], 1
mov edx, dword [esp + 0x850]
mov esi, dword [esp + 0x84c]
mov edx, dword [edx + esi*4]
jmp edx
call fcn.0068df50
mov dword [esp + 0x6c4], 1
mov eax, dword [esp + 0x6c8]
mov ecx, dword [esp + 0x6c4]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x160]
mov byte [esp + 0x214], al
mov byte [esp + 0x2c0], 0x76
mov byte [esp + 0x2c1], 0x5b
mov byte [esp + 0x2c2], 0xaa
mov byte [esp + 0x2c3], 0x59
mov byte [esp + 0x2c4], 0xad
mov byte [esp + 0x2c5], 0x5f
mov byte [esp + 0x2c6], 0x69
mov byte [esp + 0x2c7], 0x5d
mov byte [esp + 0x2c8], 0x5c
mov byte [esp + 0x2c9], 0x53
mov eax, 0xa
mov byte [esp + eax + 0x2c0], 0
add eax, 1
cmp eax, 0xd
jne 0x69633c
mov dword [esp + 0xf4], 0
mov eax, dword [esp + 0xf4]
cmp eax, 0xd
jae 0x6963a4
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0xf4]
movzx ecx, byte [esp + ecx + 0x2c0]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00699aa0
mov ecx, dword [esp + 0xf4]
mov byte [esp + ecx + 0x2c0], al
mov eax, dword [esp + 0xf4]
inc eax
mov dword [esp + 0xf4], eax
jmp 0x696357
lea eax, [esp + 0x2c0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.00699730
mov eax, dword [esp + 0x7d4]
mov ecx, dword [esp + 0x7d8]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x190]
mov byte [esp + 0x200], al
mov byte [esp + 0x120], 0xc0
mov byte [esp + 0x121], 0x31
mov eax, 2
mov byte [esp + eax + 0x120], 0
add eax, 1
cmp eax, 4
jne 0x6963f1
mov byte [esp + 0x37], dl
mov dword [esp + 0xe0], 0
mov eax, dword [esp + 0xe0]
cmp eax, 4
jae 0x69645d
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xe0]
movzx ecx, byte [esp + ecx + 0x120]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00699960
mov ecx, dword [esp + 0xe0]
mov byte [esp + ecx + 0x120], al
mov eax, dword [esp + 0xe0]
inc eax
mov dword [esp + 0xe0], eax
jmp 0x696410
lea eax, [esp + 0x120]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00684520
mov esi, eax
xor eax, eax
test esi, esi
setne al
mov dword [esp + 0x894], eax
mov eax, dword [esp + 0x898]
mov ecx, dword [esp + 0x894]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x8fc]
mov ecx, dword [esp + 0x900]
mov eax, dword [ecx + eax*4]
xor ebx, ebx
jmp eax
call fcn.0068df50
xor eax, eax
mov ecx, edi
sub ecx, 1
sete cl
mov dword [esp + 0x80c], 0
mov edx, dword [esp + 0x810]
mov esi, dword [esp + 0x80c]
mov edx, dword [edx + esi*4]
jmp edx
mov eax, dword [esp + 0x12c]
mov word [eax], 0
mov al, byte [esp + 0x16c]
mov byte [esp + 0x208], al
mov byte [esp + 0x170], 0x7d
mov byte [esp + 0x171], 0x19
mov byte [esp + 0x172], 0x4a
mov byte [esp + 0x173], 0x1f
mov byte [esp + 0x174], 0x59
mov byte [esp + 0x175], 0x1d
mov byte [esp + 0x176], 0x2f
mov byte [esp + 0x177], 0x63
mov byte [esp + 0x178], 0x30
mov byte [esp + 0x179], 0x61
mov byte [esp + 0x17a], 3
mov byte [esp + 0x17b], 0x67
mov byte [esp + 0x17c], 0x38
mov byte [esp + 0x17d], 0x65
mov byte [esp + 0x17e], 0x6a
mov byte [esp + 0x17f], 0x6b
mov eax, 0x10
mov byte [esp + eax + 0x170], 0
add eax, 1
cmp eax, 0x12
jne 0x6965d7
mov dword [esp + 0xe8], 0
mov eax, dword [esp + 0xe8]
cmp eax, 0x12
jae 0x69663f
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xe8]
movzx ecx, byte [esp + ecx + 0x170]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.006999d0
mov ecx, dword [esp + 0xe8]
mov byte [esp + ecx + 0x170], al
mov eax, dword [esp + 0xe8]
inc eax
mov dword [esp + 0xe8], eax
jmp 0x6965f2
lea eax, [esp + 0x170]
mov dword [esp + 4], eax
lea ebx, [esp + 0xa1c]
mov dword [esp], ebx
call fcn.0068f100
lea ecx, [esp + 0x9dc]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0068f100
mov edi, eax
sub edi, ebx
sar edi, 1
mov eax, dword [0x6cf750]
lea esi, [esp + 0x31c]
mov dword [esp + 0x14], esi
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp], 0
call eax
sub esp, 0x18
mov eax, dword [esp + 0x31c]
add eax, 4
add eax, eax
mov ecx, 0xffffffff
jb 0x6966bb
mov ecx, eax
mov dword [esp], ecx
call fcn.0068c580
mov edx, dword [0x6cf750]
mov ecx, dword [esp + 0x31c]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0xc], eax
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov dword [esp], 0
call edx
sub esp, 0x18
xor eax, eax
mov edi, dword [esp + 0xa0]
test edi, edi
sete al
mov dword [esp + 0x83c], eax
mov eax, dword [esp + 0x840]
mov ecx, dword [esp + 0x83c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x914]
mov ecx, dword [esp + 0x918]
mov eax, dword [ecx + eax*4]
xor ebx, ebx
jmp eax
mov eax, dword [esp + 0x58c]
mov ecx, dword [esp + 0x590]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x87c], 0
mov eax, dword [esp + 0x880]
mov ecx, dword [esp + 0x87c]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esp + 0x38]
jmp eax
call fcn.0068df50
mov dword [esp + 0x55c], 0
mov eax, dword [esp + 0x560]
mov ecx, dword [esp + 0x55c]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x794], eax
mov eax, dword [esp + 0x798]
mov ecx, dword [esp + 0x794]
mov eax, dword [eax + ecx*4]
jmp eax
insb byte es:[edi], dx
mov bl, 0xff
mov eax, dword [esp + 0x3f4]
mov ecx, dword [esp + 0x3f8]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x1a0]
mov byte [esp + 0x1f0], al
mov byte [esp + 0x330], 0xf
mov byte [esp + 0x331], 0x6b
mov eax, 2
mov byte [esp + eax + 0x330], 0
add eax, 1
cmp eax, 7
jne 0x6967f9
mov dword [esp + 0xd0], 0
mov eax, dword [esp + 0xd0]
cmp eax, 7
jae 0x696861
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xd0]
movzx ecx, byte [esp + ecx + 0x330]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00699890
mov ecx, dword [esp + 0xd0]
mov byte [esp + ecx + 0x330], al
mov eax, dword [esp + 0xd0]
inc eax
mov dword [esp + 0xd0], eax
jmp 0x696814
lea eax, [esp + 0x330]
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 8], 3
call fcn.006847a0
xor ecx, ecx
test eax, eax
sete cl
mov dword [esp + 0x8d4], ecx
mov eax, dword [esp + 0x8d8]
mov ecx, dword [esp + 0x8d4]
mov eax, dword [eax + ecx*4]
jmp eax
xor eax, eax
mov edx, dword [esp + 0xa0]
mov ecx, edx
sub ecx, 1
sete al
mov dword [esp + 0x71c], eax
mov eax, dword [esp + 0x720]
mov ecx, dword [esp + 0x71c]
mov eax, dword [eax + ecx*4]
mov edi, dword [esp + 0x30]
jmp eax
mov eax, dword [esp + 0x8b4]
mov ecx, dword [esp + 0x8b8]
mov eax, dword [ecx + eax*4]
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
jmp eax
mov eax, dword [esp + 0x38c]
mov ecx, dword [esp + 0x390]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x184]
mov byte [esp + 0x204], al
mov byte [esp + 0x188], 0x8c
mov byte [esp + 0x189], 0x8b
mov byte [esp + 0x18a], 0x88
mov byte [esp + 0x18b], 8
mov eax, 4
mov byte [esp + eax + 0x188], 0
add eax, 1
cmp eax, 5
jne 0x69692d
mov dword [esp + 0xe4], 0
mov eax, dword [esp + 0xe4]
cmp eax, 5
jae 0x696995
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe4]
movzx ecx, byte [esp + ecx + 0x188]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.006999a0
mov ecx, dword [esp + 0xe4]
mov byte [esp + ecx + 0x188], al
mov eax, dword [esp + 0xe4]
inc eax
mov dword [esp + 0xe4], eax
jmp 0x696948
mov eax, dword [esp + 0x188]
mov eax, dword [eax + 0x14]
mov dword [esp], eax
call fcn.0068cc00
call fcn.0068cc10
mov edi, eax
and edi, 0xf
or edi, 0x10
mov eax, dword [esp + 0x85c]
mov ecx, dword [esp + 0x860]
mov eax, dword [ecx + eax*4]
lea ecx, [esp + 0x9dc]
mov dword [esp + 0x12c], ecx
xor ebx, ebx
jmp eax
mov eax, dword [esp + 0x43c]
mov ecx, dword [esp + 0x440]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0068df50
mov dword [esp + 0x7cc], 1
mov eax, dword [esp + 0x7d0]
mov ecx, dword [esp + 0x7cc]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0068df50
mov dword [esp + 0x69c], 1
mov eax, dword [esp + 0x6a0]
mov ecx, dword [esp + 0x69c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0068df50
mov dword [esp + 0x47c], 1
mov eax, dword [esp + 0x480]
mov ecx, dword [esp + 0x47c]
mov eax, dword [eax + ecx*4]
jmp eax
xor eax, eax
sub edx, 2
sete al
mov dword [esp + 0x5d4], eax
mov eax, dword [esp + 0x5d8]
mov ecx, dword [esp + 0x5d4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x3c]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.006997c0
mov ebx, eax
mov eax, ebx
and eax, 1
shl eax, 1
xor ebx, 1
add ebx, eax
mov ecx, 2
mov eax, ebx
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x696ab1
mov ecx, eax
mov dword [esp], ecx
call fcn.0068c580
mov esi, dword [esp + 0x3c]
mov edi, esi
add edi, dword [esp + 0x124]
shl ebx, 1
mov dword [esp + 0x30c], eax
mov edx, eax
add edx, ebx
cmp edi, 0
jne 0x696ae8
mov dword [esp], esi
mov edi, edx
call fcn.0068c690
mov edx, edi
mov edi, esi
add edi, eax
mov dword [esp + 0x348], 0
mov ebx, dword [esp + 0x30c]
mov eax, edx
add eax, 0xfffffffe
mov ecx, ebx
sub ecx, eax
setb al
mov ecx, esi
sub ecx, edi
setb cl
and al, cl
test al, 1
jne 0x696b15
jmp 0x696b54
cmp byte [esi], 0
je 0x696b54
lea eax, [esp + 0x348]
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0x368], edx
call fcn.00690a70
mov edx, dword [esp + 0x368]
add esi, eax
mov eax, dword [esp + 0x348]
mov ecx, ebx
add ecx, 2
mov word [ebx], ax
mov ebx, ecx
jmp 0x696afa
mov word [ebx], 0
mov eax, dword [esp + 0x124]
add eax, 0x54b0f092
sub eax, 0x54b0f07a
add eax, 1
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x696b83
mov ecx, eax
mov dword [esp], ecx
call fcn.0068c580
mov esi, eax
mov al, byte [esp + 0x40]
mov byte [esp + 0x234], al
mov byte [esp + 0x50], 0x70
mov byte [esp + 0x51], 1
mov byte [esp + 0x52], 0x6d
mov byte [esp + 0x53], 3
mov byte [esp + 0x54], 0x73
mov byte [esp + 0x55], 5
mov byte [esp + 0x56], 0x63
mov byte [esp + 0x57], 7
mov byte [esp + 0x58], 0x7a
mov byte [esp + 0x59], 9
mov byte [esp + 0x5a], 0x79
mov byte [esp + 0x5b], 0xb
mov byte [esp + 0x5c], 0x64
mov byte [esp + 0x5d], 0xd
mov byte [esp + 0x5e], 0x6b
mov byte [esp + 0x5f], 0xf
mov byte [esp + 0x60], 0x7c
mov byte [esp + 0x61], 0x11
mov byte [esp + 0x62], 0x7e
mov byte [esp + 0x63], 0x13
mov byte [esp + 0x64], 0x34
mov byte [esp + 0x65], 0x15
mov byte [esp + 0x66], 0x3b
mov byte [esp + 0x67], 0x17
mov byte [esp + 0x68], 0x7d
mov byte [esp + 0x69], 0x19
mov byte [esp + 0x6a], 0x62
mov byte [esp + 0x6b], 0x1b
mov byte [esp + 0x6c], 0x79
mov byte [esp + 0x6d], 0x1d
mov byte [esp + 0x6e], 0x7d
mov byte [esp + 0x6f], 0x1f
mov byte [esp + 0x70], 0
mov byte [esp + 0x71], 0x21
mov byte [esp + 0x72], 0x40
mov byte [esp + 0x73], 0x23
mov byte [esp + 0x74], 0x5d
mov byte [esp + 0x75], 0x25
mov byte [esp + 0x76], 0x56
mov byte [esp + 0x77], 0x27
mov byte [esp + 0x78], 0x49
mov byte [esp + 0x79], 0x29
mov byte [esp + 0x7a], 0x59
mov byte [esp + 0x7b], 0x2b
mov byte [esp + 0x7c], 0x5f
mov byte [esp + 0x7d], 0x2d
mov byte [esp + 0x7e], 0xe
mov byte [esp + 0x7f], 0x2f
mov byte [esp + 0x80], 0x30
mov byte [esp + 0x81], 0x31
mov eax, 0x32
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x30c]
mov byte [esp + eax + 0x50], 0
add eax, 1
cmp eax, 0x38
jne 0x696ca8
mov dword [esp + 0x110], 0
mov eax, dword [esp + 0x110]
cmp eax, 0x38
jae 0x696d07
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x110]
movzx ecx, byte [esp + ecx + 0x50]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00699bc0
mov ecx, dword [esp + 0x110]
mov byte [esp + ecx + 0x50], al
mov eax, dword [esp + 0x110]
inc eax
mov dword [esp + 0x110], eax
jmp 0x696cc0
lea eax, [esp + 0x50]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0068f100
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.0068f100
mov dword [esp + 0x624], 0
mov eax, dword [esp + 0x628]
mov ecx, dword [esp + 0x624]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x164]
mov byte [esp + 0x210], al
mov byte [esp + 0x2d0], 0x1a
mov byte [esp + 0x2d1], 0x49
mov byte [esp + 0x2d2], 0xea
mov byte [esp + 0x2d3], 0x4f
mov byte [esp + 0x2d4], 0xd0
mov byte [esp + 0x2d5], 0x4d
mov byte [esp + 0x2d6], 0xde
mov byte [esp + 0x2d7], 0x43
mov byte [esp + 0x2d8], 0x40
mov byte [esp + 0x2d9], 0x41
mov eax, 0xa
mov ebx, dword [esp + 0x38]
mov byte [esp + eax + 0x2d0], 0
add eax, 1
cmp eax, 0x10
jne 0x696da8
mov dword [esp + 0xf0], 0
mov eax, dword [esp + 0xf0]
cmp eax, 0x10
jae 0x696e10
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf0]
movzx ecx, byte [esp + ecx + 0x2d0]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00699a60
mov ecx, dword [esp + 0xf0]
mov byte [esp + ecx + 0x2d0], al
mov eax, dword [esp + 0xf0]
inc eax
mov dword [esp + 0xf0], eax
jmp 0x696dc3
lea eax, [esp + 0x2d0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.00699730
mov eax, dword [esp + 0x7fc]
mov ecx, dword [esp + 0x800]
mov eax, dword [ecx + eax*4]
jmp eax
movzx eax, dl
and eax, 1
mov dword [esp + 0x89c], eax
mov eax, dword [esp + 0x8a0]
mov ecx, dword [esp + 0x89c]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esp + 0xa0]
mov esi, dword [esp + 0x148]
jmp eax
mov eax, dword [esp + 0x444]
mov ecx, dword [esp + 0x448]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x52c]
mov ecx, dword [esp + 0x530]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0068df50
mov dword [esp + 0x814], 0
mov eax, dword [esp + 0x818]
mov ecx, dword [esp + 0x814]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0068df50
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x77c], 0
mov ecx, dword [esp + 0x780]
mov edx, dword [esp + 0x77c]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [0x6cf748]
mov dword [esp], eax
mov dword [esp + 4], 0x46483752
call fcn.006c2380
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0x6a2cf0
mov dword [esp + 4], 0
mov dword [esp], 0
call eax
sub esp, 0x18
xor ecx, ecx
mov dword [esp + 0x138], eax
test eax, eax
setne cl
mov dword [esp + 0x584], ecx
mov eax, dword [esp + 0x588]
mov ecx, dword [esp + 0x584]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0068df50
mov dword [esp + 0x73c], 0
mov eax, dword [esp + 0x740]
mov ecx, dword [esp + 0x73c]
mov eax, dword [eax + ecx*4]
jmp eax
mov cl, al
and ecx, 1
mov dword [esp + 0x59c], ecx
mov eax, dword [esp + 0x5a0]
mov ecx, dword [esp + 0x59c]
mov eax, dword [eax + ecx*4]
jmp eax
add byte [ebx - 0x1f0077fc], cl
mov eax, dword [esp + 0x8cc]
mov ecx, dword [esp + 0x8d0]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0068df50
mov dword [esp + 0x834], 0
mov eax, dword [esp + 0x838]
mov ecx, dword [esp + 0x834]
mov eax, dword [eax + ecx*4]
mov esi, dword [esp + 0x12c]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x844], eax
mov eax, dword [esp + 0x848]
mov ecx, dword [esp + 0x844]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esi - 0x11], edi
and al, 0x6c
jmp 0x84f56bec
dec ecx
jp 0x696f98
wait
pop ds
xchg esi, eax
ljmp 0x2fc
cmp edi, dword [0x6cf754]
jb 0x6971fb
jmp 0x69724a
mov eax, dword [0x6cf758]
cmp dword [eax + edi*8], 0x625b6034
sete bl
test bl, 1
jne 0x697211
jmp 0x69723e
mov eax, dword [eax + edi*8 + 4]
cmp eax, esi
je 0x69723e
mov ecx, dword [0x6cf75c]
mov dword [esp], eax
mov dword [esp + 4], ecx
and al, 4
mov dword [esp + 8], 1
mov eax, dword [esp + 0x138]
mov dword [esp + 0xc], eax
call fcn.006bf5f0
test bl, 1
je 0x697245
jmp 0x69724a
add edi, 1
jmp 0x6971f1
call fcn.0068df50
call fcn.0068df50
mov eax, dword [esp + 0x3c4]
mov ecx, dword [esp + 0x3c8]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x8c4]
mov ecx, dword [esp + 0x8c8]
mov eax, dword [ecx + eax*4]
jmp eax
jle 0x697224
or eax, 0x258f10bd
cmp eax, 0x3c24448b
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.006997c0
mov ebx, eax
and ebx, 1
or eax, 1
add ebx, eax
mov ecx, 2
mov eax, ebx
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x6972ba
mov ecx, eax
mov dword [esp], ecx
call fcn.0068c580
mov edi, dword [esp + 0x3c]
mov esi, edi
add esi, dword [esp + 0x124]
shl ebx, 1
mov dword [esp + 0x308], eax
mov edx, eax
add edx, ebx
cmp esi, 0
jne 0x6972f1
mov dword [esp], edi
mov esi, edx
call fcn.0068c690
mov edx, esi
mov esi, edi
add esi, eax
mov dword [esp + 0x340], 0
mov ebx, dword [esp + 0x308]
mov eax, edx
add eax, 0xfffffffe
mov ecx, ebx
sub ecx, eax
setb al
mov ecx, edi
sub ecx, esi
setb cl
and al, cl
test al, 1
jne 0x69731e
jmp 0x69735d
cmp byte [edi], 0
je 0x69735d
lea eax, [esp + 0x340]
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp + 0x36c], edx
call fcn.00690a70
mov edx, dword [esp + 0x36c]
add edi, eax
mov eax, dword [esp + 0x340]
mov ecx, ebx
add ecx, 2
mov word [ebx], ax
mov ebx, ecx
jmp 0x697303
mov word [ebx], 0
mov eax, dword [esp + 0x124]
mov ecx, eax
and ecx, 0x18
shl ecx, 1
xor eax, 0x18
add eax, ecx
mov ecx, eax
and ecx, 1
shl ecx, 1
xor eax, 1
add eax, ecx
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x697397
mov ecx, eax
mov dword [esp], ecx
call fcn.0068c580
mov ebx, eax
mov al, byte [esp + 0x40]
mov byte [esp + 0x230], al
mov byte [esp + 0x50], 0x70
mov byte [esp + 0x51], 1
mov byte [esp + 0x52], 0x6d
mov byte [esp + 0x53], 3
mov byte [esp + 0x54], 0x73
mov byte [esp + 0x55], 5
mov byte [esp + 0x56], 0x63
mov byte [esp + 0x57], 7
mov byte [esp + 0x58], 0x7a
mov byte [esp + 0x59], 9
mov byte [esp + 0x5a], 0x79
mov byte [esp + 0x5b], 0xb
mov byte [esp + 0x5c], 0x64
mov byte [esp + 0x5d], 0xd
mov byte [esp + 0x5e], 0x6b
mov byte [esp + 0x5f], 0xf
mov byte [esp + 0x60], 0x7c
mov byte [esp + 0x61], 0x11
mov byte [esp + 0x62], 0x7e
mov byte [esp + 0x63], 0x13
mov byte [esp + 0x64], 0x34
mov byte [esp + 0x65], 0x15
mov byte [esp + 0x66], 0x3b
mov byte [esp + 0x67], 0x17
mov byte [esp + 0x68], 0x7d
mov byte [esp + 0x69], 0x19
mov byte [esp + 0x6a], 0x62
mov byte [esp + 0x6b], 0x1b
mov byte [esp + 0x6c], 0x79
mov byte [esp + 0x6d], 0x1d
mov byte [esp + 0x6e], 0x7d
mov byte [esp + 0x6f], 0x1f
mov byte [esp + 0x70], 0
mov byte [esp + 0x71], 0x21
mov byte [esp + 0x72], 0x40
mov byte [esp + 0x73], 0x23
mov byte [esp + 0x74], 0x5d
mov byte [esp + 0x75], 0x25
mov byte [esp + 0x76], 0x56
mov byte [esp + 0x77], 0x27
mov byte [esp + 0x78], 0x49
mov byte [esp + 0x79], 0x29
mov byte [esp + 0x7a], 0x59
mov byte [esp + 0x7b], 0x2b
mov byte [esp + 0x7c], 0x5f
mov byte [esp + 0x7d], 0x2d
mov byte [esp + 0x7e], 0xe
mov byte [esp + 0x7f], 0x2f
mov byte [esp + 0x80], 0x30
mov byte [esp + 0x81], 0x31
mov eax, 0x32
mov byte [esp + eax + 0x50], 0
add eax, 1
cmp eax, 0x38
jne 0x6974b1
mov dword [esp + 0x114], 0
mov eax, dword [esp + 0x114]
cmp eax, 0x38
jae 0x697510
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x114]
movzx ecx, byte [esp + ecx + 0x50]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00699bc0
mov ecx, dword [esp + 0x114]
mov byte [esp + ecx + 0x50], al
mov eax, dword [esp + 0x114]
inc eax
mov dword [esp + 0x114], eax
jmp 0x6974c9
lea eax, [esp + 0x50]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.0068f100
mov ecx, dword [esp + 0x308]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0068f100
mov eax, dword [esp + 0x3e4]
mov ecx, dword [esp + 0x3e8]
mov eax, dword [ecx + eax*4]
jmp eax
xor eax, eax
mov ecx, edx
sub ecx, 2
setl al
mov dword [esp + 0x5dc], eax
mov eax, dword [esp + 0x5e0]
mov ecx, dword [esp + 0x5dc]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esp + 0x2c]
jmp eax
mov al, byte [esp + 0x1a4]
mov byte [esp + 0x1ec], al
mov byte [esp + 0x2f0], 0xe6
mov byte [esp + 0x2f1], 0xd5
mov byte [esp + 0x2f2], 0x42
mov eax, 3
mov byte [esp + eax + 0x2f0], 0
add eax, 1
cmp eax, 8
jne 0x6975b7
mov dword [esp + 0xcc], 0
mov eax, dword [esp + 0xcc]
cmp eax, 8
jae 0x69761f
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xcc]
movzx ecx, byte [esp + ecx + 0x2f0]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00699860
mov ecx, dword [esp + 0xcc]
mov byte [esp + ecx + 0x2f0], al
mov eax, dword [esp + 0xcc]
inc eax
mov dword [esp + 0xcc], eax
jmp 0x6975d2
lea eax, [esp + 0x2f0]
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 8], 3
call fcn.006847a0
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x8dc], ecx
mov eax, dword [esp + 0x8e0]
mov ecx, dword [esp + 0x8dc]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x19c]
mov byte [esp + 0x1f4], al
mov byte [esp + 0x328], 0x95
mov byte [esp + 0x329], 0x19
mov eax, 2
mov byte [esp + eax + 0x328], 0
add eax, 1
cmp eax, 8
jne 0x69767e
mov dword [esp + 0xd4], 0
mov eax, dword [esp + 0xd4]
cmp eax, 8
jae 0x6976e6
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd4]
movzx ecx, byte [esp + ecx + 0x328]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.006998c0
mov ecx, dword [esp + 0xd4]
mov byte [esp + ecx + 0x328], al
mov eax, dword [esp + 0xd4]
inc eax
mov dword [esp + 0xd4], eax
jmp 0x697699
lea eax, [esp + 0x328]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.00684520
mov cl, byte [esp + 0x198]
mov byte [esp + 0x1f8], cl
mov byte [esp + 0xa8], 0x16
mov byte [esp + 0xa9], 0xe7
mov byte [esp + 0xaa], 0x7a
mov ecx, 3
mov byte [esp + ecx + 0xa8], 0
add ecx, 1
cmp ecx, 4
jne 0x697724
mov dword [esp + 0x140], eax
mov dword [esp + 0xd8], 0
mov eax, dword [esp + 0xd8]
cmp eax, 4
jae 0x697793
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xd8]
movzx ecx, byte [esp + ecx + 0xa8]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.006998f0
mov ecx, dword [esp + 0xd8]
mov byte [esp + ecx + 0xa8], al
mov eax, dword [esp + 0xd8]
inc eax
mov dword [esp + 0xd8], eax
jmp 0x697746
lea eax, [esp + 0xa8]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00684580
fnstcw word [esp + 0x12a]
movzx eax, word [esp + 0x12a]
or eax, 0xc00
mov word [esp + 0x26e], ax
fldcw word [esp + 0x26e]
fistp dword [esp + 0x388]
fldcw word [esp + 0x12a]
mov eax, dword [esp + 0x388]
mov dword [esp + 0xa0], eax
mov al, byte [esp + 0x194]
mov byte [esp + 0x1fc], al
mov byte [esp + 0x320], 0xbd
mov byte [esp + 0x321], 0x19
mov eax, 2
mov byte [esp + eax + 0x320], 0
add eax, 1
cmp eax, 5
jne 0x697808
mov dword [esp + 0xdc], 0
mov eax, dword [esp + 0xdc]
cmp eax, 5
jae 0x697870
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xdc]
movzx ecx, byte [esp + ecx + 0x320]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00699930
mov ecx, dword [esp + 0xdc]
mov byte [esp + ecx + 0x320], al
mov eax, dword [esp + 0xdc]
inc eax
mov dword [esp + 0xdc], eax
jmp 0x697823
mov dword [esp + 0x38], ebx
mov dword [esp + 0x30], edi
lea eax, [esp + 0x320]
mov dword [esp + 4], eax
mov dword [esp + 0x148], esi
mov dword [esp], esi
call fcn.00684580
fnstcw word [esp + 0x128]
movzx eax, word [esp + 0x128]
or eax, 0xc00
mov word [esp + 0x26c], ax
fldcw word [esp + 0x26c]
fistp dword [esp + 0x384]
fldcw word [esp + 0x128]
mov eax, dword [esp + 0x384]
mov dword [esp + 0x304], eax
lea esi, [esp + 0xa7c]
add esi, 0x800
mov edi, dword [esp + 0x140]
mov dword [esp], edi
call fcn.0068c690
mov edx, edi
mov edi, edx
add edi, eax
mov dword [esp + 0x358], 0
lea ebx, [esp + 0xa7c]
mov eax, esi
add eax, 0xfffffffe
mov ecx, ebx
sub ecx, eax
setb al
mov ecx, edx
sub ecx, edi
setb cl
and al, cl
test al, 1
jne 0x697920
jmp 0x69795f
cmp byte [edx], 0
je 0x69795f
lea eax, [esp + 0x358]
mov dword [esp], edx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0x140], edx
call fcn.00690a70
mov edx, dword [esp + 0x140]
add edx, eax
mov eax, dword [esp + 0x358]
mov ecx, ebx
add ecx, 2
mov word [ebx], ax
mov ebx, ecx
jmp 0x697905
call fcn.0068df50
call fcn.0068df50
mov word [ebx], 0
lea eax, [esp + 0x124]
mov dword [esp + 8], eax
lea eax, [esp + 0x3c]
mov dword [esp + 4], eax
lea eax, [esp + 0xa7c]
mov dword [esp], eax
call fcn.0068f140
movzx eax, al
mov dword [esp + 0x8bc], eax
mov eax, dword [esp + 0x8c0]
mov ecx, dword [esp + 0x8bc]
mov eax, dword [eax + ecx*4]
jmp eax
mov edi, ebx
add edi, 2
mov word [ebx], 0x2c
mov eax, dword [esp + 0x134]
shl eax, 1
mov esi, edi
add esi, eax
mov ebx, dword [esp + 0x318]
mov dword [esp], ebx
call fcn.0068c690
mov edx, ebx
add edx, eax
mov dword [esp + 0x34c], 0
mov eax, esi
add eax, 0xfffffffe
mov ecx, edi
sub ecx, eax
setb al
mov ecx, ebx
sub ecx, edx
setb cl
and al, cl
test al, 1
jne 0x6979fd
jmp 0x697a3c
cmp byte [ebx], 0
je 0x697a3c
lea eax, [esp + 0x34c]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0x360], edx
call fcn.00690a70
mov edx, dword [esp + 0x360]
add ebx, eax
mov eax, dword [esp + 0x34c]
mov ecx, edi
add ecx, 2
mov word [edi], ax
mov edi, ecx
jmp 0x6979e2
call fcn.0068df50
call fcn.0068df50
mov word [edi], 0
mov eax, dword [esp + 0x68c]
mov ecx, dword [esp + 0x690]
mov eax, dword [ecx + eax*4]
mov edi, dword [esp + 0x30]
jmp eax
call fcn.0068df50
mov dword [esp + 0x5bc], 1
mov eax, dword [esp + 0x5c0]
mov ecx, dword [esp + 0x5bc]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x4a]
mov bl, al
and ebx, 1
mov dword [esp + 0x664], ebx
mov eax, dword [esp + 0x668]
mov ecx, dword [esp + 0x664]
mov eax, dword [eax + ecx*4]
xor esi, esi
mov ebx, dword [esp + 0x38]
jmp eax
mov al, byte [esp + 0x158]
mov byte [esp + 0x218], al
mov byte [esp + 0x2b8], 0x16
mov byte [esp + 0x2b9], 0xe9
mov byte [esp + 0x2ba], 0x7a
mov eax, 3
mov byte [esp + eax + 0x2b8], 0
add eax, 1
cmp eax, 8
jne 0x697ad9
mov dword [esp + 0xf8], 0
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0xf8]
cmp eax, 8
jae 0x697b45
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xf8]
movzx ecx, byte [esp + ecx + 0x2b8]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00699ac0
mov ecx, dword [esp + 0xf8]
mov byte [esp + ecx + 0x2b8], al
mov eax, dword [esp + 0xf8]
inc eax
mov dword [esp + 0xf8], eax
jmp 0x697af8
lea eax, [esp + 0x2b8]
mov ecx, dword [esp + 0x148]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00684520
mov dword [esp + 0x144], eax
mov al, byte [esp + 0x154]
mov byte [esp + 0x21c], al
mov byte [esp + 0x2b0], 0x69
mov byte [esp + 0x2b1], 0x17
mov byte [esp + 0x2b2], 0xb6
mov eax, 3
mov byte [esp + eax + 0x2b0], 0
add eax, 1
cmp eax, 6
jne 0x697b91
mov dword [esp + 0xfc], 0
mov eax, dword [esp + 0xfc]
cmp eax, 6
jae 0x697bf9
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0xfc]
movzx ecx, byte [esp + ecx + 0x2b0]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00699ae0
mov ecx, dword [esp + 0xfc]
mov byte [esp + ecx + 0x2b0], al
mov eax, dword [esp + 0xfc]
inc eax
mov dword [esp + 0xfc], eax
jmp 0x697bac
lea eax, [esp + 0x2b0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x148]
mov dword [esp], eax
call fcn.00684520
mov ebx, eax
mov dword [esp], esi
call fcn.00699780
mov dword [esp + 0x314], eax
cmp dword [esp + 0x144], 0
setne al
mov byte [esp + 0x4e], al
movzx eax, al
mov dword [esp + 0x714], eax
mov eax, dword [esp + 0x718]
mov ecx, dword [esp + 0x714]
mov eax, dword [eax + ecx*4]
xor esi, esi
mov dword [esp + 0x318], ebx
jmp eax
call fcn.0068df50
mov dword [esp + 0x614], 1
mov eax, dword [esp + 0x618]
mov ecx, dword [esp + 0x614]
mov eax, dword [eax + ecx*4]
jmp eax
mov ah, 0x46
dec esi
sub word [ebx], dx
dec ebx
xlatb
mov dword [esp], esi
call fcn.0068c590
mov eax, dword [esp + 0x394]
mov ecx, dword [esp + 0x398]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esp], esi
call fcn.0068c690
mov ebx, esi
add ebx, eax
mov dword [esp], esi
mov dword [esp + 4], ebx
call fcn.006993c0
mov edi, eax
mov dword [esp + 0x380], edi
sub edi, 0x52728776
add edi, 1
add edi, 0x52728776
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x697d37
mov ecx, eax
mov dword [esp], ecx
call fcn.0068c580
shl edi, 1
mov dword [esp + 0x130], eax
mov edx, eax
add edx, edi
cmp ebx, 0
jne 0x697d61
mov dword [esp], esi
mov edi, edx
call fcn.0068c690
mov edx, edi
mov ebx, esi
add ebx, eax
mov dword [esp + 0x354], 0
mov edi, esi
mov esi, dword [esp + 0x130]
mov eax, edx
add eax, 0xfffffffe
mov ecx, esi
sub ecx, eax
setb al
mov ecx, edi
sub ecx, ebx
setb cl
and al, cl
test al, 1
jne 0x697d90
jmp 0x697dcf
cmp byte [edi], 0
je 0x697dcf
lea eax, [esp + 0x354]
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0x370], edx
call fcn.00690a70
mov edx, dword [esp + 0x370]
add edi, eax
mov eax, dword [esp + 0x354]
mov ecx, esi
add ecx, 2
mov word [esi], ax
mov esi, ecx
jmp 0x697d75
call fcn.0068df50
call fcn.0068df50
mov word [esi], 0
mov eax, dword [0x6cf750]
lea esi, [esp + 0x11c]
mov dword [esp + 0x14], esi
mov ebx, dword [esp + 0x380]
mov dword [esp + 8], ebx
mov ecx, dword [esp + 0x130]
mov dword [esp + 4], ecx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp], 0
call eax
sub esp, 0x18
mov ecx, dword [esp + 0x11c]
add ecx, ecx
mov eax, 0xffffffff
jb 0x697e32
mov eax, ecx
mov dword [esp], eax
call fcn.0068c580
mov edi, eax
mov eax, dword [0x6cf750]
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edi
mov dword [esp + 8], ebx
mov ecx, dword [esp + 0x130]
mov dword [esp + 4], ecx
mov dword [esp], 0
call eax
sub esp, 0x18
mov dword [esp + 0x884], 1
mov eax, dword [esp + 0x888]
mov ecx, dword [esp + 0x884]
mov eax, dword [eax + ecx*4]
mov esi, dword [esp + 0x310]
jmp eax
mov eax, dword [esp + 0x604]
mov ecx, dword [esp + 0x608]
mov eax, dword [ecx + eax*4]
jmp eax
lea eax, [esp + 0x954]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x44
call fcn.0068c600
mov dword [esp + 0x954], 0x44
mov eax, dword [0x6cf748]
mov dword [esp], eax
mov dword [esp + 4], 0xc9be8534
call fcn.006c2380
cmp eax, 0
setne cl
test cl, 1
jne 0x697f16
test cl, 1
jne 0x697f1d
xor eax, eax
lea ecx, [esp + 0x934]
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x954]
mov dword [esp + 0x20], ecx
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
call eax
sub esp, 0x28
xor ecx, ecx
test eax, eax
setne al
mov dword [esp + 0x5a4], 0
mov edx, dword [esp + 0x5a8]
mov esi, dword [esp + 0x5a4]
mov edx, dword [edx + esi*4]
mov esi, dword [esp + 0x118]
jmp edx
lea eax, [esp + 0x998]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x44
call fcn.0068c600
mov dword [esp + 0x998], 0x44
mov eax, dword [0x6cf748]
mov dword [esp], eax
mov dword [esp + 4], 0xc9be8534
call fcn.006c2380
cmp eax, 0
setne cl
test cl, 1
jne 0x697fe7
test cl, 1
jne 0x697fee
xor eax, eax
lea ecx, [esp + 0x944]
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x998]
mov dword [esp + 0x20], ecx
mov dword [esp + 4], esi
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x8000000
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], 0
call eax
sub esp, 0x28
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x54c], ecx
mov eax, dword [esp + 0x550]
mov ecx, dword [esp + 0x54c]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x4fc], eax
mov eax, dword [esp + 0x500]
mov ecx, dword [esp + 0x4fc]
mov eax, dword [eax + ecx*4]
mov esi, dword [esp + 0x118]
jmp eax
call fcn.0068df50
mov dword [esp + 0x57c], 0
mov eax, dword [esp + 0x580]
mov ecx, dword [esp + 0x57c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x3c]
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x524], ecx
mov ecx, dword [esp + 0x528]
mov edx, dword [esp + 0x524]
mov ecx, dword [ecx + edx*4]
jmp ecx
invalid
call fcn.0068df50
mov dword [esp], ebx
call fcn.0068c690
mov esi, eax
inc esi
mov dword [esp + 0x704], 1
mov eax, dword [esp + 0x708]
mov ecx, dword [esp + 0x704]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x56c]
mov ecx, dword [esp + 0x570]
mov eax, dword [ecx + eax*4]
jmp eax
xor ebx, ebx
test esi, esi
sete byte [esp + 0x4b]
mov eax, dword [esp + 0x4dc]
mov ecx, dword [esp + 0x4e0]
mov eax, dword [ecx + eax*4]
jmp eax
or ebp, dword [ecx]
lodsd eax, dword [esi]
sbb eax, 0xe8241c89
sbb al, byte [edi + edi*8 - 1]
mov eax, dword [esp + 0x3dc]
mov ecx, dword [esp + 0x3e0]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x4b]
mov bl, al
and ebx, 1
mov dword [esp + 0x4c4], ebx
mov eax, dword [esp + 0x4c8]
mov ecx, dword [esp + 0x4c4]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esp + 0x38]
jmp eax
das
mov ebx, 0x848b2760
and al, 0x54
add al, 0
add byte [ebx + 0x458248c], cl
add byte [eax], al
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x424]
mov ecx, dword [esp + 0x428]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0068df50
mov dword [esp + 0x88c], 0
mov eax, dword [esp + 0x890]
mov ecx, dword [esp + 0x88c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x310], esi
jmp eax
xor eax, eax
sub eax, dword [esp + 0x314]
mov ecx, 9
sub ecx, eax
add ecx, esi
xor edx, edx
sub edx, ecx
xor eax, eax
sub eax, dword [esp + 0x134]
add edx, eax
xor eax, eax
sub eax, edx
sub eax, 0xffffffff
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x69826d
mov ecx, eax
mov dword [esp], ecx
call fcn.0068c580
mov dword [esp + 0x118], eax
mov al, byte [esp + 0x44]
mov byte [esp + 0x224], al
mov byte [esp + 0x88], 0xa2
mov byte [esp + 0x89], 0x3b
mov byte [esp + 0x8a], 0xa1
mov byte [esp + 0x8b], 0x39
mov byte [esp + 0x8c], 0xaa
mov byte [esp + 0x8d], 0x27
mov byte [esp + 0x8e], 0x8a
mov byte [esp + 0x8f], 0x25
mov byte [esp + 0x90], 0xb0
mov byte [esp + 0x91], 0x23
mov byte [esp + 0x92], 0xb6
mov byte [esp + 0x93], 0x21
mov byte [esp + 0x94], 0xfd
mov byte [esp + 0x95], 0x2f
mov byte [esp + 0x96], 0xf0
mov byte [esp + 0x97], 0x2d
mov byte [esp + 0x98], 0x2c
mov byte [esp + 0x99], 0x2b
mov eax, 0x12
mov byte [esp + eax + 0x88], 0
add eax, 1
cmp eax, 0x18
jne 0x69831c
mov dword [esp + 0x100], 0
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x100]
cmp eax, 0x18
jae 0x698388
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x100]
movzx ecx, byte [esp + ecx + 0x88]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00699b20
mov ecx, dword [esp + 0x100]
mov byte [esp + ecx + 0x88], al
mov eax, dword [esp + 0x100]
inc eax
mov dword [esp + 0x100], eax
jmp 0x69833b
lea eax, [esp + 0x88]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x118]
mov dword [esp], eax
call fcn.0068f100
mov word [eax], 0x20
mov ecx, eax
add ecx, 4
mov word [eax + 2], 0x22
mov dword [esp + 4], ebx
mov dword [esp], ecx
call fcn.0068f100
mov ebx, eax
add ebx, 2
mov word [eax], 0x22
mov dword [esp + 0x6dc], 1
mov eax, dword [esp + 0x6e0]
mov ecx, dword [esp + 0x6dc]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x404]
mov ecx, dword [esp + 0x408]
mov eax, dword [ecx + eax*4]
jmp eax
movsb byte es:[edi], byte [esi]
sub dword ss:[edx - 0x4f5b9031], 0xffffff89
xor al, 0x24
call fcn.0068c690
mov ebx, esi
add ebx, eax
mov dword [esp], esi
mov dword [esp + 4], ebx
call fcn.006993c0
mov edi, eax
mov dword [esp + 0x37c], edi
add edi, 0x5f9a15a0
add edi, 1
sub edi, 0x5f9a15a0
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x698449
mov ecx, eax
mov dword [esp], ecx
call fcn.0068c580
shl edi, 1
mov dword [esp + 0x13c], eax
mov edx, eax
add edx, edi
cmp ebx, 0
jne 0x698473
mov dword [esp], esi
mov edi, edx
call fcn.0068c690
mov edx, edi
mov ebx, esi
add ebx, eax
mov dword [esp + 0x344], 0
mov edi, esi
mov esi, dword [esp + 0x13c]
mov eax, edx
add eax, 0xfffffffe
mov ecx, esi
sub ecx, eax
setb al
mov ecx, edi
sub ecx, ebx
setb cl
and al, cl
test al, 1
jne 0x6984a2
jmp 0x6984e1
cmp byte [edi], 0
je 0x6984e1
lea eax, [esp + 0x344]
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0x374], edx
call fcn.00690a70
mov edx, dword [esp + 0x374]
add edi, eax
mov eax, dword [esp + 0x344]
mov ecx, esi
add ecx, 2
mov word [esi], ax
mov esi, ecx
jmp 0x698487
call fcn.0068df50
call fcn.0068df50
mov word [esi], 0
mov eax, dword [0x6cf750]
lea esi, [esp + 0x11c]
mov dword [esp + 0x14], esi
mov edi, dword [esp + 0x37c]
mov dword [esp + 8], edi
mov ecx, dword [esp + 0x13c]
mov dword [esp + 4], ecx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp], 0
call eax
sub esp, 0x18
mov ecx, dword [esp + 0x11c]
add ecx, ecx
mov eax, 0xffffffff
jb 0x698544
mov eax, ecx
mov dword [esp], eax
call fcn.0068c580
mov ecx, dword [0x6cf750]
mov edx, dword [esp + 0x11c]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
mov dword [esp + 8], edi
mov eax, dword [esp + 0x13c]
mov dword [esp + 4], eax
mov dword [esp], 0
and al, 0x3c
add dword [eax], eax
add byte [ecx - 0x38fbdbbc], cl
add al, 0x24
add byte [eax], al
add byte [eax], al
call ecx
sub esp, 0x18
mov eax, dword [esp + 0x45c]
mov ecx, dword [esp + 0x460]
mov eax, dword [ecx + eax*4]
mov esi, dword [esp + 0x310]
jmp eax
and bl, 1
movzx eax, bl
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0068df50
mov dword [esp + 0x62c], 1
mov eax, dword [esp + 0x630]
mov ecx, dword [esp + 0x62c]
mov eax, dword [eax + ecx*4]
jmp eax
outsd dx, dword [esi]
je 0x69856b
push 0xffffffffffffff8d
test byte [esp + edx*2], ah
or dword [eax], eax
add byte [ecx], dh
leave
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x44
call fcn.0068c600
mov dword [esp + 0x954], 0x44
mov eax, dword [0x6cf748]
mov dword [esp], eax
mov dword [esp + 4], 0xc9be8534
call fcn.006c2380
cmp eax, 0
setne cl
test cl, 1
jne 0x69861b
test cl, 1
jne 0x698622
xor eax, eax
lea ecx, [esp + 0x934]
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x954]
mov dword [esp + 0x20], ecx
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
call eax
sub esp, 0x28
mov eax, dword [esp + 0x3cc]
mov ecx, dword [esp + 0x3d0]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x474]
mov ecx, dword [esp + 0x478]
mov eax, dword [ecx + eax*4]
jmp eax
cdq
fiadd word [ebx + 0x4e]
mov eax, dword [esp + 0x46c]
mov ecx, dword [esp + 0x470]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.006bc6c0
mov dword [esp + 0x3c], 0
not edi
shr edi, 0x1f
mov dword [esp + 0x72c], edi
mov eax, dword [esp + 0x730]
mov ecx, dword [esp + 0x72c]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esp], eax
call fcn.006bc6c0
mov eax, dword [esp + 0x51c]
mov ecx, dword [esp + 0x520]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0068df50
mov dword [esp + 0x53c], 0
mov eax, dword [esp + 0x540]
mov ecx, dword [esp + 0x53c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0068df50
cmp dword [esp + 0x304], 0
sete dl
mov dword [esp + 0x8a4], 1
mov eax, dword [esp + 0x8a8]
mov ecx, dword [esp + 0x8a4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, edx
xor ebx, ebx
sub eax, 2
sete byte [esp + 0x4a]
mov eax, dword [esp + 0x67c]
mov ecx, dword [esp + 0x680]
mov eax, dword [ecx + eax*4]
jmp eax
xor eax, eax
mov cl, byte [esp + 0x4f]
mov al, cl
and eax, 1
mov dword [esp + 0x694], eax
mov eax, dword [esp + 0x698]
mov ecx, dword [esp + 0x694]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0068df50
mov dword [esp + 0x2fc], 0xffffffff
mov dword [esp + 0x2f8], 0xb8797400
mov al, byte [esp + 0x244]
mov byte [esp + 0x250], al
mov byte [esp + 0x248], 0xb
mov byte [esp + 0x249], 0xa
mov byte [esp + 0x24a], 0x75
mov byte [esp + 0x24b], 0x74
mov eax, 4
mov byte [esp + eax + 0x248], 0
add eax, 1
cmp eax, 5
jne 0x69881f
mov dword [esp + 0xc4], 0
mov eax, dword [esp + 0xc4]
cmp eax, 5
jae 0x698887
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc4]
movzx ecx, byte [esp + ecx + 0x248]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00699800
mov ecx, dword [esp + 0xc4]
mov byte [esp + ecx + 0x248], al
mov eax, dword [esp + 0xc4]
inc eax
mov dword [esp + 0xc4], eax
jmp 0x69883a
mov edi, dword [esp + 0x248]
xor ebx, ebx
cmp ebx, dword [0x6cf754]
jb 0x69889a
jmp 0x698906
mov eax, dword [0x6cf758]
cmp dword [eax + ebx*8], 0x7e28bda7
sete cl
test cl, 1
jne 0x6988b0
jmp 0x6988fa
mov eax, dword [eax + ebx*8 + 4]
cmp eax, edi
je 0x6988fa
mov byte [esp + 0x4d], cl
mov ecx, dword [0x6cf75c]
xor edx, edx
lea edx, [esp + 0x2f8]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 3
mov eax, dword [esp + 0x138]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], edx
call fcn.006bf5f0
mov cl, byte [esp + 0x4d]
test cl, 1
je 0x698901
jmp 0x698906
add ebx, 1
jmp 0x698890
mov al, byte [esp + 0x1c4]
mov byte [esp + 0x260], al
mov byte [esp + 0x1c8], 0xb
mov byte [esp + 0x1c9], 0xa
mov byte [esp + 0x1ca], 0x75
mov byte [esp + 0x1cb], 0x74
mov eax, 4
mov ebx, dword [esp + 0x2c]
mov byte [esp + eax + 0x1c8], 0
add eax, 1
cmp eax, 5
jne 0x69893d
mov dword [esp + 0xb4], 0
mov eax, dword [esp + 0xb4]
cmp eax, 5
jae 0x6989a5
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb4]
movzx ecx, byte [esp + ecx + 0x1c8]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00699800
mov ecx, dword [esp + 0xb4]
mov byte [esp + ecx + 0x1c8], al
mov eax, dword [esp + 0xb4]
inc eax
mov dword [esp + 0xb4], eax
jmp 0x698958
mov esi, dword [esp + 0x1c8]
xor edi, edi
cmp edi, dword [0x6cf754]
jb 0x6989b8
jmp 0x698a0f
mov eax, dword [0x6cf758]
cmp dword [eax + edi*8], 0x625b6034
sete bl
test bl, 1
jne 0x6989ce
jmp 0x6989fb
mov eax, dword [eax + edi*8 + 4]
cmp eax, esi
je 0x6989fb
mov ecx, dword [0x6cf75c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov eax, dword [esp + 0x138]
mov dword [esp + 0xc], eax
call fcn.006bf5f0
test bl, 1
je 0x698a06
mov ebx, dword [esp + 0x2c]
jmp 0x698a0f
add edi, 1
mov ebx, dword [esp + 0x2c]
jmp 0x6989ae
call fcn.0068df50
call fcn.0068df50
mov dword [esp + 0x574], 1
mov eax, dword [esp + 0x578]
mov ecx, dword [esp + 0x574]
mov eax, dword [eax + ecx*4]
mov edi, dword [esp + 0x30]
jmp eax
mov eax, dword [esp + 0x5f4]
mov ecx, dword [esp + 0x5f8]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x2c], 0
jmp eax
call fcn.0068df50
mov dword [esp + 0x91c], 0
mov eax, dword [esp + 0x920]
mov ecx, dword [esp + 0x91c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0068df50
mov dword [esp + 0x904], 0
mov eax, dword [esp + 0x908]
mov ecx, dword [esp + 0x904]
mov eax, dword [eax + ecx*4]
jmp eax
mov byte [esp + 0x37], dl
call fcn.0068df50
mov dword [esp + 0x644], 1
mov eax, dword [esp + 0x648]
mov ecx, dword [esp + 0x644]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esp + 0x6d4], 0
mov eax, dword [esp + 0x6d8]
mov ecx, dword [esp + 0x6d4]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0068df50
mov dword [esp + 0x7e4], 0
mov eax, dword [esp + 0x7e8]
mov ecx, dword [esp + 0x7e4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x130]
mov dword [esp], eax
call fcn.0068c590
mov eax, dword [esp + 0x874]
mov ecx, dword [esp + 0x878]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0068df50
call fcn.0068cc10
mov ecx, eax
mov edx, 0x38e38e39
mov eax, ecx
imul edx
mov eax, edx
shr eax, 0x1f
sar edx, 3
add edx, eax
shl edx, 2
lea eax, [edx + edx*8]
neg eax
movsx ecx, byte [ecx + eax + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov eax, esi
add eax, 2
mov word [esi], cx
mov ecx, ebx
inc ecx
mov dword [esp + 0x82c], 0
mov edx, dword [esp + 0x830]
mov esi, dword [esp + 0x82c]
mov edx, dword [edx + esi*4]
mov esi, dword [esp + 0x12c]
jmp edx
inc ebp
inc eax
int 0x52
dec eax
xchg ch, bh
out dx, al
mov eax, dword [esp + 0x434]
mov ecx, dword [esp + 0x438]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0068df50
xor eax, eax
test ebx, ebx
sete cl
mov dword [esp + 0x504], 1
mov edx, dword [esp + 0x508]
mov esi, dword [esp + 0x504]
mov edx, dword [edx + esi*4]
jmp edx
mov eax, dword [esp + 0x734]
mov ecx, dword [esp + 0x738]
mov eax, dword [ecx + eax*4]
jmp eax
xor eax, eax
mov cl, byte [esp + 0x37]
mov al, cl
and eax, 1
mov dword [esp + 0x5b4], eax
mov eax, dword [esp + 0x5b8]
mov ecx, dword [esp + 0x5b4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x684]
mov ecx, dword [esp + 0x688]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x2c], 0
mov dword [esp + 0xa0], 0
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x118]
jmp eax
mov eax, dword [esp + 0x7bc]
mov ecx, dword [esp + 0x7c0]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x494]
mov ecx, dword [esp + 0x498]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x168]
mov byte [esp + 0x20c], al
mov byte [esp + 0x2e0], 0xbe
mov byte [esp + 0x2e1], 0x61
mov byte [esp + 0x2e2], 0xc7
mov byte [esp + 0x2e3], 0x63
mov byte [esp + 0x2e4], 0xec
mov byte [esp + 0x2e5], 0x65
mov byte [esp + 0x2e6], 0xc3
mov byte [esp + 0x2e7], 0x67
mov byte [esp + 0x2e8], 0x58
mov byte [esp + 0x2e9], 0x59
mov eax, 0xa
mov byte [esp + eax + 0x2e0], 0
add eax, 1
cmp eax, 0x10
jne 0x698ccf
mov dword [esp + 0xec], 0
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0xec]
cmp eax, 0x10
jae 0x698d3b
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xec]
movzx ecx, byte [esp + ecx + 0x2e0]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00699a20
mov ecx, dword [esp + 0xec]
mov byte [esp + ecx + 0x2e0], al
mov eax, dword [esp + 0xec]
inc eax
mov dword [esp + 0xec], eax
jmp 0x698cee
lea eax, [esp + 0x2e0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.00699730
mov eax, dword [esp + 0x81c]
mov ecx, dword [esp + 0x820]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x39c]
mov ecx, dword [esp + 0x3a0]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0068df50
mov dword [esp + 0x564], 0
mov eax, dword [esp + 0x568]
mov ecx, dword [esp + 0x564]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x4e4]
mov ecx, dword [esp + 0x4e8]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x41c]
mov ecx, dword [esp + 0x420]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0068df50
mov dword [esp + 0x924], 1
mov eax, dword [esp + 0x928]
mov ecx, dword [esp + 0x924]
mov eax, dword [eax + ecx*4]
jmp eax
inc eax
out dx, eax
add al, 0xaa
jne 0x698ed0
cdq
pop es
mov dword [esp], ebx
call fcn.0068c590
mov eax, dword [esp + 0x3a4]
mov ecx, dword [esp + 0x3a8]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x314]
add eax, 0xfb971776
sub eax, 0xfb97176d
add eax, esi
add eax, dword [esp + 0x134]
sub eax, 0xffffffff
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
mov ebx, dword [esp + 0x2c]
jne 0x698ea7
mov ecx, eax
mov dword [esp], ecx
call fcn.0068c580
mov edi, eax
mov al, byte [esp + 0x44]
mov byte [esp + 0x220], al
mov byte [esp + 0x88], 0xa2
mov byte [esp + 0x89], 0x3b
mov byte [esp + 0x8a], 0xa1
mov byte [esp + 0x8b], 0x39
add byte [eax], al
add byte [ecx - 0x74db7b3a], ah
add byte [eax], al
add byte [ecx], bh
mov byte [esp + 0x8c], 0xaa
mov byte [esp + 0x8d], 0x27
mov byte [esp + 0x8e], 0x8a
mov byte [esp + 0x8f], 0x25
mov byte [esp + 0x90], 0xb0
mov byte [esp + 0x91], 0x23
mov byte [esp + 0x92], 0xb6
mov byte [esp + 0x93], 0x21
mov byte [esp + 0x94], 0xfd
mov byte [esp + 0x95], 0x2f
mov byte [esp + 0x96], 0xf0
mov byte [esp + 0x97], 0x2d
mov byte [esp + 0x98], 0x2c
mov byte [esp + 0x99], 0x2b
mov eax, 0x12
mov byte [esp + eax + 0x88], 0
add eax, 1
cmp eax, 0x18
jne 0x698f51
mov dword [esp + 0x104], 0
mov eax, dword [esp + 0x104]
cmp eax, 0x18
jae 0x698fb9
mov eax, dword [esp + 0x104]
mov ecx, dword [esp + 0x104]
movzx ecx, byte [esp + ecx + 0x88]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00699b20
mov ecx, dword [esp + 0x104]
mov byte [esp + ecx + 0x88], al
mov eax, dword [esp + 0x104]
inc eax
mov dword [esp + 0x104], eax
jmp 0x698f6c
lea eax, [esp + 0x88]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.0068f100
mov word [eax], 0x20
mov ecx, eax
add ecx, 4
mov word [eax + 2], 0x22
mov dword [esp + 4], ebx
mov dword [esp], ecx
call fcn.0068f100
mov word [eax], 0x22
mov eax, dword [esp + 0x40c]
mov ecx, dword [esp + 0x410]
mov eax, dword [ecx + eax*4]
mov edi, dword [esp + 0x30]
jmp eax
call fcn.0068df50
mov dword [esp + 0x6bc], 0
mov eax, dword [esp + 0x6c0]
mov ecx, dword [esp + 0x6bc]
mov eax, dword [eax + ecx*4]
jmp eax
mov edx, dword [esp + 0x824]
mov esi, dword [esp + 0x828]
mov edx, dword [esi + edx*4]
mov ebx, ecx
mov dword [esp + 0x12c], eax
jmp edx
mov eax, dword [esp + 0x654]
mov ecx, dword [esp + 0x658]
mov ecx, dword [ecx + eax*4]
xor eax, eax
jmp ecx
mov eax, dword [esp + 0x724]
mov ecx, dword [esp + 0x728]
mov ecx, dword [ecx + eax*4]
mov eax, 4
xor esi, esi
mov edi, dword [esp + 0x30]
jmp ecx
call fcn.0068df50
mov dword [esp + 0x5ac], 0
mov eax, dword [esp + 0x5b0]
mov ecx, dword [esp + 0x5ac]
mov eax, dword [eax + ecx*4]
jmp eax
mov esi, dword [esp + 0x124]
mov eax, dword [esp + 0x78c]
mov ecx, dword [esp + 0x790]
mov eax, dword [ecx + eax*4]
jmp eax
lea eax, [esp + 0x15c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
mov dword [esp + 0x18], 0x80
mov dword [esp + 0x14], 0x60
mov dword [esp + 0x10], 5
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x100002
call fcn.006c2d00
mov eax, dword [esp + 0x42c]
mov ecx, dword [esp + 0x430]
mov eax, dword [ecx + eax*4]
jmp eax
sub dword [ecx + 0x2767a932], edx
jp 0x69911d
mov dword [esp], ebx
call fcn.0068c690
mov eax, dword [esp + 0x414]
mov ecx, dword [esp + 0x418]
mov eax, dword [ecx + eax*4]
jmp eax
mov word [eax + ebx], fs
add al, 0
add byte [ebx - 0x1f007efc], cl
mov dword [esp], edi
mov dword [esp + 4], ebx
call fcn.00684810
mov esi, eax
mov al, byte [esp + 0x1a8]
mov byte [esp + 0x1e8], al
mov byte [esp + 0x338], 0x87
mov byte [esp + 0x339], 0xb
mov eax, 2
mov byte [esp + eax + 0x338], 0
add eax, 1
cmp eax, 8
jne 0x699159
mov dword [esp + 0xc8], 0
mov eax, dword [esp + 0xc8]
cmp eax, 8
jae 0x6991c1
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xc8]
movzx ecx, byte [esp + ecx + 0x338]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00699830
mov ecx, dword [esp + 0xc8]
mov byte [esp + ecx + 0x338], al
mov eax, dword [esp + 0xc8]
inc eax
mov dword [esp + 0xc8], eax
jmp 0x699174
lea eax, [esp + 0x338]
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 8], 2
call fcn.006847a0
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x8e4], ecx
mov eax, dword [esp + 0x8e8]
mov ecx, dword [esp + 0x8e4]
mov eax, dword [eax + ecx*4]
jmp eax
xor eax, eax
test edx, edx
sete al
mov dword [esp + 0x5cc], eax
mov eax, dword [esp + 0x5d0]
mov ecx, dword [esp + 0x5cc]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esp + 0x2c]
jmp eax
mov eax, dword [esp + 0x554]
mov ecx, dword [esp + 0x558]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, 0xad5341d4
mov dword [0xcee822de], eax
cmp edi, edi
dec dword [ecx - 0x71c6453f]
jecxz 0x699281
mov eax, ecx
imul edx
mov eax, edx
shr eax, 0x1f
sar edx, 3
add edx, eax
shl edx, 2
lea eax, [edx + edx*8]
neg eax
movsx eax, byte [ecx + eax + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov word [esi], ax
mov eax, dword [esp + 0x44c]
mov ecx, dword [esp + 0x450]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0068df50
mov dword [esp + 0x4f4], 1
mov eax, dword [esp + 0x4f8]
inc edi
test byte [esp + esi*8], ah
add al, 0
add byte [ecx], al
add byte [eax], al
add byte [ebx + 0x4f82484], cl
add byte [eax], al
mov ecx, dword [esp + 0x4f4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x3d4]
mov ecx, dword [esp + 0x3d8]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x804], eax
mov eax, dword [esp + 0x808]
mov ecx, dword [esp + 0x804]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0068df50
mov dword [esp + 0x4cc], 0
mov eax, dword [esp + 0x4d0]
mov ecx, dword [esp + 0x4cc]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [esp + 0x774]
mov edx, dword [esp + 0x778]
mov ecx, dword [edx + ecx*4]
jmp ecx
xor ebx, ebx
mov eax, dword [esp + 0xa0]
sub eax, 2
sete byte [esp + 0x49]
mov eax, dword [esp + 0x7f4]
mov ecx, dword [esp + 0x7f8]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x6fc]
mov ecx, dword [esp + 0x700]
mov eax, dword [ecx + eax*4]
mov ebx, dword [esp + 0x318]
jmp eax
mov dword [esp + 0x61c], 0
mov eax, dword [esp + 0x620]
mov ecx, dword [esp + 0x61c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x3ac]
mov ecx, dword [esp + 0x3b0]
mov eax, dword [ecx + eax*4]
jmp eax
cmp byte [ecx], ch
and bh, byte [edx]
imul eax, dword [eax], case.0x693a1b.3
xchg edx, eax
cmp al, 105
add byte [ecx], ah
cmp dword [ecx], ebp
cmp byte [ecx], ch
and dword [ecx], edi
imul eax, dword [eax], case.0x693a1b.6
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
xchg edx, eax
cmp al, 105
add byte [ecx], al
add byte [eax], al
add byte [eax + 0x200693c], bl
dec eax
imul eax, dword [eax], case.0x693a1b.15
out 0x49, eax
imul eax, dword [eax], case.0x693a1b.15
add cl, byte [eax + 0x69]
add byte [eax + ecx*2], cl
imul eax, dword [eax], case.0x693a1b.20
xor byte [eax + 0x69], cl
add byte [eax], dh
dec eax
imul eax, dword [eax], case.0x693a1b.23
xor byte [eax + 0x69], cl
add byte [edx + 105], al
add byte [edi], al
mov gs, word [ecx]
xchg dword [esi - 0x75a9ff97], eax
imul eax, dword [eax], case.0x693a1b.29
xchg dword [esi - 0x7965ff97], eax
imul eax, dword [eax], case.0x693a1b.32
mov ah, 0x64
imul eax, dword [eax], case.0x693a1b.32
push edi
imul eax, dword [eax], case.0x693a1b.36
sahf
outsd dx, dword [esi]
imul eax, dword [eax], case.0x693a1b.38
sahf
outsd dx, dword [esi]
imul eax, dword [eax], case.0x693a1b.40
pop ebx
jbe 7117300
add byte [edi + 0x72], ah
imul eax, dword [eax], case.0x693a1b.43
sahf
pushal
imul eax, dword [eax], case.0x693a1b.45
cli
outsd dx, dword [esi]
imul eax, dword [eax], case.0x693a1b.45
cmp ch, byte [esi + 0x69]
add byte [edx + ecx*4 + 1674444905], bl
imul eax, dword [eax], case.0x693a1b.51
add eax, 0xef006982
jl 7117348
add cl, bh
sub dword [ecx], 0xffffffef
jl 0x6c9a2c
add byte [edi + 0x69], al
add byte [edi], dl
mov ebp, dword [ecx]
aad 0x56
imul eax, dword [eax], case.0x693a1b.59
mov al, 0x81
imul eax, dword [eax], case.0x693a1b.60
fld xword [edi + 0x69]
add byte [eax], bh
imul eax, dword gs:[eax], case.0x693a1b.64
mov eax, dword [0x6c00696e]
mov word [ecx], gs
cmp dword [ebx - 0x6dcaff97], ecx
imul eax, dword [eax], case.0x693a1b.69
cmp dword [ebx + 0x64c90069], ecx
imul eax, dword [eax], case.0x693a1b.72
xor eax, 0x27006992
nop
imul eax, dword [eax], case.0x693a1b.67
leave
imul eax, dword fs:[eax], case.0x693a1b.72
mov bl, 0x92
imul eax, dword [eax], case.0x693a1b.72
sub edx, dword [ebx + 0x6d410069]
imul eax, dword [eax], case.0x693a1b.77
xlatb
imul ebp, dword [ecx], case.0x693a1b.79
xlatb
imul ebp, dword [ecx], case.0x693a1b.81
fldenv [edx + 0x69]
add byte [eax + 1728080267], bl
bound ebp, qword [ecx]
inc esi
mov word [ecx], gs
cwde
mov ebp, dword [ecx]
mov bl, 0x90
imul eax, dword [eax], case.0x693a1b.88
adc al, 0x5b
imul eax, dword [eax], case.0x693a1b.90
mov cl, 0x86
imul eax, dword [eax], case.0x693a1b.92
sub dword [ecx], case.0x693a1b.94
sbb byte [ebx + 1858338921], dl
imul eax, dword [eax], case.0x693a1b.97
hlt