Function at 0x670841
Capabilities:
Encrypt data using speck
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c4
mov eax, dword [0x73e040]
xor eax, esp
mov dword [esp + 0x2c0], eax
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x2c], eax
push ebx
mov ebx, ecx
mov dword [esp + 0x58], 6
push esi
mov esi, dword [ebp + 0xc]
push edi
mov eax, dword [ebx + 0x74]
mov dword [esp + 0x160], eax
mov ecx, dword [ebx + 0x70]
sub ecx, eax
mov dword [esp + 0x5c], ebx
cmp ecx, 4
mov dword [esp + 0x14], esi
lea eax, [edx - 1]
sbb ecx, ecx
neg ecx
cmp eax, 0x2fb
sbb eax, eax
inc eax
or ecx, eax
mov eax, edx
or ecx, dword [ebx + 0x44]
or ecx, dword [ebx + 0x24]
shr eax, 0x1b
and eax, 0xffffff0f
mov dword [esp + 0x70], ecx
mov dword [esp + 0x6c], eax
movzx eax, dx
cmp eax, 0x2fc
sbb edi, edi
and edi, eax
mov dword [esp + 0x44], edi
movzx eax, byte [edi*8 + 0x710951]
mov dword [esp + 0x18], eax
xor eax, eax
test cl, 1
je 0x6709ed
cmp dword [ebx + 0x2c], eax
jne 0x670901
push eax
push 5
mov ecx, ebx
call sym.Trainer.exe_public:_unsigned_int___thiscall_asmjit::_abi_1_11::BaseEmitter::reportError_unsigned_int__char_const__
jmp 0x6773ed
test edi, edi
je 0x6773c2
cmp byte [esp + 0x6c], al
je 0x670918
cmp edi, 0x1c
jne 0x6773c2
push 4
push ebx
lea ecx, [esp + 0x168]
call fcn.0066f930
mov ebx, edi
test eax, eax
jne 0x6773c7
mov ebx, dword [esp + 0x5c]
test byte [ebx + 0x10], 1
je 0x6709ed
lea edi, [esp + 0x268]
mov eax, dword [esp + 0x38]
movsd dword es:[edi], dword [esi]
push 0
push 6
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x18]
lea edi, [esp + 0x280]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x24]
lea edi, [esp + 0x290]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, eax
lea edi, [esp + 0x2a0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [eax + 0x10]
lea edi, [esp + 0x2b0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [eax + 0x20]
mov eax, dword [esp + 0x78]
lea edi, [esp + 0x2c0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edx, dword [ebx + 0x64]
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x114], edi
mov dword [esp + 0x118], eax
mov eax, dword [ebx + 0x48]
mov ecx, dword [ebx + 0x4c]
mov dword [esp + 0x120], ecx
lea ecx, [esp + 0x270]
push ecx
lea ecx, [esp + 0x118]
mov dword [esp + 0x120], eax
mov al, byte [ebx + 0x38]
push ecx
push eax
call edx
add esp, 0x14
mov ebx, edi
test eax, eax
jne 0x6773c7
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esi]
push 7
mov dword [esp + 0x38], ebx
and ebx, 7
mov eax, dword [edx]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax]
pop eax
and ecx, eax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
and eax, 7
lea ecx, [eax + ecx*8]
mov eax, dword [esp + 0xc]
and eax, 7
lea ecx, [eax + ecx*8]
movzx eax, word [edi*8 + 0x710956]
mov dword [esp + 0x20], eax
lea ecx, [ebx + ecx*8]
movzx eax, byte [edi*8 + sym.Trainer.exe_struct_asmjit::_abi_1_11::a64::InstDB::InstInfo_const__const_const_asmjit::_abi_1_11::a64::InstDB::_instInfoTable]
mov ebx, edi
dec eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x28], eax
cmp eax, 0x5a
ja case.default.0x670a77
mov esi, dword [esp + 0x28]
push 0x1f
mov dword [esp + 0x58], 0x1d
pop eax
mov dword [esp + 0x58], 3
mov dword [esp + 0x24], 5
mov dword [esp + 0x3c], 0x3f
jmp dword [esi*4 + 0x6793c9]
mov esi, dword [esp + 0x14]
mov ebx, edi
test ecx, ecx
jne case.default.0x670a77
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx*4 + 0x712de8]
mov dword [esp + 0x140], eax
jmp 0x670e12
mov esi, dword [esp + 0x14]
cmp ecx, 3
jne 0x6773c2
mov ecx, esi
call fcn.0066f830
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x54], edx
xor edx, edx
inc edx
mov dword [esp + 0x28], eax
mov cl, byte [ebx*8 + 0x7121cc]
shl edx, cl
cmp dword [esp + 0x54], 0
ja 0x677fa1
jb 0x670ae4
cmp eax, edx
jae 0x677fa1
push dword [ebx*8 + 0x7121c8]
lea ecx, [esp + 0x144]
call fcn.00670252
movzx eax, word [ebx*8 + 0x7121ce]
push eax
push dword [esp + 0x58]
push dword [esp + 0x30]
lea ecx, [esp + 0x14c]
call fcn.00679847
jmp 0x670e10
mov esi, dword [esp + 0x14]
mov ebx, edi
cmp ecx, 1
jne case.default.0x670a77
mov ecx, dword [esp + 0x34]
xor edx, edx
shr ecx, 3
inc edx
and ecx, 0x1f
shl edx, cl
mov ecx, dword [esp + 0x18]
movzx eax, byte [ecx*8 + 0x71284c]
shl eax, 6
test eax, edx
je case.default.0x670a77
movzx edx, byte [ecx*8 + 0x71284d]
mov ecx, esi
call fcn.00670503
test al, al
je 0x6793a3
mov ebx, dword [esp + 0x18]
lea ecx, [esp + 0x140]
push dword [ebx*8 + 0x712848]
call fcn.00670252
movzx eax, byte [ebx*8 + 0x71284e]
jmp 0x670e02
mov esi, dword [esp + 0x14]
mov ebx, edi
cmp ecx, 9
jne case.default.0x670a77
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x1f4]
push eax
push 3
pop eax
mov edx, dword [ecx*8 + 0x7128a4]
mov ecx, esi
and edx, eax
mov dword [esp + 0x5c], eax
call fcn.0067049c
pop ecx
test al, al
je case.default.0x670a77
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [eax*8 + 0x7128a4]
shr edx, 0xd
and edx, dword [esp + 0x58]
call fcn.00670486
test al, al
je case.default.0x670a77
mov eax, dword [esp + 0x18]
test dword [eax*8 + 0x7128a4], 0x4000000
je 0x670c0f
mov edx, dword [esp + 0x10]
mov ecx, esi
call fcn.00670445
test al, al
je case.default.0x670a77
mov eax, dword [esp + 0x18]
mov edx, dword [eax*8 + 0x7128a4]
mov ecx, esi
push 0x3f
pop eax
shr edx, 2
mov ebx, edi
and edx, eax
mov dword [esp + 0x3c], eax
call fcn.00670503
test al, al
je 0x6793a3
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [eax*8 + 0x7128a4]
shr edx, 0xf
and edx, dword [esp + 0x3c]
call fcn.00670503
test al, al
je 0x6793a3
mov ebx, dword [esp + 0x18]
lea ecx, [esp + 0x140]
push dword [ebx*8 + 0x7128a0]
call fcn.00670252
push 0x1f
push dword [esp + 0x1f8]
lea ecx, [esp + 0x148]
call fcn.006797f4
mov eax, dword [ebx*8 + 0x7128a4]
lea ecx, [esp + 0x140]
shr eax, 0x15
and eax, 0x1f
push eax
push dword [esp + 0x14]
call fcn.0067029d
mov eax, dword [ebx*8 + 0x7128a4]
shr eax, 8
and eax, 0x1f
jmp 0x670e02
mov eax, dword [esp + 0x18]
mov ebx, edi
mov esi, dword [esp + 0x14]
lea eax, [eax*8 + 0x712238]
mov dword [esp + 0xc], eax
cmp ecx, 0x49
jne case.default.0x670a77
mov edx, dword [eax]
lea ecx, [esp + 0x218]
push ecx
push 3
pop eax
shr edx, 0x16
mov ecx, esi
and edx, eax
mov dword [esp + 0x5c], eax
call fcn.0067049c
pop ecx
test al, al
je case.default.0x670a77
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [edx]
shr edx, 0x1e
call fcn.00670486
test al, al
je case.default.0x670a77
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x1c]
mov edx, dword [eax + 4]
shr edx, 6
and edx, dword [esp + 0x58]
call fcn.00670486
test al, al
je case.default.0x670a77
mov eax, dword [esp + 0xc]
test dword [eax + 4], 0x4000
je 0x670d58
push dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov ecx, esi
call fcn.0067044d
pop ecx
test al, al
je case.default.0x670a77
mov eax, dword [esp + 0xc]
movzx edx, byte [eax + 3]
mov ecx, esi
push 0x3f
pop eax
and edx, eax
mov dword [esp + 0x3c], eax
mov ebx, edi
call fcn.00670503
test al, al
je 0x6793a3
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + 4]
and edx, dword [esp + 0x3c]
call fcn.00670503
test al, al
je 0x6793a3
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x1c]
mov edx, dword [eax + 4]
shr edx, 8
and edx, dword [esp + 0x3c]
call fcn.00670503
test al, al
je 0x6793a3
mov ecx, dword [esp + 0xc]
call fcn.0066fe44
push eax
lea ecx, [esp + 0x144]
call fcn.00670252
push 0x1f
push dword [esp + 0x21c]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x10
push dword [esp + 0x20]
lea ecx, [esp + 0x148]
call fcn.0067029d
push 5
push dword [esp + 0x14]
lea ecx, [esp + 0x148]
call fcn.0067029d
xor eax, eax
push eax
push esi
lea ecx, [esp + 0x148]
call fcn.0067029d
mov ebx, edi
push dword [esp + 0x140]
lea ecx, [esp + 0x164]
call fcn.0067992f
mov eax, dword [esp + 0x70]
xor ecx, ecx
mov edi, dword [esp + 0x5c]
test al, 1
je 0x670e6a
cmp dword [edi + 0x30], ecx
je 0x670e6a
push dword [esp + 0x160]
push ecx
push ecx
push dword [esp + 0x44]
mov ecx, edi
push dword [esp + 0x2c]
push dword [esp + 0x24]
push esi
push eax
mov eax, dword [esp + 0x8c]
movzx edx, al
shl edx, 0x1b
or edx, ebx
call fcn.00687dee
add esp, 0x20
xor ecx, ecx
mov dword [edi + 0x44], ecx
mov dword [edi + 0x48], ecx
mov dword [edi + 0x4c], ecx
mov dword [edi + 0x50], ecx
lea ecx, [esp + 0x160]
push edi
call fcn.0066f9fa
xor eax, eax
jmp 0x6773ed
mov eax, dword [esp + 0x18]
mov ebx, edi
mov esi, dword [esp + 0x14]
lea eax, [eax*8 + 0x71295c]
mov dword [esp + 0xc], eax
cmp ecx, 0x249
jne case.default.0x670a77
mov edx, dword [eax]
lea ecx, [esp + 0x200]
push ecx
push 3
pop eax
shr edx, 0x16
mov ecx, esi
and edx, eax
mov dword [esp + 0x5c], eax
call fcn.0067049c
pop ecx
test al, al
je case.default.0x670a77
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [edx]
shr edx, 0x1e
call fcn.00670486
test al, al
je case.default.0x670a77
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x1c]
mov edx, dword [eax + 4]
shr edx, 6
and edx, dword [esp + 0x58]
call fcn.00670486
test al, al
je case.default.0x670a77
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x38]
mov edx, dword [eax + 4]
shr edx, 0xe
and edx, dword [esp + 0x58]
call fcn.00670486
test al, al
je case.default.0x670a77
mov eax, dword [esp + 0xc]
test dword [eax + 4], 0x400000
je 0x670f57
push dword [esp + 0x38]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 0x20]
call fcn.00670465
pop ecx
pop ecx
test al, al
je case.default.0x670a77
mov eax, dword [esp + 0xc]
movzx edx, byte [eax + 3]
mov ecx, esi
push 0x3f
pop eax
and edx, eax
mov dword [esp + 0x3c], eax
mov ebx, edi
call fcn.00670503
test al, al
je 0x6793a3
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + 4]
and edx, dword [esp + 0x3c]
call fcn.00670503
test al, al
je 0x6793a3
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x1c]
mov edx, dword [eax + 4]
shr edx, 8
and edx, dword [esp + 0x3c]
call fcn.00670503
test al, al
je 0x6793a3
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x38]
movzx edx, word [eax + 6]
and edx, dword [esp + 0x3c]
call fcn.00670503
test al, al
je 0x6793a3
mov ecx, dword [esp + 0xc]
call fcn.0066fe44
push eax
lea ecx, [esp + 0x144]
call fcn.00670252
push 0x1f
push dword [esp + 0x204]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x10
push dword [esp + 0x20]
lea ecx, [esp + 0x148]
call fcn.0067029d
push 0xa
push dword [esp + 0x3c]
jmp 0x670de2
imul eax, dword [esp + 0x18], 0xc
mov ebx, edi
mov esi, dword [esp + 0x14]
add eax, 0x7126d0
mov dword [esp + 0xc], eax
cmp ecx, 0x6c9
jne case.default.0x670a77
mov ecx, dword [esp + 0x34]
xor edx, edx
mov eax, dword [eax]
inc edx
shr ecx, 3
and ecx, 0x1f
shl edx, cl
mov ecx, eax
shr eax, 0x10
and edx, eax
test dl, 0xc0
je case.default.0x670a77
shr ecx, 0x1e
mov edx, ecx
mov ecx, dword [esp + 0x10]
call fcn.00670486
test al, al
je case.default.0x670a77
mov eax, dword [esp + 0xc]
mov ecx, esi
push 0x3f
movzx edx, byte [eax + 3]
pop eax
and edx, eax
mov dword [esp + 0x3c], eax
call fcn.00670503
test al, al
je 0x6793a3
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + 4]
and edx, esi
call fcn.00670503
test al, al
je 0x6793a3
mov eax, dword [esp + 0xc]
push 0x1f
pop ebx
mov ecx, dword [eax + 4]
mov eax, ecx
shr eax, 6
shr ecx, 0xc
and eax, esi
and ecx, ebx
add eax, ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xa4], eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
lea ecx, [esp + 0xa4]
mov dword [esp + 0x28], eax
mov esi, edx
call fcn.0067037b
test esi, esi
ja 0x677fa1
jb 0x6710ff
cmp dword [esp + 0x28], eax
jae 0x677fa1
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
shr ecx, 0x16
and eax, ebx
and ecx, dword [esp + 0x3c]
add ecx, eax
mov dword [esp + 0xec], ecx
mov ecx, dword [esp + 0x38]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
lea ecx, [esp + 0xec]
mov dword [esp + 0x28], eax
mov esi, edx
call fcn.0067037b
test esi, esi
ja 0x677fa1
jb 0x671151
cmp dword [esp + 0x28], eax
jae 0x677fa1
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066f7e5
mov edx, eax
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 4]
shr ecx, 0xc
and ecx, ebx
shr edx, cl
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x54], edx
call fcn.0066f700
mov ecx, eax
call fcn.0066f7e5
mov edx, eax
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 8]
and ecx, ebx
shr edx, cl
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], edx
call fcn.0066f700
mov ecx, eax
call fcn.0066f7e5
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x54]
mov ecx, dword [esi + 4]
shr ecx, 0xc
and ecx, ebx
shl edx, cl
cmp edx, eax
jne 0x677fa1
mov ecx, dword [esp + 0x38]
call fcn.0066f700
mov ecx, eax
call fcn.0066f7e5
mov ecx, dword [esi + 8]
mov edx, dword [esp + 0x24]
and ecx, ebx
shl edx, cl
cmp edx, eax
jne 0x677fa1
mov ecx, esi
call fcn.0066fe44
push eax
lea ecx, [esp + 0x144]
call fcn.00670252
mov eax, dword [esi + 4]
lea ecx, [esp + 0x140]
shr eax, 0x11
and eax, ebx
push eax
push dword [esp + 0x58]
call fcn.006797f4
mov eax, dword [esi + 8]
shr eax, 5
and eax, ebx
push eax
push dword [esp + 0x28]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 5
push dword [esp + 0x14]
lea ecx, [esp + 0x148]
call fcn.0067029d
mov esi, dword [esp + 0x14]
jmp 0x670e00
mov eax, dword [esp + 0x34]
mov ebx, edi
mov esi, dword [esp + 0x14]
shr eax, 3
and eax, 0x1f
sub eax, 6
mov dword [esp + 0x34], eax
cmp eax, 1
ja case.default.0x670a77
cmp ecx, 9
jne 0x67133e
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f7a7
test al, al
je case.default.0x670a77
mov edx, dword [esp + 0x10]
mov ecx, esi
call fcn.00670445
test al, al
je case.default.0x670a77
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fcf0
test al, al
jne 0x6712fd
mov ecx, dword [esp + 0x10]
call fcn.0066f700
mov ecx, eax
call fcn.0066fcf0
test al, al
jne 0x6712fd
mov edx, dword [esp + 0x10]
mov ecx, esi
push 0x3f
call fcn.00670514
pop ecx
test al, al
je 0x6793a3
push 0x2a0003e0
lea ecx, [esp + 0x144]
call fcn.00670252
mov ecx, dword [esp + 0x34]
push 0x1f
push ecx
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x10
jmp 0x670df0
mov edx, dword [esp + 0x10]
mov ecx, esi
push 0x1f
mov ebx, edi
call fcn.00670514
pop ecx
test al, al
je 0x6793a3
push 0x11000000
lea ecx, [esp + 0x144]
call fcn.00670252
mov ecx, dword [esp + 0x34]
push 0x1f
push ecx
lea ecx, [esp + 0x148]
call fcn.006797f4
jmp 0x670dee
cmp ecx, 0x19
jne case.default.0x670a77
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f7a7
test al, al
je case.default.0x670a77
mov ecx, dword [esp + 0x10]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x24], eax
mov dword [esp + 0xc], edx
test ebx, ebx
jne 0x671387
mov dword [esp + 0x24], eax
xor eax, eax
mov dword [esp + 0xc], eax
push ebx
mov ecx, esi
call fcn.0066f789
push dword [esp + 0x10]
and eax, 0x1f
lea ecx, [esp + 0x260]
push dword [esp + 0x2c]
mov edx, eax
call fcn.006700b7
add esp, 0xc
mov dword [esp + 0x40], eax
cmp eax, 1
jne 0x6713de
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fcf0
test al, al
jne 0x6713de
push dword [esp + 0x258]
lea ecx, [esp + 0x144]
call fcn.00670252
jmp 0x670e10
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fce8
test al, al
jne 0x671466
push 0x20
pop ecx
push 0x40
pop eax
push dword [esp + 0xc]
test ebx, ebx
lea edx, [esp + 0x238]
push dword [esp + 0x28]
cmovne ecx, eax
call fcn.0066fa74
pop ecx
pop ecx
test al, al
je 0x671466
push 0x1f
pop edx
mov ecx, esi
mov ebx, edi
call fcn.00670503
test al, al
je 0x6793a3
push 0x320003e0
lea ecx, [esp + 0x144]
call fcn.00670252
mov ecx, dword [esp + 0x34]
push 0x1f
push ecx
lea ecx, [esp + 0x148]
call fcn.006797f4
lea eax, [esp + 0x234]
push eax
lea ecx, [esp + 0x144]
call fcn.00670266
jmp 0x670e00
push 0x3f
pop edx
mov ecx, esi
mov ebx, edi
call fcn.00670503
test al, al
je 0x6793a3
mov eax, dword [esp + 0x40]
test eax, eax
je 0x6793b5
mov ecx, dword [esp + 0x5c]
shl eax, 2
push eax
push ecx
lea ecx, [esp + 0x168]
call fcn.0066f930
test eax, eax
jne 0x6773c7
mov esi, dword [esp + 0x40]
mov ebx, eax
push dword [esp + ebx*4 + 0x258]
lea ecx, [esp + 0x164]
call fcn.0067992f
inc ebx
cmp ebx, esi
jb 0x6714a9
mov esi, dword [esp + 0x14]
mov ebx, edi
jmp 0x670e25
mov eax, dword [esp + 0x34]
mov ebx, edi
mov esi, dword [esp + 0x14]
shr eax, 3
and eax, 0x1f
sub eax, 6
mov dword [esp + 0x34], eax
cmp eax, 1
ja case.default.0x670a77
push 0x3f
pop edx
mov ecx, esi
call fcn.00670503
test al, al
je 0x6793a3
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
push dword [eax*4 + 0x712588]
call fcn.00670252
mov ebx, dword [esp + 0x34]
lea ecx, [esp + 0x140]
push 0x1f
push ebx
call fcn.006797f4
mov eax, dword [esp + 0x40]
cmp eax, 0x19
jne 0x67156e
mov ecx, dword [esp + 0x10]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
xor ebx, ebx
cmp edx, ebx
ja 0x677fa1
jb 0x671558
cmp eax, 0xffff
ja 0x677fa1
push 5
push edx
push eax
lea ecx, [esp + 0x14c]
call fcn.00679847
push ebx
jmp 0x670e03
cmp eax, 0xd9
jne 0x6773c2
mov ecx, dword [esp + 0x10]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x54], edx
call fcn.0066f700
mov ecx, eax
call fcn.0066f827
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
xor ecx, ecx
mov dword [esp + 0x48], eax
cmp dword [esp + 0x54], ecx
ja 0x677fa1
jb 0x6715d5
cmp dword [esp + 0xc], 0xffff
ja 0x677fa1
cmp edx, ecx
ja 0x677fa1
jb 0x6715e8
cmp eax, 0x30
ja 0x677fa1
cmp dword [esp + 0x28], ecx
jne 0x677fa1
mov ecx, eax
shr ecx, 4
mov eax, ecx
mov dword [esp + 0x28], ecx
shl eax, 4
cmp eax, dword [esp + 0x48]
jne 0x677fa1
push 0x15
push ecx
lea ecx, [esp + 0x148]
call fcn.006797f4
push 5
push dword [esp + 0x58]
lea ecx, [esp + 0x148]
push dword [esp + 0x14]
call fcn.00679847
xor eax, eax
lea ecx, [esp + 0x140]
push eax
push esi
call fcn.0067029d
test ebx, ebx
jne 0x670e10
cmp dword [esp + 0x28], 1
ja 0x677fa1
jmp 0x670e10
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
lea eax, [eax*8 + 0x712838]
mov dword [esp + 0x28], eax
cmp ecx, 0x21
je 0x67167a
mov ebx, edi
cmp ecx, 0x19
jne case.default.0x670a77
mov eax, dword [esp + 0x34]
mov ebx, edi
and eax, 0xff000fff
cmp eax, 0x8000039
jne case.default.0x670a77
push 0x3f
pop edx
mov ecx, esi
call fcn.00670503
test al, al
je 0x6793a3
mov ebx, dword [esp + 0x28]
mov ecx, ebx
call fcn.0066fe44
push eax
lea ecx, [esp + 0x144]
call fcn.00670252
xor eax, eax
lea ecx, [esp + 0x140]
push eax
push esi
call fcn.0067029d
xor eax, eax
lea ecx, [esp + 0x158]
push eax
movzx eax, byte [ebx + 4]
push 0x15
push dword [esp + 0x2c]
push 4
push eax
call fcn.0066f87c
movzx eax, byte [esp + 0x15f]
cmp edi, 7
push 0xc
pop ecx
cmove eax, ecx
mov byte [esp + 0x15f], al
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x20], ebx
jmp 0x6789ef
mov esi, dword [esp + 0x14]
lea eax, [esp + 0x16c]
push eax
push 3
mov ecx, esi
mov ebx, edi
call fcn.006704c2
pop ecx
pop ecx
test al, al
je case.default.0x670a77
mov eax, dword [esp + 0x40]
cmp eax, 0xc9
je 0x6719e7
cmp eax, 0x6c9
je 0x6719e7
cmp eax, 0x49
je 0x671756
cmp eax, 0x649
jne case.default.0x670a77
mov edx, dword [esp + 0x1c]
mov ebx, edi
mov ecx, dword [esp + 0x10]
call fcn.00670445
test al, al
je case.default.0x670a77
cmp dword [esp + 0x16c], 0
xorps xmm0, xmm0
push 0x20
pop eax
push 0x40
pop ecx
cmovne eax, ecx
movlpd qword [esp + 0x48], xmm0
mov dword [esp + 0x28], eax
xor eax, eax
cmp dword [esp + 0x40], 0x649
mov dword [esp + 0xc], eax
jne 0x6717c5
mov ecx, dword [esp + 0x38]
call fcn.0066f700
mov ecx, eax
call fcn.0066f827
mov ecx, dword [esp + 0x38]
mov dword [esp + 0xc], eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov dword [esp + 0x24], edx
jmp 0x6717d1
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x1c]
mov ebx, edi
mov dword [esp + 0x40], eax
push 0x3f
pop eax
mov edx, eax
mov dword [esp + 0x3c], eax
call fcn.00670503
test al, al
je 0x6793a3
mov ebx, dword [esp + 0xc]
cmp ebx, 2
ja 0x6718e9
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fcf0
test al, al
jne 0x6718d4
mov ecx, dword [esp + 0x10]
call fcn.0066f700
mov ecx, eax
call fcn.0066fcf0
test al, al
jne 0x6718d4
push dword [esp + 0x3c]
mov edx, dword [esp + 0x14]
mov ecx, esi
mov ebx, edi
call fcn.00670514
pop ecx
test al, al
je 0x6793a3
xor eax, eax
cmp dword [esp + 0x24], eax
ja 0x677fa1
mov ebx, dword [esp + 0x40]
jb 0x671862
cmp ebx, dword [esp + 0x28]
jae 0x677fa1
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
mov eax, dword [eax*4 + 0x71294c]
and eax, 0x3ff
shl eax, 0x15
push eax
call fcn.00670252
push 0x1f
push dword [esp + 0x170]
lea ecx, [esp + 0x148]
call fcn.006797f4
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0x140]
push 0x16
push eax
call fcn.006797f4
push 0x10
push dword [esp + 0x20]
lea ecx, [esp + 0x148]
call fcn.0067029d
push 0xa
push dword [esp + 0x28]
push ebx
lea ecx, [esp + 0x14c]
call fcn.00679847
jmp 0x670dee
test ebx, ebx
jne 0x677fa1
cmp dword [esp + 0x16c], ebx
setne bl
add ebx, 8
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
mov eax, dword [eax*4 + 0x71294c]
and eax, 0xffc00
shl eax, 0xb
push eax
call fcn.00670252
sub ebx, 6
mov dword [esp + 0xc], ebx
cmp ebx, 7
ja 0x677fa1
xor eax, eax
cmp dword [esp + 0x24], eax
ja 0x677fa1
jb 0x671932
cmp dword [esp + 0x40], 4
ja 0x677fa1
mov eax, dword [esp + 0x54]
lea ecx, [esp + 0x80]
mov dword [esp + 0x80], eax
call fcn.0067037b
lea ecx, [esp + 0x140]
mov esi, eax
call fcn.0066f867
test eax, esi
mov esi, dword [esp + 0x14]
mov ecx, esi
jne 0x67197d
mov edx, dword [esp + 0x10]
mov ebx, edi
push 0x1f
call fcn.00670514
pop ecx
test al, al
je 0x6793a3
mov ebx, dword [esp + 0xc]
jmp 0x6719a2
mov edx, dword [esp + 0x3c]
call fcn.00670503
test al, al
je 0x671b7e
mov ecx, dword [esp + 0x10]
push 0x1f
pop edx
call fcn.00670503
test al, al
je 0x671b7e
push 0x1f
push dword [esp + 0x170]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x10
push dword [esp + 0x20]
lea ecx, [esp + 0x148]
call fcn.0067029d
push 0xd
push ebx
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0xa
push dword [esp + 0x28]
push dword [esp + 0x48]
jmp 0x6718c3
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
mov eax, dword [eax*4 + 0x71294c]
and eax, 0xfff00000
shl eax, 4
push eax
call fcn.00670252
mov eax, dword [esp + 0x54]
lea ecx, [esp + 0x7c]
mov dword [esp + 0x7c], eax
call fcn.0067037b
lea ecx, [esp + 0x140]
mov esi, eax
call fcn.0066f867
and esi, eax
neg esi
push 0x1f
sbb esi, esi
and esi, 0x20
pop ebx
lea edx, [ebx + esi]
mov esi, dword [esp + 0x14]
mov ecx, esi
call fcn.00670503
test al, al
je 0x671b7e
mov edx, ebx
mov ebx, dword [esp + 0x10]
mov ecx, ebx
call fcn.00670503
test al, al
je 0x671b7e
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov dword [esp + 0x20], eax
mov ecx, edx
xor eax, eax
mov dword [esp + 0x24], ecx
cmp dword [esp + 0x40], 0x6c9
mov dword [esp + 0xc], eax
jne 0x671af9
mov ecx, dword [esp + 0x38]
call fcn.0066f700
mov ecx, eax
call fcn.0066f827
test eax, eax
jne 0x677fa1
mov ecx, dword [esp + 0x38]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
or eax, edx
je 0x671ad6
mov ecx, dword [esp + 0x38]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
cmp eax, 0xc
jne 0x677fa1
xor eax, eax
cmp edx, eax
jne 0x677fa1
mov ecx, dword [esp + 0x38]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
or eax, edx
mov ecx, dword [esp + 0x24]
je 0x671af3
xor eax, eax
inc eax
jmp 0x671af5
xor eax, eax
mov dword [esp + 0xc], eax
mov edx, dword [esp + 0x20]
test ecx, ecx
jne 0x671b09
cmp edx, 0xfff
jbe 0x671b37
test eax, eax
jne 0x677fa1
mov eax, edx
and eax, 0xff000fff
or eax, ecx
jne 0x677fa1
shrd edx, ecx, 0xc
mov dword [esp + 0xc], 1
shr ecx, 0xc
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ecx
push 0x1f
push dword [esp + 0x170]
lea ecx, [esp + 0x148]
call fcn.006797f4
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0x140]
push 0x16
push eax
call fcn.006797f4
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x140]
push 0xa
push dword [esp + 0x28]
push eax
call fcn.00679847
push 5
push ebx
jmp 0x670df4
mov ebx, edi
jmp 0x6793a3
mov esi, dword [esp + 0x14]
lea eax, [esp + 0x188]
push eax
push 3
pop eax
push eax
mov ecx, esi
mov dword [esp + 0x60], eax
mov ebx, edi
call fcn.006704c2
pop ecx
pop ecx
test al, al
je case.default.0x670a77
mov edx, dword [esp + 0x10]
mov ecx, esi
call fcn.00670445
test al, al
je case.default.0x670a77
cmp dword [esp + 0x188], 0
push 0x20
pop eax
push 0x40
pop ecx
cmovne eax, ecx
cmp dword [esp + 0x40], 0xc9
mov dword [esp + 0x1ac], eax
jne 0x671ce0
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx*4 + 0x7129cc]
test eax, 0xffc00
je 0x671ce0
and eax, 0xfffffc00
lea ecx, [esp + 0x140]
shl eax, 0xd
push eax
call fcn.00670252
lea ecx, [esp + 0x1ac]
call fcn.00679742
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x24], edx
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
test dword [ebx*4 + 0x7129cc], 0x100000
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x24]
je 0x671c4d
xor eax, ecx
xor edx, ebx
and edx, ebx
and eax, ecx
mov ecx, dword [esp + 0x1ac]
push edx
push eax
lea edx, [esp + 0x248]
call fcn.0066fa74
pop ecx
pop ecx
test al, al
je 0x677fa1
lea ecx, [esp + 0x140]
call fcn.0066f867
push 0x1f
mov ecx, 0x60000000
pop edx
and eax, ecx
cmp eax, ecx
mov ecx, esi
push 0x3f
pop ebx
cmove edx, ebx
call fcn.00670503
test al, al
je 0x671b7e
mov edx, ebx
mov ebx, dword [esp + 0x10]
mov ecx, ebx
call fcn.00670503
test al, al
je 0x671b7e
push 0x1f
push dword [esp + 0x18c]
lea ecx, [esp + 0x148]
call fcn.006797f4
lea eax, [esp + 0x240]
push eax
lea ecx, [esp + 0x144]
call fcn.00670266
jmp 0x671b76
mov edx, dword [esp + 0x1c]
mov ebx, edi
mov ecx, dword [esp + 0x10]
call fcn.00670445
test al, al
je case.default.0x670a77
mov eax, dword [esp + 0x40]
cmp eax, 0x49
jne 0x671d49
mov edx, dword [esp + 0x10]
mov ecx, esi
push 0x3f
push dword [esp + 0x20]
call fcn.00670538
pop ecx
pop ecx
test al, al
je 0x6793a3
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
mov eax, dword [eax*4 + 0x7129cc]
and eax, 0x3ff
shl eax, 0x15
push eax
call fcn.00670252
push 0x1f
push dword [esp + 0x18c]
jmp 0x670dd0
cmp eax, 0x649
jne case.default.0x670a77
mov edx, dword [esp + 0x10]
mov ecx, esi
push 0x3f
push dword [esp + 0x20]
call fcn.00670538
pop ecx
pop ecx
test al, al
je 0x6793a3
mov ecx, dword [esp + 0x38]
call fcn.0066f700
mov ecx, eax
call fcn.0066f827
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x54], eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov ecx, dword [esp + 0x54]
mov ebx, eax
mov eax, edx
mov dword [esp + 0x28], eax
cmp ecx, dword [esp + 0x58]
ja 0x677fa1
test eax, eax
ja 0x677fa1
jb 0x671dc0
cmp ebx, dword [esp + 0x1ac]
jae 0x677fa1
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
mov eax, dword [eax*4 + 0x7129cc]
and eax, 0x3ff
shl eax, 0x15
push eax
call fcn.00670252
push 0x1f
push dword [esp + 0x18c]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x16
push dword [esp + 0x58]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x10
push dword [esp + 0x20]
lea ecx, [esp + 0x148]
call fcn.0067029d
push 0xa
push dword [esp + 0x2c]
jmp 0x6718c2
mov esi, dword [esp + 0x14]
lea eax, [esp + 0x168]
push eax
push 3
pop edx
mov ecx, esi
mov ebx, edi
call fcn.0067049c
pop ecx
test al, al
je case.default.0x670a77
mov eax, dword [esp + 0x40]
cmp eax, 0x19
jne 0x671f2c
push 0x1f
pop edx
mov ecx, esi
call fcn.00670503
test al, al
je 0x6793a3
mov ecx, dword [esp + 0x10]
call fcn.0066f700
and dword [esp + 0x54], 0
mov ecx, eax
call fcn.0066f830
mov ebx, edx
mov dword [esp + 0xc], eax
test ebx, ebx
jne 0x671e8a
cmp eax, 0xfff
jbe 0x671ead
mov ecx, eax
and ecx, 0xff000fff
or ecx, ebx
jne 0x677fa1
shrd eax, ebx, 0xc
mov dword [esp + 0x54], 1
mov dword [esp + 0xc], eax
shr ebx, 0xc
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
mov eax, dword [eax*4 + 0x712428]
and eax, 0xfff00000
shl eax, 4
push eax
call fcn.00670252
push 0x1f
push dword [esp + 0x16c]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x16
push dword [esp + 0x58]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0xa
push ebx
push dword [esp + 0x14]
lea ecx, [esp + 0x14c]
call fcn.00679847
push 5
push esi
lea ecx, [esp + 0x148]
call fcn.0067029d
xor eax, eax
push eax
push 0x3f
lea ecx, [esp + 0x148]
call fcn.00670285
jmp 0x670e10
cmp eax, 9
je 0x671f3e
mov ebx, edi
cmp eax, 0xc9
jne case.default.0x670a77
mov edx, dword [esp + 0x10]
mov ecx, esi
mov ebx, edi
call fcn.00670445
test al, al
je case.default.0x670a77
cmp dword [esp + 0x168], 0
xorps xmm0, xmm0
push 0x20
pop eax
push 0x40
pop ecx
cmovne eax, ecx
movlpd qword [esp + 0x48], xmm0
mov dword [esp + 0x28], eax
xor eax, eax
cmp dword [esp + 0x40], 0xc9
mov dword [esp + 0xc], eax
jne 0x671fab
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066f827
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xc], eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov dword [esp + 0x24], edx
jmp 0x671fb7
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x48]
mov ecx, esi
mov dword [esp + 0x40], eax
call fcn.0066f700
mov ecx, eax
call fcn.0066fcf0
mov ebx, dword [esp + 0x10]
test al, al
jne 0x671fe9
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066fcf0
test al, al
jne 0x671fe9
xor edx, edx
mov cl, dl
jmp 0x671fed
mov cl, 1
xor edx, edx
mov eax, dword [esp + 0xc]
cmp eax, 2
ja 0x672097
test cl, cl
jne 0x672082
cmp dword [esp + 0x24], edx
ja 0x677fa1
jb 0x67201c
mov eax, dword [esp + 0x28]
cmp dword [esp + 0x40], eax
jae 0x677fa1
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
mov eax, dword [eax*4 + 0x712428]
and eax, 0x3ff
shl eax, 0x15
push eax
call fcn.00670252
push 0x1f
push dword [esp + 0x16c]
lea ecx, [esp + 0x148]
call fcn.006797f4
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0x140]
push 0x16
push eax
call fcn.006797f4
push 0x10
push ebx
lea ecx, [esp + 0x148]
call fcn.0067029d
push 0xa
push dword [esp + 0x28]
push dword [esp + 0x48]
jmp 0x671efb
test eax, eax
jne 0x677fa1
cmp dword [esp + 0x168], eax
setne al
add eax, 8
sub eax, 6
mov dword [esp + 0xc], eax
cmp eax, 7
ja 0x677fa1
cmp dword [esp + 0x24], edx
ja 0x677fa1
jb 0x6720be
cmp dword [esp + 0x40], 4
ja 0x677fa1
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
mov eax, dword [eax*4 + 0x712428]
and eax, 0xffc00
shl eax, 0xb
push eax
call fcn.00670252
push 0x1f
push dword [esp + 0x16c]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x10
push ebx
lea ecx, [esp + 0x148]
call fcn.0067029d
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0x140]
push 0xd
push eax
call fcn.006797f4
jmp 0x672073
mov esi, dword [esp + 0x14]
lea eax, [esp + 0x1d0]
push eax
push 3
pop eax
push eax
mov ecx, esi
mov dword [esp + 0x60], eax
mov ebx, edi
call fcn.006704c2
pop ecx
pop ecx
test al, al
je case.default.0x670a77
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
push dword [eax*4 + 0x712758]
call fcn.00670252
push 0x1f
push dword [esp + 0x1d4]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x10
push dword [esp + 0x14]
lea ecx, [esp + 0x148]
call fcn.0067029d
xor eax, eax
lea ecx, [esp + 0x140]
push eax
push esi
call fcn.0067029d
mov eax, dword [esp + 0x40]
cmp eax, 9
jne 0x6721b3
push 0x3f
mov edx, dword [esp + 0x14]
mov ecx, esi
call fcn.00670514
pop ecx
test al, al
je 0x6793a3
jmp 0x670e10
cmp eax, 0xc9
jne case.default.0x670a77
mov edx, dword [esp + 0x10]
mov ecx, esi
push 0x3f
call fcn.00670514
pop ecx
test al, al
je 0x6793a3
cmp dword [esp + 0x1d0], 0
push 0x20
pop eax
push 0x40
pop ecx
cmovne eax, ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x48], eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f827
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov ecx, dword [esp + 0x28]
mov ebx, eax
mov eax, edx
mov dword [esp + 0x60], eax
cmp ecx, dword [esp + 0x58]
ja 0x677fa1
test eax, eax
ja 0x677fa1
jb 0x672237
cmp ebx, dword [esp + 0x48]
jae 0x677fa1
push 0x16
push ecx
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0xa
push dword [esp + 0x64]
push ebx
jmp 0x670b08
mov esi, dword [esp + 0x14]
lea eax, [esp + 0x1a8]
push eax
push 3
pop eax
mov edx, eax
mov dword [esp + 0x5c], eax
mov ecx, esi
mov ebx, edi
call fcn.0067049c
pop ecx
test al, al
je case.default.0x670a77
cmp dword [esp + 0x1a8], 0
mov ebx, dword [esp + 0x40]
push 0x20
pop eax
push 0x40
pop ecx
cmovne eax, ecx
mov dword [esp + 0x1a0], eax
mov eax, dword [esp + 0x18]
cmp ebx, 0x19
jne 0x672388
test dword [eax*4 + 0x712b60], 0xffc00
je 0x672388
push 0x3f
pop eax
mov edx, eax
mov dword [esp + 0x3c], eax
mov ecx, esi
mov ebx, edi
call fcn.00670503
test al, al
je 0x6793a3
lea ecx, [esp + 0x1a0]
call fcn.00679742
mov ecx, dword [esp + 0x10]
mov esi, eax
mov edi, edx
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov ecx, dword [esp + 0x1a0]
and edx, edi
push edx
and eax, esi
lea edx, [esp + 0x250]
push eax
call fcn.0066fa74
pop ecx
pop ecx
test al, al
je 0x677f9d
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
mov eax, dword [eax*4 + 0x712b60]
and eax, 0xfffffc00
shl eax, 0xc
push eax
call fcn.00670252
lea eax, [esp + 0x24c]
push eax
lea ecx, [esp + 0x144]
call fcn.00670266
push 0x1f
push dword [esp + 0x1ac]
lea ecx, [esp + 0x148]
call fcn.006797f4
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x140]
push 5
push esi
call fcn.0067029d
xor eax, eax
lea ecx, [esp + 0x140]
push eax
push dword [esp + 0x40]
call fcn.00670285
mov ebx, dword [esp + 0x44]
jmp 0x670e12
mov eax, dword [eax*4 + 0x712b60]
lea ecx, [esp + 0x140]
and eax, 0x3ff
shl eax, 0x15
push eax
call fcn.00670252
push 0x1f
push dword [esp + 0x1ac]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x10
push dword [esp + 0x14]
lea ecx, [esp + 0x148]
call fcn.0067029d
push 5
push esi
lea ecx, [esp + 0x148]
call fcn.0067029d
xor eax, eax
lea ecx, [esp + 0x140]
push eax
push 0x3f
pop eax
push eax
mov dword [esp + 0x44], eax
call fcn.00670285
cmp ebx, 9
jne 0x672401
push dword [esp + 0x3c]
mov ebx, edi
jmp 0x67219a
cmp ebx, 0xc9
mov ebx, edi
jne case.default.0x670a77
push dword [esp + 0x3c]
mov edx, dword [esp + 0x14]
mov ecx, esi
call fcn.00670514
pop ecx
test al, al
je 0x6793a3
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066f827
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov ecx, dword [esp + 0x28]
mov ebx, eax
mov eax, edx
mov dword [esp + 0x48], eax
cmp ecx, dword [esp + 0x58]
ja 0x677fa1
test eax, eax
ja 0x677fa1
jb 0x672478
cmp ebx, dword [esp + 0x1a0]
jae 0x677fa1
push 0x16
push ecx
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0xa
push dword [esp + 0x4c]
jmp 0x67224c
mov esi, dword [esp + 0x14]
mov ebx, edi
cmp ecx, 0xd9
jne case.default.0x670a77
lea eax, [esp + 0x1b0]
mov ecx, esi
push eax
push 3
pop edx
call fcn.0067049c
pop ecx
test al, al
je case.default.0x670a77
push 0x3f
pop edx
mov ecx, esi
call fcn.00670503
test al, al
je 0x6793a3
mov ecx, dword [esp + 0x10]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov ecx, dword [esp + 0x1c]
mov esi, edx
mov dword [esp + 0x54], eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
cmp dword [esp + 0x1b0], 0
mov ecx, eax
push 0x20
pop ebx
push 0x40
pop eax
cmovne ebx, eax
mov dword [esp + 0x28], ecx
xor eax, eax
cmp esi, eax
ja 0x677fa1
mov esi, dword [esp + 0x54]
jb 0x672526
cmp esi, ebx
jae 0x677fa1
mov eax, ecx
or eax, edx
je 0x677fa1
xor eax, eax
cmp edx, eax
ja 0x677fa1
jb 0x672544
cmp ecx, ebx
ja 0x677fa1
lea ecx, [esp + 0x78]
mov dword [esp + 0x78], esi
call fcn.006797db
mov esi, eax
lea ecx, [ebx - 1]
mov eax, dword [esp + 0x18]
and esi, ecx
lea ecx, [esp + 0x140]
push dword [eax*4 + 0x712664]
call fcn.00670252
push 0x1f
push dword [esp + 0x1b4]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x16
push dword [esp + 0x1b4]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x10
push esi
lea ecx, [esp + 0x148]
call fcn.006797f4
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x140]
push 0xa
dec eax
push eax
call fcn.006797f4
jmp 0x67123b
mov esi, dword [esp + 0x14]
mov ebx, edi
cmp ecx, 0x6c9
jne case.default.0x670a77
lea eax, [esp + 0x19c]
mov ecx, esi
push eax
push 3
pop edx
call fcn.0067049c
pop ecx
test al, al
je case.default.0x670a77
mov edx, dword [esp + 0x10]
mov ecx, esi
call fcn.00670445
test al, al
je case.default.0x670a77
mov edx, dword [esp + 0x10]
mov ecx, esi
push 0x3f
call fcn.00670514
pop ecx
test al, al
je 0x6793a3
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov ecx, dword [esp + 0x38]
mov esi, edx
mov dword [esp + 0x54], eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
cmp dword [esp + 0x19c], 0
mov ecx, eax
push 0x20
pop ebx
push 0x40
pop eax
cmovne ebx, eax
mov dword [esp + 0x28], ecx
xor eax, eax
cmp esi, eax
ja 0x677fa1
mov esi, dword [esp + 0x54]
jb 0x67266c
cmp esi, ebx
jae 0x677fa1
mov eax, ecx
or eax, edx
je 0x677fa1
xor eax, eax
cmp edx, eax
ja 0x677fa1
jb 0x67268a
cmp ecx, ebx
ja 0x677fa1
lea ecx, [esp + 0x74]
mov dword [esp + 0x74], esi
call fcn.006797db
mov esi, eax
lea ecx, [ebx - 1]
mov eax, dword [esp + 0x18]
and esi, ecx
lea ecx, [esp + 0x140]
push dword [eax*4 + 0x7129ec]
call fcn.00670252
push 0x1f
push dword [esp + 0x1a0]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x16
push dword [esp + 0x1a0]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x10
push esi
lea ecx, [esp + 0x148]
call fcn.006797f4
mov eax, dword [esp + 0x28]
push 0xa
dec eax
push eax
jmp 0x67121d
mov esi, dword [esp + 0x14]
mov ebx, edi
cmp ecx, 0x6c9
jne case.default.0x670a77
lea eax, [esp + 0x194]
mov ecx, esi
push eax
push 3
pop edx
call fcn.0067049c
pop ecx
test al, al
je case.default.0x670a77
mov edx, dword [esp + 0x10]
mov ecx, esi
call fcn.00670445
test al, al
je case.default.0x670a77
mov edx, dword [esp + 0x10]
mov ecx, esi
push 0x3f
call fcn.00670514
pop ecx
test al, al
je 0x6793a3
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov ecx, dword [esp + 0x38]
mov ebx, eax
mov dword [esp + 0x54], edx
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
cmp dword [esp + 0x194], 0
mov ecx, edx
push 0x20
pop edx
mov dword [esp + 0x28], 0x40
cmovne edx, dword [esp + 0x28]
mov dword [esp + 0x60], eax
or eax, ebx
mov dword [esp + 0x48], ecx
or ecx, dword [esp + 0x54]
ja 0x677fa1
jb 0x6727af
cmp eax, edx
jae 0x677fa1
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
push dword [eax*4 + 0x712b54]
call fcn.00670252
push 0x1f
push dword [esp + 0x198]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x16
push dword [esp + 0x198]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x10
push dword [esp + 0x58]
lea ecx, [esp + 0x148]
push ebx
call fcn.00679847
push 0xa
push dword [esp + 0x4c]
push dword [esp + 0x68]
jmp 0x6718c3
mov esi, dword [esp + 0x14]
mov ebx, edi
cmp ecx, 0x6c9
jne case.default.0x670a77
lea eax, [esp + 0x1a4]
mov ecx, esi
push eax
push 3
pop edx
call fcn.0067049c
pop ecx
test al, al
je case.default.0x670a77
mov edx, dword [esp + 0x10]
mov ecx, esi
call fcn.00670445
test al, al
je case.default.0x670a77
mov edx, dword [esp + 0x10]
mov ecx, esi
push 0x3f
call fcn.00670514
pop ecx
test al, al
je 0x6793a3
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov ecx, dword [esp + 0x38]
mov esi, edx
mov dword [esp + 0x54], eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
cmp dword [esp + 0x1a4], 0
mov ebx, eax
push 0x20
pop ecx
push 0x40
pop eax
cmovne ecx, eax
xor eax, eax
cmp esi, eax
ja 0x677fa1
mov esi, dword [esp + 0x54]
jb 0x6728b9
cmp esi, ecx
jae 0x677fa1
mov eax, ebx
or eax, edx
je 0x677fa1
xor eax, eax
cmp edx, eax
ja 0x677fa1
jb 0x6728d7
cmp ebx, ecx
ja 0x677fa1
dec ebx
add ebx, esi
cmp ebx, ecx
jae 0x677fa1
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
push dword [eax*4 + 0x712518]
call fcn.00670252
push 0x1f
push dword [esp + 0x1a8]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x16
push dword [esp + 0x1a8]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x10
push esi
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0xa
push ebx
jmp 0x67121d
mov eax, dword [esp + 0x18]
mov ebx, edi
mov esi, dword [esp + 0x14]
lea eax, [eax*4 + 0x712db8]
mov dword [esp + 0x28], eax
cmp ecx, 9
jne case.default.0x670a77
mov edx, dword [eax]
lea ecx, [esp + 0x1cc]
shr edx, 0x16
push ecx
and edx, 3
mov ecx, esi
call fcn.0067049c
pop ecx
test al, al
je case.default.0x670a77
mov ecx, dword [esp + 0x10]
call fcn.0066f700
mov ecx, eax
call fcn.0066fc98
test al, al
je case.default.0x670a77
mov edx, dword [esp + 0x10]
mov ecx, esi
push 0x3f
call fcn.00670514
pop ecx
test al, al
je 0x6793a3
mov ecx, dword [esp + 0x28]
call fcn.0066fe44
push eax
lea ecx, [esp + 0x144]
call fcn.00670252
push 0x1f
push dword [esp + 0x1d0]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x16
push dword [esp + 0x1d0]
jmp 0x67132d
mov esi, dword [esp + 0x14]
mov ebx, edi
cmp ecx, 0x649
jne case.default.0x670a77
lea eax, [esp + 0x1b4]
mov ecx, esi
push eax
push 3
pop edx
call fcn.0067049c
pop ecx
test al, al
je case.default.0x670a77
push dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov ecx, esi
call fcn.0067044d
pop ecx
test al, al
je case.default.0x670a77
mov edx, dword [esp + 0x10]
mov ecx, esi
push 0x3f
push dword [esp + 0x20]
call fcn.00670538
pop ecx
pop ecx
test al, al
je 0x6793a3
mov ecx, dword [esp + 0x38]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
cmp dword [esp + 0x1b4], 0
mov ebx, eax
push 0x20
pop ecx
mov eax, edx
push 0x40
pop edx
cmovne ecx, edx
mov dword [esp + 0x28], eax
test eax, eax
ja 0x677fa1
jb 0x672a7a
cmp ebx, ecx
jae 0x677fa1
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
push dword [eax*4 + 0x712764]
call fcn.00670252
push 0x1f
push dword [esp + 0x1b8]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x16
push dword [esp + 0x1b8]
jmp 0x671dfb
mov esi, dword [esp + 0x14]
mov ebx, edi
cmp ecx, 9
jne case.default.0x670a77
lea eax, [esp + 0x1c8]
mov ecx, esi
push eax
push 3
pop edx
call fcn.0067049c
pop ecx
test al, al
je case.default.0x670a77
mov edx, dword [esp + 0x10]
mov ecx, esi
call fcn.00670445
test al, al
je case.default.0x670a77
mov edx, dword [esp + 0x10]
mov ecx, esi
push 0x3f
call fcn.00670514
pop ecx
test al, al
je 0x6793a3
push 0x5ac00800
lea ecx, [esp + 0x144]
call fcn.00670252
push 0x1f
push dword [esp + 0x1cc]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0xa
push dword [esp + 0x1cc]
jmp 0x67132d
mov eax, dword [esp + 0x18]
mov ebx, edi
mov esi, dword [esp + 0x14]
mov ecx, esi
lea eax, [eax*8 + 0x712430]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x174]
push eax
push 3
pop edx
call fcn.0067049c
pop ecx
test al, al
je case.default.0x670a77
mov eax, dword [esp + 0x40]
cmp eax, 0x49
jne 0x672bcb
push dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov ecx, esi
call fcn.0067044d
pop ecx
test al, al
je case.default.0x670a77
mov edx, dword [esp + 0x10]
mov ecx, esi
push 0x3f
push dword [esp + 0x20]
call fcn.00670538
pop ecx
pop ecx
test al, al
je 0x6793a3
mov ecx, dword [esp + 0xc]
call fcn.0066fe44
push eax
lea ecx, [esp + 0x144]
call fcn.00670252
push 0x1f
push dword [esp + 0x178]
jmp 0x670dd0
cmp eax, 0xc9
jne 0x6773c2
mov ecx, dword [esp + 0xc]
call fcn.0066fe4a
test eax, eax
je 0x6773c2
mov edx, dword [esp + 0x10]
mov ecx, esi
mov ebx, edi
call fcn.00670445
test al, al
je case.default.0x670a77
mov edx, dword [esp + 0x10]
mov ecx, esi
push 0x3f
call fcn.00670514
pop ecx
test al, al
je 0x6793a3
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
cmp dword [esp + 0x174], 0
push 0x20
pop ecx
push 0x40
pop ebx
cmovne ecx, ebx
mov dword [esp + 0x54], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], ecx
test edx, edx
ja 0x677fa1
jb 0x672c51
cmp eax, ecx
jae 0x677fa1
mov ecx, dword [esp + 0xc]
call fcn.0066fe4a
push eax
lea ecx, [esp + 0x144]
call fcn.00670252
push 0x1f
push dword [esp + 0x178]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x16
push dword [esp + 0x178]
lea ecx, [esp + 0x148]
call fcn.006797f4
mov ebx, dword [esp + 0x10]
lea ecx, [esp + 0x140]
push 5
push ebx
call fcn.0067029d
xor eax, eax
lea ecx, [esp + 0x140]
push eax
push esi
call fcn.0067029d
lea ecx, [esp + 0x108]
mov dword [esp + 0x108], 0xa
call fcn.0067037b
lea ecx, [esp + 0x140]
mov esi, eax
call fcn.0066f867
test eax, esi
je 0x672d12
push 0xf
push dword [esp + 0x178]
lea ecx, [esp + 0x148]
call fcn.006797f4
mov esi, dword [esp + 0x54]
lea ecx, [esp + 0x140]
push 0x10
push dword [esp + 0x28]
push esi
call fcn.00679847
mov esi, dword [esp + 0x14]
jmp 0x670e10
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x54]
test dword [eax + 4], 0xc00000
jne 0x672d62
lea ecx, [esp + 0x104]
mov dword [esp + 0x104], esi
call fcn.006797db
mov ebx, dword [esp + 0x28]
push 0x10
lea ecx, [ebx - 1]
and eax, ecx
lea ecx, [esp + 0x144]
push eax
call fcn.006797f4
sub ebx, esi
push 0xa
dec ebx
push ebx
lea ecx, [esp + 0x148]
call fcn.006797f4
jmp 0x672d09
push 0xa
push dword [esp + 0x28]
lea ecx, [esp + 0x148]
push esi
call fcn.00679847
push 0x10
push ebx
lea ecx, [esp + 0x148]
call fcn.0067029d
jmp 0x672d09
mov esi, dword [esp + 0x14]
cmp ecx, 0x6c9
je 0x672da0
mov ebx, edi
cmp ecx, 0x6d9
jne case.default.0x670a77
lea eax, [esp + 0x1f8]
mov ecx, esi
push eax
push 3
pop edx
mov ebx, edi
call fcn.0067049c
pop ecx
test al, al
je case.default.0x670a77
push 0x3f
pop eax
mov edx, eax
mov dword [esp + 0x3c], eax
mov ecx, esi
call fcn.00670503
test al, al
je 0x6793a3
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov ecx, dword [esp + 0x38]
mov ebx, eax
mov dword [esp + 0x48], ebx
mov dword [esp + 0xc], edx
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov ecx, eax
mov dword [esp + 0x28], eax
or ecx, ebx
or edx, dword [esp + 0xc]
ja 0x677fa1
jb 0x672e1c
cmp ecx, 0xf
ja 0x677fa1
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
push dword [eax*4 + 0x712e44]
call fcn.00670252
push 0x1f
pop ebx
push ebx
push dword [esp + 0x1fc]
lea ecx, [esp + 0x148]
call fcn.006797f4
mov ecx, dword [esp + 0x28]
push 0xc
call fcn.0066febc
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
xor eax, eax
lea ecx, [esp + 0x140]
push eax
push dword [esp + 0x10]
push dword [esp + 0x50]
call fcn.00679847
cmp dword [esp + 0x40], 0x6c9
jne 0x672ec6
mov edx, dword [esp + 0x10]
mov ecx, esi
mov ebx, edi
call fcn.00670445
test al, al
je case.default.0x670a77
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x10]
call fcn.00670503
test al, al
je 0x6793a3
push 0x10
push dword [esp + 0x14]
lea ecx, [esp + 0x148]
call fcn.0067029d
push 5
jmp 0x670e03
mov ecx, dword [esp + 0x10]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov ecx, edx
mov dword [esp + 0x48], eax
mov dword [esp + 0x28], ecx
test ecx, ecx
ja 0x677fa1
jb 0x672ef2
cmp eax, ebx
ja 0x677fa1
push 0xb
push 1
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x10
push dword [esp + 0x2c]
lea ecx, [esp + 0x148]
push dword [esp + 0x50]
call fcn.00679847
jmp 0x672ebf
mov esi, dword [esp + 0x14]
mov ebx, edi
cmp ecx, 0xc9
jne case.default.0x670a77
lea eax, [esp + 0x1fc]
mov ecx, esi
push eax
push 3
call fcn.006704c2
pop ecx
pop ecx
test al, al
je case.default.0x670a77
mov edx, dword [esp + 0x10]
mov ecx, esi
push 0x3f
call fcn.00670514
pop ecx
test al, al
je 0x6793a3
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov ecx, eax
mov dword [esp + 0x28], eax
add ecx, 0xfffffffe
adc edx, 0xffffffff
xor eax, eax
cmp edx, eax
ja 0x677fa1
jb 0x672f8e
cmp ecx, 0xe
ja 0x677fa1
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
push dword [eax*4 + 0x712918]
call fcn.00670252
push 0x1f
push dword [esp + 0x200]
lea ecx, [esp + 0x148]
call fcn.006797f4
mov ebx, dword [esp + 0x10]
lea ecx, [esp + 0x140]
push 0x10
push ebx
call fcn.0067029d
mov ecx, dword [esp + 0x28]
push 0xc
call fcn.0066febc
xor eax, 1
lea ecx, [esp + 0x144]
push eax
call fcn.006797f4
jmp 0x671b76
mov esi, dword [esp + 0x14]
cmp ecx, 0x649
jne 0x6773c2
lea eax, [esp + 0x204]
mov ecx, esi
push eax
push 3
pop edx
call fcn.0067049c
pop ecx
test al, al
je 0x6773c2
push dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov ecx, esi
call fcn.0067044d
pop ecx
test al, al
je 0x6773c2
mov edx, dword [esp + 0x10]
mov ecx, esi
push 0x3f
push dword [esp + 0x20]
mov ebx, edi
call fcn.00670538
pop ecx
pop ecx
test al, al
je 0x6793a3
mov ecx, dword [esp + 0x38]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov ebx, eax
xor eax, eax
cmp edx, eax
ja 0x677fa1
jb 0x673074
cmp ebx, 0xf
ja 0x677fa1
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
push dword [eax*4 + 0x712b44]
call fcn.00670252
push 0x1f
push dword [esp + 0x208]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x10
push dword [esp + 0x20]
lea ecx, [esp + 0x148]
call fcn.0067029d
push 0xc
mov ecx, ebx
call fcn.0066febc
push eax
jmp 0x67132d
mov esi, dword [esp + 0x14]
mov ebx, edi
cmp ecx, 0x19
jne case.default.0x670a77
lea eax, [esp + 0x208]
mov ecx, esi
push eax
push 3
pop edx
call fcn.0067049c
pop ecx
test al, al
je case.default.0x670a77
push 0x3f
pop edx
mov ecx, esi
call fcn.00670503
test al, al
je 0x6793a3
mov ecx, dword [esp + 0x10]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov ebx, eax
mov ecx, ebx
add ecx, 0xfffffffe
adc edx, 0xffffffff
xor eax, eax
cmp edx, eax
ja 0x677fa1
jb 0x67312c
cmp ecx, 0xe
jae 0x677fa1
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
push dword [eax*4 + 0x712eec]
call fcn.00670252
push 0x1f
push dword [esp + 0x20c]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0xc
mov ecx, ebx
call fcn.0066febc
xor eax, 1
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
jmp 0x670e00
mov esi, dword [esp + 0x14]
cmp ecx, 3
je 0x67318a
mov ebx, edi
cmp ecx, 0xb
jne case.default.0x670a77
mov ebx, dword [esp + 0x18]
test dword [ebx*4 + 0x7126e8], 0x10000000
je 0x6731aa
mov ebx, edi
cmp ecx, 0xb
jne case.default.0x670a77
mov ebx, dword [esp + 0x18]
mov ecx, esi
call fcn.0066f830
test edx, edx
ja 0x677fa1
jb 0x6731c6
cmp eax, 0x7fff
ja 0x677fa1
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f7e5
mov edx, dword [ebx*4 + 0x7126e8]
mov ecx, eax
and ecx, edx
mov dword [esp + 0x28], eax
shr edx, 0xe
xor ecx, edx
test ecx, 0x3fff
jne 0x677fa1
mov ecx, dword [esp + 0x10]
push 0x1f
pop ebx
call fcn.0066f75d
test al, al
je 0x673240
mov ecx, dword [esp + 0x10]
mov ebx, edi
call fcn.0066f700
mov ecx, eax
call fcn.0066fca8
test al, al
je case.default.0x670a77
mov ecx, dword [esp + 0x10]
push 0x3f
pop edx
call fcn.00670503
test al, al
je 0x6793a3
mov ecx, dword [esp + 0x10]
call fcn.0066f789
push 0x1f
pop ebx
and ebx, eax
push 0xd5080000
lea ecx, [esp + 0x144]
call fcn.00670252
push 5
push dword [esp + 0x2c]
lea ecx, [esp + 0x148]
call fcn.006797f4
xor eax, eax
push eax
push ebx
jmp 0x671f1b
mov esi, dword [esp + 0x14]
mov ebx, edi
cmp ecx, 0x19
jne case.default.0x670a77
mov eax, dword [esp + 0x34]
and eax, 0xff000fff
cmp eax, 0x8000039
jne case.default.0x670a77
push 0x3f
pop edx
mov ecx, esi
call fcn.00670503
test al, al
je 0x6793a3
mov ebx, dword [esp + 0x10]
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
test edx, edx
ja 0x677fa1
jb 0x6732c8
cmp eax, 0xffff
ja 0x677fa1
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066f7e5
lea ecx, [esp + 0x100]
mov dword [esp + 0x100], 0xf
mov ebx, eax
call fcn.0067037b
test ebx, eax
je 0x677fa1
push 0xd5300000
lea ecx, [esp + 0x144]
call fcn.00670252
push 5
push ebx
jmp 0x673165
mov esi, dword [esp + 0x14]
cmp ecx, 0xb
jne 0x6733ce
mov eax, dword [esp + 0xc]
mov ebx, edi
and eax, 0xff000fff
cmp eax, 0x8000039
jne case.default.0x670a77
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
test edx, edx
ja 0x677fa1
jb 0x673356
cmp eax, 0xffff
ja 0x677fa1
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f7e5
mov ebx, eax
mov dword [esp + 0xfc], 0xf
lea ecx, [esp + 0xfc]
mov dword [esp + 0x28], ebx
call fcn.0067037b
test ebx, eax
je 0x677fa1
mov ecx, dword [esp + 0x10]
mov ebx, edi
push 0x3f
pop edx
call fcn.00670503
test al, al
je 0x6793a3
push 0xd5100000
lea ecx, [esp + 0x144]
call fcn.00670252
push 5
push dword [esp + 0x2c]
lea ecx, [esp + 0x148]
call fcn.006797f4
xor eax, eax
push eax
push dword [esp + 0x14]
jmp 0x670e04
cmp ecx, 0x1b
jne 0x6773c2
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
test edx, edx
ja 0x677fa1
jb 0x6733f8
cmp eax, 0x1f
ja 0x677fa1
mov ebx, dword [esp + 0x10]
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
test edx, edx
ja 0x677fa1
jb 0x67341d
cmp eax, 0xf
ja 0x677fa1
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f7e5
mov ecx, ebx
mov edi, eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f7e5
push 0xd500401f
lea ecx, [esp + 0x144]
mov esi, eax
call fcn.00670252
mov ecx, edi
shr ecx, 3
push 0x10
push ecx
lea ecx, [esp + 0x148]
call fcn.006797f4
push 8
push esi
lea ecx, [esp + 0x148]
call fcn.006797f4
push 5
and edi, 7
lea ecx, [esp + 0x144]
push edi
call fcn.006797f4
mov ebx, dword [esp + 0x44]
mov esi, dword [esp + 0x14]
jmp 0x670e12
mov esi, dword [esp + 0x14]
cmp ecx, 0x6db
jne 0x6773c2
mov ecx, esi
call fcn.0066f830
test edx, edx
ja 0x677fa1
jb 0x6734ba
cmp eax, 7
ja 0x677fa1
mov ebx, dword [esp + 0x10]
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
test edx, edx
ja 0x677fa1
jb 0x6734df
cmp eax, 0xf
ja 0x677fa1
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
test edx, edx
ja 0x677fa1
jb 0x673502
cmp eax, 0xf
ja 0x677fa1
mov ecx, dword [esp + 0x38]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
test edx, edx
ja 0x677fa1
jb 0x673525
cmp eax, 7
ja 0x677fa1
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f7e5
mov ecx, ebx
mov dword [esp + 0x28], eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f7e5
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x48], eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f7e5
mov ebx, dword [esp + 0x38]
mov ecx, ebx
mov dword [esp + 0x60], eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f7e5
lea ecx, [ebx + 0x10]
mov dword [esp + 0x24], eax
mov dword [esp + 0xc], 0x1f
call fcn.0066f75d
mov ecx, dword [esp + 0x38]
mov ebx, edi
lea ecx, [ecx + 0x10]
test al, al
je 0x6735d0
call fcn.0066f700
mov ecx, eax
call fcn.0066fca8
test al, al
je case.default.0x670a77
mov ecx, dword [esp + 0x38]
push 0x3f
pop edx
lea ecx, [ecx + 0x10]
call fcn.00670503
test al, al
je 0x6793a3
mov ecx, dword [esp + 0x38]
lea ecx, [ecx + 0x10]
call fcn.0066f789
and eax, 0x1f
mov dword [esp + 0xc], eax
jmp 0x6735dd
call fcn.0066f756
test al, al
je case.default.0x670a77
push 0xd5080000
lea ecx, [esp + 0x144]
call fcn.00670252
push 0x10
push dword [esp + 0x2c]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0xc
push dword [esp + 0x4c]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 8
push dword [esp + 0x64]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 5
push dword [esp + 0x28]
lea ecx, [esp + 0x148]
call fcn.006797f4
xor eax, eax
lea ecx, [esp + 0x140]
push eax
push dword [esp + 0x10]
call fcn.006797f4
jmp 0x670e10
mov esi, dword [esp + 0x14]
mov ebx, edi
cmp ecx, 1
jne case.default.0x670a77
mov eax, dword [esp + 0x34]
and eax, 0xff000fff
cmp eax, 0x8000039
jne case.default.0x670a77
push 0x3f
pop edx
mov ecx, esi
call fcn.00670503
test al, al
je 0x6793a3
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
push dword [eax*4 + 0x712400]
call fcn.00670252
jmp 0x672ebf
mov esi, dword [esp + 0x14]
cmp ecx, 4
je 0x6736b4
mov ebx, edi
cmp ecx, dword [esp + 0x58]
jne case.default.0x670a77
cmp byte [esp + 0x6c], 0
mov ebx, esi
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], ebx
mov eax, dword [eax*4 + 0x712550]
mov dword [esp + 0x140], eax
je 0x67372f
lea ecx, [esp + 0xf8]
mov dword [esp + 0xf8], 0x1e
call fcn.0067037b
push eax
lea ecx, [esp + 0x144]
call fcn.006702b8
mov eax, dword [esp + 0x6c]
xor esi, esi
push esi
movzx ecx, al
call fcn.0066febc
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
push 2
push 0x13
push dword [esp + 0x2c]
push 4
push esi
lea ecx, [esp + 0x16c]
call fcn.0066f87c
jmp 0x6789ef
push 2
push 0x1a
xor eax, eax
push eax
push 4
push eax
jmp 0x67371e
mov esi, dword [esp + 0x14]
cmp ecx, 0x21
je 0x67374f
mov ebx, edi
cmp ecx, 0x19
jne case.default.0x670a77
mov edx, dword [esp + 0x58]
lea eax, [esp + 0x20c]
push eax
mov ecx, esi
mov ebx, edi
call fcn.0067049c
pop ecx
test al, al
je case.default.0x670a77
push 0x3f
pop edx
mov ecx, esi
call fcn.00670503
test al, al
je 0x6793a3
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
push dword [eax*4 + 0x7133cc]
call fcn.00670252
push 0x1f
push dword [esp + 0x210]
lea ecx, [esp + 0x148]
call fcn.006797f4
xor ebx, ebx
lea ecx, [esp + 0x140]
push ebx
push esi
call fcn.0067029d
push 2
push 0x13
push dword [esp + 0x2c]
lea ecx, [esp + 0x164]
push 4
push ebx
call fcn.0066f87c
jmp 0x6716fe
mov esi, dword [esp + 0x14]
cmp ecx, 0x119
je 0x6737f1
mov ebx, edi
cmp ecx, 0xd9
jne case.default.0x670a77
mov edx, dword [esp + 0x58]
lea eax, [esp + 0x1c4]
push eax
mov ecx, esi
mov ebx, edi
call fcn.0067049c
pop ecx
test al, al
je case.default.0x670a77
push 0x3f
pop edx
mov ecx, esi
call fcn.00670503
test al, al
je 0x6793a3
mov ecx, dword [esp + 0x10]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov ebx, eax
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
mov dword [esp + 0x54], ebx
push dword [eax*4 + 0x7132ac]
call fcn.00670252
xor eax, eax
cmp dword [esp + 0xc], eax
ja 0x67385f
cmp ebx, 0x20
jb 0x673891
cmp dword [esp + 0x1c4], eax
je 0x677fa1
push 0x1f
pop ebx
push ebx
push dword [esp + 0x1c8]
lea ecx, [esp + 0x148]
call fcn.006797f4
and dword [esp + 0x54], ebx
xor eax, eax
mov ebx, dword [esp + 0x54]
mov dword [esp + 0xc], eax
push eax
push esi
lea ecx, [esp + 0x148]
call fcn.0067029d
push 0x13
push dword [esp + 0x10]
lea ecx, [esp + 0x148]
push ebx
call fcn.00679847
push 2
push 0xe
push dword [esp + 0x2c]
xor eax, eax
lea ecx, [esp + 0x164]
push 4
push eax
call fcn.0066f87c
mov ebx, dword [esp + 0x1c]
jmp 0x671702
mov esi, dword [esp + 0x14]
mov ebx, edi
cmp ecx, 0x11
jne case.default.0x670a77
lea eax, [esp + 0x170]
mov dword [esp + 0x20], edx
push eax
mov eax, dword [esp + 0x1c]
mov ecx, esi
mov edx, dword [eax*8 + 0x712314]
shr edx, 8
and edx, dword [esp + 0x5c]
call fcn.0067049c
pop ecx
test al, al
je case.default.0x670a77
mov edx, dword [esp + 0x3c]
mov ecx, esi
call fcn.00670503
test al, al
je 0x6793a3
mov eax, dword [esp + 0x18]
xor ecx, ecx
mov eax, dword [eax*8 + 0x712314]
shr eax, 0xf
and eax, 7
cmp eax, 2
sete cl
and ecx, dword [esp + 0x170]
add ecx, eax
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x10]
call fcn.00670331
test al, al
je 0x673db9
mov ebx, dword [esp + 0x10]
mov ecx, ebx
call fcn.0066f80c
mov ecx, ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x28], edx
call fcn.0066f7d7
test al, al
je 0x673bbc
mov ecx, ebx
call fcn.0066f7cd
test al, al
je 0x673a46
mov ecx, ebx
call fcn.0066f827
mov ebx, edi
movzx eax, byte [eax + 0x7107d0]
mov dword [esp + 0x28], eax
cmp eax, 0xff
je 0x673db9
mov ecx, dword [esp + 0x10]
call fcn.0066fd65
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x48], ecx
test eax, eax
je 0x6739cd
cmp eax, dword [esp + 0x34]
jne 0x678592
mov ebx, dword [esp + 0x18]
lea ecx, [esp + 0x140]
mov eax, dword [ebx*8 + 0x712310]
and eax, 0xffe00000
push eax
call fcn.00670252
mov eax, dword [ebx*8 + 0x712314]
lea ecx, [esp + 0x140]
shr eax, 0xa
and eax, 0x1f
push eax
push dword [esp + 0x174]
call fcn.0067985c
push 0xd
push dword [esp + 0x2c]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0xc
push dword [esp + 0x4c]
lea ecx, [esp + 0x148]
call fcn.006797f4
mov dword [esp + 0xf4], 0xb
lea ecx, [esp + 0xf4]
jmp 0x67861a
push dword [esp + 0x28]
mov ebx, edi
push dword [esp + 0x10]
call fcn.0067971d
pop ecx
pop ecx
test al, al
je 0x678c95
mov ecx, dword [esp + 0x10]
call fcn.0066fd7e
test al, al
je 0x673b20
mov ecx, dword [esp + 0xc]
call fcn.00679871
test al, al
je 0x678c95
mov ebx, dword [esp + 0x18]
lea ecx, [esp + 0x140]
mov eax, dword [ebx*8 + 0x712310]
and eax, 0xfffffc00
shl eax, 0xb
push eax
call fcn.00670252
mov eax, dword [ebx*8 + 0x712314]
lea ecx, [esp + 0x140]
shr eax, 0xa
and eax, 0x1f
push eax
push dword [esp + 0x174]
call fcn.0067985c
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0x140]
push 0xc
and eax, 0x1ff
push eax
call fcn.006797f4
mov ecx, dword [esp + 0x10]
push 0xb
call fcn.0066fd8f
movzx eax, al
lea ecx, [esp + 0x144]
push eax
call fcn.00679883
mov dword [esp + 0xf0], 0xa
lea ecx, [esp + 0xf0]
call fcn.0067037b
push eax
lea ecx, [esp + 0x144]
call fcn.006702b8
mov ebx, edi
jmp 0x678932
mov ebx, dword [esp + 0x34]
mov ecx, ebx
mov eax, dword [esp + 0xc]
shr eax, cl
mov ecx, eax
mov dword [esp + 0x24], eax
call fcn.00679899
test al, al
je 0x673b99
mov eax, dword [esp + 0x24]
mov ecx, ebx
shl eax, cl
cmp eax, dword [esp + 0xc]
jne 0x673b99
mov ebx, dword [esp + 0x18]
lea ecx, [esp + 0x140]
mov eax, dword [ebx*8 + 0x712310]
shl eax, 0x16
push eax
call fcn.00670252
mov eax, dword [ebx*8 + 0x712314]
lea ecx, [esp + 0x140]
shr eax, 0xa
and eax, 0x1f
push eax
push dword [esp + 0x174]
call fcn.0067985c
push 0xa
push dword [esp + 0x28]
lea ecx, [esp + 0x148]
call fcn.006797f4
jmp 0x673b19
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x40]
mov ebx, dword [eax*8 + 0x712314]
shr ebx, 0x12
movzx eax, byte [ebx*8 + 0x710951]
jmp 0x6740d9
mov eax, dword [esp + 0x18]
mov ebx, edi
mov eax, dword [eax*8 + 0x712314]
test al, al
je 0x673db9
shl eax, 0x18
lea ecx, [esp + 0x140]
push eax
call fcn.00670252
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx*8 + 0x712314]
lea ecx, [esp + 0x140]
shr eax, 0xa
and eax, 0x1f
push eax
push dword [esp + 0x174]
call fcn.0067985c
jmp 0x6789c4
mov esi, dword [esp + 0x14]
mov ebx, edi
cmp ecx, 0x89
jne case.default.0x670a77
mov eax, dword [esp + 0x1c]
mov ecx, esi
mov dword [esp + 0x20], eax
lea eax, [esp + 0x1c0]
push eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax*4 + 0x712c30]
shr eax, 0x14
and eax, 3
push eax
call fcn.006704c2
pop ecx
pop ecx
test al, al
je case.default.0x670a77
mov edx, dword [esp + 0x10]
mov ecx, esi
push 0x3f
call fcn.00670514
pop ecx
test al, al
je 0x6793a3
mov esi, dword [esp + 0x1c]
mov ecx, esi
call fcn.0066f7c5
cmp al, 7
jne 0x673db7
mov ecx, esi
call fcn.0066f7cd
test al, al
jne 0x673db7
mov ecx, esi
call fcn.0066f7e9
test al, al
jne 0x678c95
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov esi, dword [eax*4 + 0x712c30]
shr esi, 0x1b
and esi, 7
add esi, dword [esp + 0x1c0]
call fcn.0066f823
mov ecx, esi
sar eax, cl
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xc], eax
call fcn.0066f823
mov edx, dword [esp + 0xc]
mov ecx, esi
shl edx, cl
cmp edx, eax
jne 0x678c95
mov ecx, dword [esp + 0xc]
call fcn.006798a5
test al, al
je 0x678c95
mov esi, dword [esp + 0x1c]
mov ecx, esi
call fcn.0066fd7e
test al, al
je 0x673d46
cmp dword [esp + 0xc], 0
je 0x673d46
mov eax, dword [esp + 0x18]
mov eax, dword [eax*4 + 0x712c30]
test eax, 0xffc00
je 0x673db9
and eax, 0xfffffc00
lea ecx, [esp + 0x140]
shl eax, 0xc
push eax
call fcn.00670252
push 0x18
mov ecx, esi
call fcn.0066fd8f
movzx eax, al
lea ecx, [esp + 0x144]
push eax
call fcn.00679883
jmp 0x673d61
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
mov eax, dword [eax*4 + 0x712c30]
shl eax, 0x16
push eax
call fcn.00670252
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
mov eax, dword [eax*4 + 0x712c30]
shr eax, 0x16
and eax, 0x1f
push eax
push dword [esp + 0x1c4]
call fcn.006797f4
mov eax, dword [esp + 0xc]
push 0xf
and eax, 0x7f
lea ecx, [esp + 0x144]
push eax
call fcn.006797f4
push 0xa
push dword [esp + 0x14]
lea ecx, [esp + 0x148]
call fcn.0067029d
mov esi, dword [esp + 0x14]
jmp 0x673b19
mov ebx, edi
push 0x2b
jmp 0x6773c6
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
lea edx, [eax*4 + 0x712ee0]
mov dword [esp + 0x28], edx
cmp ecx, 0x89
jne 0x6773c2
mov eax, dword [esp + 0x34]
and eax, 0xff000fff
cmp eax, 0x4000031
jne 0x6773c2
mov edx, dword [edx]
lea eax, [esp + 0x214]
mov ecx, dword [esp + 0x10]
shr edx, 0x16
push eax
and edx, 3
call fcn.0067049c
pop ecx
test al, al
je 0x6773c2
mov edx, dword [esp + 0x10]
mov ecx, esi
push 0x3f
mov ebx, edi
call fcn.00670514
pop ecx
test al, al
je 0x6793a3
mov ebx, dword [esp + 0x28]
mov ecx, ebx
call fcn.0066fe44
push eax
lea ecx, [esp + 0x144]
call fcn.00670252
movzx eax, byte [ebx + 3]
and eax, 0x1f
push eax
push dword [esp + 0x218]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x10
push esi
lea ecx, [esp + 0x148]
call fcn.0067029d
xor eax, eax
push eax
push dword [esp + 0x14]
lea ecx, [esp + 0x148]
call fcn.0067029d
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0xc], ebx
jmp 0x674663
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
lea eax, [eax*4 + 0x712898]
mov dword [esp + 0x28], eax
cmp ecx, 0x89
jne 0x6773c2
mov edx, dword [eax]
lea ecx, [esp + 0x1d4]
shr edx, 0x16
push ecx
and edx, 3
mov ecx, esi
call fcn.0067049c
pop ecx
test al, al
je 0x6773c2
mov edx, dword [esp + 0x10]
mov ecx, esi
call fcn.00670445
test al, al
je 0x6773c2
mov edx, dword [esp + 0x10]
mov ecx, esi
push 0x3f
mov ebx, edi
call fcn.00670514
pop ecx
test al, al
je 0x6793a3
mov ebx, dword [esp + 0x28]
mov ecx, ebx
call fcn.0066fe44
push eax
lea ecx, [esp + 0x144]
call fcn.00670252
movzx eax, byte [ebx + 3]
lea ecx, [esp + 0x140]
and eax, 0x1f
push eax
push dword [esp + 0x1d8]
call fcn.006797f4
push 0xa
push dword [esp + 0x14]
lea ecx, [esp + 0x148]
call fcn.0067029d
xor eax, eax
push eax
push esi
jmp 0x673e76
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
lea edx, [eax*4 + 0x712470]
mov dword [esp + 0x28], edx
cmp ecx, 0x449
jne 0x6773c2
mov eax, dword [esp + 0x34]
and eax, 0xff000fff
cmp eax, 0x4000031
jne 0x6773c2
mov edx, dword [edx]
lea eax, [esp + 0x1d8]
mov ebx, dword [esp + 0x10]
mov ecx, ebx
shr edx, 0x16
push eax
and edx, 3
call fcn.0067049c
pop ecx
test al, al
je 0x6773c2
mov edx, dword [esp + 0x1c]
mov ecx, ebx
call fcn.00670445
test al, al
je 0x6773c2
mov edx, dword [esp + 0x10]
mov ecx, esi
push 0x3f
push dword [esp + 0x20]
mov ebx, edi
call fcn.00670538
pop ecx
pop ecx
test al, al
je 0x6793a3
mov ebx, dword [esp + 0x28]
mov ecx, ebx
call fcn.0066fe44
push eax
lea ecx, [esp + 0x144]
call fcn.00670252
movzx eax, byte [ebx + 3]
lea ecx, [esp + 0x140]
and eax, 0x1f
push eax
push dword [esp + 0x1dc]
call fcn.006797f4
push 0x10
push esi
lea ecx, [esp + 0x148]
call fcn.0067029d
push 0xa
push dword [esp + 0x20]
lea ecx, [esp + 0x148]
call fcn.0067029d
xor eax, eax
lea ecx, [esp + 0x140]
push eax
push dword [esp + 0x14]
call fcn.0067029d
mov ebx, dword [esp + 0x38]
jmp 0x673e86
mov eax, dword [esp + 0x18]
mov ebx, edi
mov esi, dword [esp + 0x14]
lea eax, [eax*8 + 0x712358]
mov dword [esp + 0x24], eax
cmp ecx, 0x11
jne case.default.0x670a77
mov dword [esp + 0xc], edx
lea ecx, [esp + 0x1dc]
mov edx, dword [eax]
shr edx, 0x16
push ecx
and edx, 3
mov ecx, esi
call fcn.0067049c
pop ecx
test al, al
je case.default.0x670a77
mov eax, dword [esp + 0x24]
mov ecx, esi
movzx edx, byte [eax + 3]
and edx, 0x3f
call fcn.00670503
test al, al
je 0x6793a3
mov ebx, dword [esp + 0x24]
mov ecx, ebx
call fcn.0066fe44
push eax
lea ecx, [esp + 0x144]
call fcn.00670252
mov eax, dword [ebx + 4]
lea ecx, [esp + 0x140]
and eax, 0x1f
push eax
push dword [esp + 0x1e0]
call fcn.006797f4
xor eax, eax
push eax
push esi
jmp 0x674653
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
imul edi, eax, 0xc
add edi, 0x7132b8
mov dword [esp + 0xc], edi
cmp ecx, 0x11
jne case.default.0x670a77
mov dword [esp + 0x20], edx
lea eax, [esp + 0x1e0]
mov edx, dword [edi + 4]
mov ecx, esi
shr edx, 0x16
and edx, dword [esp + 0x58]
push eax
call fcn.0067049c
pop ecx
test al, al
je case.default.0x670a77
movzx edx, byte [edi + 7]
mov ecx, esi
and edx, dword [esp + 0x3c]
call fcn.00670503
test al, al
je 0x6793a3
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.0066f7d7
test al, al
je 0x673db9
mov ecx, edi
call fcn.0066f7cd
test al, al
jne 0x673db9
mov ecx, edi
call fcn.0066f7e9
test al, al
jne 0x678c95
mov ecx, edi
call fcn.0066f823
mov edx, dword [esp + 0xc]
mov ecx, dword [edx + 8]
shr ecx, 5
and ecx, 0xf
sar eax, cl
lea ecx, [esp + 0x198]
mov dword [esp + 0x198], eax
mov eax, dword [edx + 8]
lea edx, [esp + 0x98]
shr eax, 5
and eax, 0xf
mov dword [esp + 0x98], eax
call fcn.00679716
mov ecx, edi
mov esi, eax
call fcn.0066f823
cmp esi, eax
jne 0x678c95
mov ecx, dword [esp + 0x198]
call fcn.00679871
test al, al
je 0x678c95
mov ecx, edi
call fcn.0066fd6e
mov esi, dword [esp + 0xc]
mov ecx, esi
test al, al
je 0x6741eb
call fcn.0066fe44
push eax
lea ecx, [esp + 0x144]
call fcn.00670252
jmp 0x674225
call fcn.0066fe4a
test eax, eax
je case.default.0x670a77
mov ecx, esi
call fcn.0066fe4a
push eax
lea ecx, [esp + 0x144]
call fcn.00670252
push 0xb
mov ecx, edi
call fcn.0066fd8f
movzx eax, al
lea ecx, [esp + 0x144]
push eax
call fcn.006798b2
mov eax, dword [esi + 8]
lea ecx, [esp + 0x140]
and eax, 0x1f
push eax
push dword [esp + 0x1e4]
call fcn.0067985c
mov eax, dword [esp + 0x198]
lea ecx, [esp + 0x140]
push 0xc
and eax, 0x1ff
push eax
call fcn.006797f4
mov esi, dword [esp + 0x14]
jmp 0x678932
mov eax, dword [esp + 0x18]
mov ebx, edi
mov esi, dword [esp + 0x14]
lea eax, [eax*8 + 0x712130]
mov dword [esp + 0xc], eax
cmp ecx, 0x11
jne case.default.0x670a77
mov dword [esp + 0x20], edx
lea ecx, [esp + 0x1e4]
mov edx, dword [eax]
shr edx, 0x16
push ecx
and edx, 3
mov ecx, esi
call fcn.0067049c
pop ecx
test al, al
je case.default.0x670a77
mov eax, dword [esp + 0xc]
mov ecx, esi
movzx edx, byte [eax + 3]
and edx, 0x3f
call fcn.00670503
test al, al
je 0x6793a3
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.0066f7d7
test al, al
je 0x673db7
mov ecx, esi
call fcn.0066f7cd
test al, al
jne 0x673db7
mov ecx, esi
call fcn.0066f7e9
test al, al
jne 0x678c95
mov ecx, esi
call fcn.0066f823
mov edx, dword [esp + 0xc]
mov ecx, dword [edx + 4]
shr ecx, 5
and ecx, 0xf
sar eax, cl
lea ecx, [esp + 0x164]
mov dword [esp + 0x164], eax
mov eax, dword [edx + 4]
lea edx, [esp + 0xe8]
shr eax, 5
and eax, 0xf
mov dword [esp + 0xe8], eax
call fcn.00679716
mov ecx, dword [esp + 0x10]
mov esi, eax
call fcn.0066f823
cmp esi, eax
jne 0x678c95
mov ecx, dword [esp + 0x164]
call fcn.006798c4
test al, al
je 0x678c95
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.0066fd9f
test al, al
jne 0x673db9
mov ebx, dword [esp + 0xc]
mov ecx, ebx
and dword [esp + 0x164], 0x3ff
call fcn.0066fe44
push eax
lea ecx, [esp + 0x144]
call fcn.00670252
push 0xb
mov ecx, esi
call fcn.0066fd8f
movzx eax, al
lea ecx, [esp + 0x144]
push eax
call fcn.006798b2
mov eax, dword [ebx + 4]
lea ecx, [esp + 0x140]
and eax, 0x1f
push eax
push dword [esp + 0x1e8]
call fcn.0067985c
mov eax, dword [esp + 0x164]
lea ecx, [esp + 0x140]
push 0x16
sar eax, 9
push eax
call fcn.006797f4
push 0xc
push dword [esp + 0x168]
lea ecx, [esp + 0x148]
call fcn.006797f4
jmp 0x673dae
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
lea eax, [eax*4 + 0x7130c0]
mov dword [esp + 0x28], eax
cmp ecx, 0x89
jne 0x6773c2
mov edx, dword [eax]
lea ecx, [esp + 0x1e8]
shr edx, 0x16
push ecx
and edx, 3
mov ecx, esi
call fcn.0067049c
pop ecx
test al, al
je 0x6773c2
mov edx, dword [esp + 0x10]
mov ecx, esi
call fcn.00670445
test al, al
je 0x6773c2
mov edx, dword [esp + 0x10]
mov ecx, esi
push 0x3f
mov ebx, edi
call fcn.00670514
pop ecx
test al, al
je case.default.0x670a77
mov ebx, dword [esp + 0x28]
mov ecx, ebx
call fcn.0066fe44
push eax
lea ecx, [esp + 0x144]
call fcn.00670252
movzx eax, byte [ebx + 3]
and eax, 0x1f
push eax
push dword [esp + 0x1ec]
jmp 0x673e54
mov eax, dword [esp + 0x18]
mov ebx, edi
mov esi, dword [esp + 0x14]
lea eax, [eax*4 + 0x712768]
mov dword [esp + 0x28], eax
cmp ecx, 0x11
jne case.default.0x670a77
mov edx, dword [eax]
lea ecx, [esp + 0x1ec]
shr edx, 0x16
push ecx
and edx, 3
mov ecx, esi
call fcn.0067049c
pop ecx
test al, al
je case.default.0x670a77
push 0x3f
pop eax
mov edx, eax
mov dword [esp + 0x3c], eax
mov ecx, esi
call fcn.00670503
test al, al
je 0x6793a3
mov ebx, dword [esp + 0x28]
mov ecx, ebx
call fcn.0066fe44
push eax
lea ecx, [esp + 0x144]
call fcn.00670252
movzx eax, byte [ebx + 3]
lea ecx, [esp + 0x140]
and eax, 0x1f
push eax
push dword [esp + 0x1f0]
call fcn.006797f4
push 0x10
push esi
lea ecx, [esp + 0x148]
call fcn.0067029d
xor eax, eax
lea ecx, [esp + 0x140]
push eax
push dword [esp + 0x40]
call fcn.00670285
mov ebx, dword [esp + 0x10]
jmp 0x673e86
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x14]
lea eax, [eax*4 + 0x712c48]
mov dword [esp + 0x24], eax
cmp ecx, 0x249
jne 0x6773c2
mov eax, dword [edx + 0x10]
and al, 7
cmp al, 2
jne 0x6773c2
lea ecx, [edx + 0x10]
call fcn.0066f700
mov ecx, dword [esp + 0x24]
mov ebx, edi
mov dword [esp + 0xc], eax
lea eax, [esp + 0x1f0]
push eax
mov edx, dword [ecx]
mov ecx, esi
shr edx, 0x16
and edx, 3
call fcn.0067049c
pop ecx
test al, al
je case.default.0x670a77
push dword [esp + 0x38]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 0x20]
call fcn.00670465
pop ecx
pop ecx
test al, al
je case.default.0x670a77
mov ebx, dword [esp + 0x1c]
mov ecx, esi
mov edx, ebx
call fcn.0067059c
test al, al
je 0x671b7e
push 0x3f
mov edx, ebx
mov ecx, esi
call fcn.00670514
pop ecx
test al, al
je 0x671b7e
mov edx, dword [esp + 0x10]
mov ecx, esi
call fcn.006705a7
test al, al
je 0x671b7e
mov edx, dword [esp + 0x38]
mov ecx, ebx
call fcn.006705a7
test al, al
je 0x671b7e
mov ecx, dword [esp + 0x24]
call fcn.0066fe44
push eax
lea ecx, [esp + 0x144]
call fcn.00670252
mov ecx, dword [esp + 0x24]
movzx eax, byte [ecx + 3]
lea ecx, [esp + 0x140]
and eax, 0x1f
push eax
push dword [esp + 0x1f4]
call fcn.006797f4
push 0x10
push esi
lea ecx, [esp + 0x148]
call fcn.0067029d
xor eax, eax
push eax
push ebx
lea ecx, [esp + 0x148]
call fcn.0067029d
mov ebx, dword [esp + 0xc]
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.00670585
test al, al
je 0x673db7
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066f7cd
test al, al
jne 0x673db7
mov ecx, dword [esp + 0xc]
mov ebx, edi
call fcn.0066f700
mov ecx, eax
call fcn.0066f7f7
test al, al
jne 0x678c95
mov ecx, dword [esp + 0xc]
push 5
call fcn.0066f700
mov ecx, eax
call fcn.0066f789
push eax
jmp 0x671f1b
mov esi, dword [esp + 0x14]
mov ebx, edi
cmp ecx, 9
jne case.default.0x670a77
mov ecx, dword [esp + 0xc]
shr ecx, 3
and ecx, eax
sub ecx, 0xb
mov dword [esp + 0xc], ecx
cmp ecx, 1
ja case.default.0x670a77
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fcf8
test al, al
jne case.default.0x670a77
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
mov dl, 9
mov cl, al
call fcn.0066fec3
mov ecx, dword [esp + 0x10]
mov ebx, eax
mov dword [esp + 0x28], ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
sub eax, 2
mov ecx, eax
or ecx, ebx
cmp ecx, 1
ja 0x6773c2
cmp ebx, eax
jne 0x6773c2
test ebx, ebx
je 0x674759
cmp dword [esp + 0xc], 0
mov ebx, edi
je case.default.0x670a77
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
mov eax, dword [eax*4 + 0x7125b4]
shl eax, 0xa
push eax
call fcn.00670252
push dword [ebx*4 + 0x725bf0]
lea ecx, [esp + 0x144]
call fcn.006702c6
push 0x1e
push dword [esp + 0x10]
lea ecx, [esp + 0x148]
call fcn.006797f4
jmp 0x674835
mov eax, dword [esp + 0x18]
mov ebx, edi
mov esi, dword [esp + 0x14]
lea eax, [eax*8 + 0x712490]
mov dword [esp + 0x28], eax
cmp ecx, 9
jne case.default.0x670a77
push dword [esp + 0x20]
mov ecx, esi
call fcn.006702d4
pop ecx
test al, al
je case.default.0x670a77
mov esi, dword [esp + 0x28]
mov ecx, esi
call fcn.0066fe57
mov ecx, esi
mov dword [esp + 0x28], eax
call fcn.0066fe4a
mov ecx, esi
mov ebx, eax
call fcn.0066fe51
mov ecx, esi
mov edi, eax
call fcn.0066fe44
mov ecx, dword [esp + 0x14]
mov esi, eax
call fcn.0066f700
mov ecx, dword [esp + 0x44]
mov edx, esi
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x140]
push ecx
push dword [esp + 0x2c]
mov ecx, eax
push ebx
push edi
call fcn.00670427
add esp, 0x10
test al, al
je 0x6793ac
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ecx, esi
mov ebx, edi
call fcn.00670641
test al, al
je 0x6793a3
mov eax, dword [esp + 0x10]
push 0x1f
pop edx
mov ecx, dword [eax + 4]
and ecx, edx
jmp 0x678088
mov eax, dword [esp + 0x18]
mov ebx, edi
mov esi, dword [esp + 0x14]
lea eax, [eax*8 + 0x712668]
mov dword [esp + 0x28], eax
cmp ecx, 0x49
jne case.default.0x670a77
push dword [esp + 0x20]
mov ecx, esi
push dword [esp + 0x20]
call fcn.006702ea
pop ecx
pop ecx
test al, al
je case.default.0x670a77
mov esi, dword [esp + 0x28]
mov ecx, esi
call fcn.0066fe57
mov ecx, esi
mov dword [esp + 0x28], eax
call fcn.0066fe4a
mov ecx, esi
mov ebx, eax
call fcn.0066fe51
mov ecx, esi
mov edi, eax
call fcn.0066fe44
mov ecx, dword [esp + 0x14]
mov esi, eax
call fcn.0066f700
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x140]
push ecx
push dword [esp + 0x2c]
push ebx
push edi
mov edx, esi
mov ecx, eax
call fcn.00670427
add esp, 0x10
test al, al
je 0x6793ac
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x14]
jmp 0x678054
imul eax, dword [esp + 0x18], 0xc
mov esi, dword [esp + 0x14]
add eax, 0x712558
mov dword [esp + 0xc], eax
cmp ecx, 0x49
jne 0x6773c2
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
push dword [esp + 0x20]
mov ebx, edi
mov ecx, esi
mov eax, dword [eax]
shr eax, 0xf
test al, 1
jne 0x674994
push dword [esp + 0x20]
mov edx, dword [esp + 0x18]
call fcn.006702ea
pop ecx
pop ecx
test al, al
je case.default.0x670a77
mov esi, dword [esp + 0xc]
mov ecx, esi
call fcn.0066fe5e
mov ecx, esi
mov dword [esp + 0x28], eax
call fcn.0066fe4a
mov ecx, esi
mov ebx, eax
call fcn.0066fe51
mov ecx, esi
mov edi, eax
call fcn.0066fe44
mov ecx, dword [esp + 0x14]
mov esi, eax
call fcn.0066f700
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x140]
push ecx
push dword [esp + 0x2c]
jmp 0x6748d9
mov edi, dword [esp + 0x14]
mov edx, edi
call fcn.006702d4
pop ecx
test al, al
je case.default.0x670a77
mov ecx, edi
call fcn.0066f700
mov ecx, eax
call fcn.0066fcd8
mov ecx, dword [esp + 0xc]
movzx eax, al
mov dword [esp + 0x28], eax
call fcn.0066fe6e
mov ecx, dword [esp + 0xc]
mov edi, eax
call fcn.0066fe62
mov ecx, dword [esp + 0x14]
mov esi, eax
call fcn.0066f700
mov ebx, dword [esp + 0x44]
lea ecx, [esp + 0x1bc]
push ecx
lea ecx, [esp + 0x144]
mov edx, esi
push ecx
push 5
pop ecx
push ecx
push edi
push ecx
mov ecx, eax
call fcn.00670383
add esp, 0x14
test al, al
je case.default.0x670a77
cmp dword [esp + 0x1bc], 0
mov edi, ebx
jne 0x674a2f
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066f789
cmp eax, 0xf
ja 0x6793a3
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066fd1d
mov ecx, dword [esp + 0x1bc]
mov esi, eax
push 7
pop eax
shr eax, cl
cmp esi, eax
ja 0x6791e7
push 0x1e
push dword [esp + 0x2c]
shl esi, cl
lea ecx, [esp + 0x148]
call fcn.006797f4
mov eax, esi
lea ecx, [esp + 0x140]
push 0x14
and eax, 3
push eax
call fcn.006797f4
push 0xb
shr esi, 2
push esi
lea ecx, [esp + 0x148]
call fcn.006797f4
jmp 0x6748f3
mov eax, dword [esp + 0x18]
mov ebx, edi
mov esi, dword [esp + 0x14]
lea eax, [eax*8 + 0x712728]
mov dword [esp + 0x28], eax
cmp ecx, 0x249
jne case.default.0x670a77
push dword [esp + 0x20]
mov ecx, esi
push dword [esp + 0x3c]
push dword [esp + 0x24]
call fcn.0067030a
add esp, 0xc
test al, al
je case.default.0x670a77
mov esi, dword [esp + 0x28]
mov ecx, esi
call fcn.0066fe57
mov ecx, esi
mov dword [esp + 0x28], eax
call fcn.0066fe4a
mov ecx, esi
mov ebx, eax
call fcn.0066fe51
mov ecx, esi
mov edi, eax
call fcn.0066fe44
mov ecx, dword [esp + 0x14]
mov esi, eax
call fcn.0066f700
mov ecx, dword [esp + 0x44]
mov edx, esi
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x140]
push ecx
push dword [esp + 0x2c]
mov ecx, eax
push ebx
push edi
call fcn.00670427
add esp, 0x10
test al, al
je 0x6793ac
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x14]
jmp 0x676a31
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
lea eax, [eax*4 + 0x712534]
mov dword [esp + 0x28], eax
cmp ecx, 0x649
jne 0x6773c2
push dword [esp + 0x1c]
mov ecx, esi
call fcn.0067044d
pop ecx
test al, al
je 0x6773c2
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fd02
test al, al
jne 0x6773c2
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
mov dl, 0xb
mov cl, al
call fcn.0066fec3
mov dword [esp + 0x48], eax
mov ebx, edi
cmp eax, 1
ja case.default.0x670a77
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
mov ebx, eax
sub ebx, 1
je 0x6773c2
cmp ebx, 3
ja 0x6773c2
mov ecx, dword [esp + 0x38]
xor eax, eax
mov dword [esp + 0xc], eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
cmp eax, 0x10e
jne 0x674bfb
xor eax, eax
cmp edx, eax
jne 0x674bfb
mov dword [esp + 0xc], 1
jmp 0x674c1e
mov ecx, dword [esp + 0x38]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
cmp eax, 0x5a
jne 0x677fa1
xor eax, eax
cmp edx, eax
jne 0x677fa1
mov ecx, dword [esp + 0x28]
call fcn.0066fe44
push eax
lea ecx, [esp + 0x144]
call fcn.00670252
push 0x1e
push dword [esp + 0x4c]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x16
push ebx
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0xc
push dword [esp + 0x10]
jmp 0x678048
mov esi, dword [esp + 0x14]
cmp ecx, 0x6c9
jne 0x6773c2
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
mov dl, 9
mov cl, al
call fcn.0066fec3
mov dword [esp + 0x28], eax
mov ebx, edi
cmp eax, 2
ja case.default.0x670a77
mov edx, dword [esp + 0x10]
mov ecx, esi
call fcn.00670445
test al, al
je 0x6773c2
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fcf8
test al, al
jne 0x6773c2
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov ecx, dword [esp + 0x38]
mov ebx, eax
mov dword [esp + 0xc], edx
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov ecx, eax
mov dword [esp + 0x48], eax
or ecx, ebx
or edx, dword [esp + 0xc]
ja 0x677fa1
jb 0x674d02
cmp ecx, 0xf
ja 0x677fa1
mov eax, dword [esp + 0x18]
lea ecx, [eax*4 + 0x71252c]
call fcn.0066f867
push eax
lea ecx, [esp + 0x144]
call fcn.00670252
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x140]
dec eax
push 0x16
and eax, 3
push eax
call fcn.006797f4
mov ecx, dword [esp + 0x48]
push 0xc
call fcn.0066febc
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
xor eax, eax
lea ecx, [esp + 0x140]
push eax
push dword [esp + 0x10]
push ebx
call fcn.00679847
jmp 0x67516e
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
lea eax, [eax*8 + 0x712700]
mov dword [esp + 0xc], eax
cmp ecx, 0x49
jne 0x674df9
mov ecx, eax
call fcn.0066fe75
test al, al
je 0x6773c2
push dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 0x20]
mov ebx, edi
call fcn.006702ea
pop ecx
pop ecx
test al, al
je case.default.0x670a77
mov esi, dword [esp + 0xc]
mov ecx, esi
call fcn.0066fe51
mov ecx, esi
mov dword [esp + 0x28], eax
call fcn.0066fe44
mov ecx, esi
mov ebx, eax
call fcn.0066fe51
mov ecx, esi
mov edi, eax
call fcn.0066fe8a
mov ecx, dword [esp + 0x14]
mov esi, eax
call fcn.0066f700
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x140]
push ecx
push dword [esp + 0x2c]
jmp 0x6748d9
cmp ecx, 0xc9
jne 0x6773c2
mov ecx, eax
call fcn.0066fe7f
test al, al
je 0x6773c2
mov edx, dword [esp + 0x10]
mov ecx, esi
mov ebx, edi
call fcn.00670445
test al, al
je case.default.0x670a77
mov esi, dword [esp + 0x1c]
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
or eax, edx
jne 0x677fa1
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f827
test eax, eax
jne 0x677fa1
mov ecx, dword [esp + 0xc]
call fcn.0066fe4a
mov ecx, dword [esp + 0xc]
mov edi, eax
call fcn.0066fe95
mov ecx, dword [esp + 0x14]
mov esi, eax
call fcn.0066f700
mov ebx, dword [esp + 0x44]
lea ecx, [esp + 0x140]
mov edx, esi
push ecx
push 3
pop ecx
push ecx
push edi
push ecx
mov ecx, eax
call fcn.00670427
add esp, 0x10
test al, al
je case.default.0x670a77
mov edi, ebx
jmp 0x674831
mov eax, dword [esp + 0x18]
mov ebx, edi
mov esi, dword [esp + 0x14]
lea eax, [eax*8 + 0x712748]
mov dword [esp + 0x20], eax
cmp ecx, 0x649
jne case.default.0x670a77
mov ecx, esi
call fcn.00670445
test al, al
je case.default.0x670a77
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
mov dl, 0xb
mov cl, al
call fcn.0066fec3
mov dword [esp + 0x24], eax
cmp eax, 1
ja case.default.0x670a77
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
sub eax, 1
mov dword [esp + 0x40], eax
je 0x6773c2
push 3
pop ebx
mov dword [esp + 0x58], ebx
cmp eax, ebx
ja 0x6773c2
mov ecx, dword [esp + 0x38]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
xor ecx, ecx
cmp edx, ecx
jl 0x677fa1
jg 0x677fa1
cmp eax, ecx
jb 0x677fa1
cmp edx, ecx
jg 0x677fa1
jl 0x674f60
cmp eax, 0x10e
ja 0x677fa1
sub eax, ecx
je 0x674f91
sub eax, 0x5a
je 0x674f87
sub eax, 0x5a
je 0x674f7d
sub eax, 0x5a
jne 0x677fa1
mov dword [esp + 0xc], ebx
jmp 0x674f95
mov dword [esp + 0xc], 2
jmp 0x674f95
mov dword [esp + 0xc], 1
jmp 0x674f95
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066fd02
mov ebx, edi
test al, al
jne 0x675002
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
call fcn.00670445
test al, al
je case.default.0x670a77
mov ecx, dword [esp + 0x20]
call fcn.0066fe44
push eax
lea ecx, [esp + 0x144]
call fcn.00670252
push 0x1e
push dword [esp + 0x28]
lea ecx, [esp + 0x148]
call fcn.006797f4
mov ebx, dword [esp + 0x40]
lea ecx, [esp + 0x140]
push 0x16
push ebx
call fcn.006797f4
push 0xb
jmp 0x674c57
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
mov ecx, dword [esp + 0x1c]
mov esi, eax
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
cmp esi, eax
jne case.default.0x670a77
mov ebx, dword [esp + 0x40]
cmp ebx, 1
je 0x675047
cmp dword [esp + 0x24], 1
jne 0x6773c2
cmp ebx, 2
jne 0x6773c2
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066fd1d
mov esi, eax
xor ecx, ecx
xor eax, eax
inc eax
cmp ebx, eax
setne cl
cmp dword [esp + 0x24], eax
jne 0x675071
cmp ebx, eax
jne 0x675071
mov eax, dword [esp + 0x58]
cmp esi, eax
ja 0x6791e7
shl esi, cl
mov ecx, dword [esp + 0x20]
call fcn.0066fe4a
push eax
lea ecx, [esp + 0x144]
call fcn.00670252
push 0x1e
push dword [esp + 0x28]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x16
push ebx
lea ecx, [esp + 0x148]
call fcn.006797f4
mov eax, esi
lea ecx, [esp + 0x140]
push 0x15
and eax, 1
push eax
call fcn.006797f4
push 0xb
shr esi, 1
lea ecx, [esp + 0x144]
push esi
call fcn.006797f4
push 0xd
push dword [esp + 0x10]
jmp 0x674a83
mov eax, dword [esp + 0x34]
mov ebx, edi
mov esi, dword [esp + 0x14]
shr eax, 3
and eax, 0x1f
sub eax, 9
mov dword [esp + 0x34], eax
cmp eax, 2
ja case.default.0x670a77
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fcf8
test al, al
jne case.default.0x670a77
mov eax, dword [esp + 0x18]
lea ecx, [eax*4 + 0x712fa8]
call fcn.0066f867
push eax
lea ecx, [esp + 0x144]
call fcn.00670252
mov eax, dword [esp + 0x34]
push 0x16
push 3
pop ecx
dec eax
mov dword [esp + 0x5c], ecx
and eax, ecx
lea ecx, [esp + 0x144]
push eax
call fcn.006797f4
mov eax, dword [esp + 0x40]
cmp eax, 9
jne 0x675199
mov edx, dword [esp + 0x10]
mov ecx, esi
call fcn.00670445
test al, al
je case.default.0x670a77
mov edx, dword [esp + 0x10]
mov ecx, esi
mov ebx, edi
call fcn.00670641
test al, al
je 0x6793a3
push 5
push esi
lea ecx, [esp + 0x148]
call fcn.0067029d
push 0x10
jmp 0x6733c5
cmp eax, 0x19
jne 0x6773c2
mov ebx, dword [esp + 0x10]
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
or eax, edx
jne 0x6773c2
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066f827
test eax, eax
jne 0x6773c2
mov eax, dword [esp + 0x58]
lea ecx, [esp + 0xe4]
mov dword [esp + 0xe4], eax
call fcn.0067037b
push eax
lea ecx, [esp + 0x144]
call fcn.006702b8
mov ecx, esi
mov ebx, edi
call fcn.00670613
test al, al
je 0x6793a3
jmp 0x672ebf
mov esi, dword [esp + 0x14]
mov ebx, edi
cmp ecx, 0x649
jne case.default.0x670a77
push dword [esp + 0x1c]
mov ecx, esi
call fcn.0067044d
pop ecx
test al, al
je case.default.0x670a77
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
mov dl, 9
mov cl, al
call fcn.0066fec3
mov dword [esp + 0x28], eax
cmp eax, 2
ja 0x6773c2
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fcf8
test al, al
jne 0x6773c2
mov ecx, dword [esp + 0x38]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov ebx, eax
xor eax, eax
cmp edx, eax
ja 0x677fa1
jb 0x675293
cmp ebx, 0xf
ja 0x677fa1
push 0x1e200c00
lea ecx, [esp + 0x144]
call fcn.00670252
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x140]
dec eax
push 0x16
and eax, 3
push eax
call fcn.006797f4
push 0xc
mov ecx, ebx
call fcn.0066febc
push eax
jmp 0x678048
mov esi, dword [esp + 0x14]
mov ebx, edi
cmp ecx, 9
jne case.default.0x670a77
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x34]
shr edx, 3
and edx, eax
shr ecx, 3
and ecx, eax
sub edx, 9
sub ecx, 9
mov dword [esp + 0xc], edx
mov eax, edx
mov dword [esp + 0x34], ecx
or eax, ecx
cmp eax, 3
ja case.default.0x670a77
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fcf8
test al, al
jne 0x6773c2
mov ecx, dword [esp + 0x10]
call fcn.0066f700
mov ecx, eax
call fcn.0066fcf8
test al, al
jne 0x6773c2
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x140]
shl eax, 2
or eax, dword [esp + 0xc]
push 0x1e224000
movzx esi, byte [eax + 0x725b7c]
call fcn.00670252
mov eax, esi
lea ecx, [esp + 0x140]
push 0x16
shr eax, 4
push eax
call fcn.006797f4
push 0xf
and esi, 0xf
push esi
lea ecx, [esp + 0x148]
call fcn.006797f4
jmp 0x674831
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
lea ebx, [eax*4 + 0x712538]
mov dword [esp + 0xc], ebx
cmp ecx, 9
jne 0x6773c2
mov eax, dword [esp + 0x34]
and eax, 0xff000fff
cmp eax, 0x4000151
jne 0x675448
mov ecx, edx
call fcn.0066f700
mov ecx, eax
call fcn.0066fcc8
test al, al
je 0x675448
mov ecx, dword [esp + 0xc]
mov ebx, edi
call fcn.0066feaa
test eax, eax
je case.default.0x670a77
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fcf8
test al, al
jne 0x6773c2
mov ecx, dword [esp + 0x10]
call fcn.0066f700
mov ecx, eax
call fcn.0066fcf8
test al, al
jne 0x6773c2
mov ecx, dword [esp + 0xc]
call fcn.0066fe8a
push eax
lea ecx, [esp + 0x144]
call fcn.00670252
lea ecx, [esp + 0xe0]
mov dword [esp + 0xe0], 0x16
call fcn.0067037b
push eax
lea ecx, [esp + 0x144]
call fcn.006702b8
jmp 0x674835
mov ecx, ebx
call fcn.0066fe44
push eax
lea ecx, [esp + 0x144]
call fcn.00670252
and dword [esp + 0x20], 4
mov ecx, esi
cmove ecx, dword [esp + 0x10]
call fcn.0066f700
cmp dword [esp + 0x20], 0
mov ecx, dword [esp + 0x10]
cmove ecx, esi
mov dword [esp + 0x28], eax
call fcn.0066f700
mov ecx, eax
mov dword [esp + 0x24], eax
call fcn.0066f7c5
mov dl, 0xb
mov cl, al
call fcn.0066fec3
lea ecx, [esp + 0x140]
mov esi, eax
mov ebx, edi
call fcn.0067025e
movzx ecx, al
cmp ecx, esi
jne case.default.0x670a77
mov ebx, dword [esp + 0x28]
mov ecx, ebx
call fcn.0066fd45
mov esi, dword [esp + 0x24]
test al, al
je 0x6754e1
mov ecx, esi
call fcn.0066fd14
cmp eax, 2
jne 0x6754e1
mov ecx, dword [esp + 0xc]
call fcn.0066fea1
test eax, eax
je 0x674831
mov ecx, ebx
call fcn.0066fd55
test al, al
je 0x6773c2
mov ecx, esi
call fcn.0066fd14
cmp eax, 3
jne 0x6773c2
lea ecx, [esp + 0xdc]
mov dword [esp + 0xdc], 0x16
call fcn.0067037b
push eax
lea ecx, [esp + 0x144]
call fcn.006702b8
jmp 0x674831
imul ebx, dword [esp + 0x18], 0xc
mov edi, edx
mov esi, dword [esp + 0x14]
add ebx, 0x712e50
mov dword [esp + 0x24], ebx
mov eax, dword [ebx + 8]
test eax, eax
cmovs edi, esi
mov dword [esp + 0x40], edi
mov edi, esi
cmovs edi, edx
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x44]
cmp ecx, 9
jne 0x675666
mov ebx, dword [esp + 0x40]
xor eax, eax
push eax
mov ecx, ebx
call fcn.0066f78d
test al, al
je 0x6755ff
mov ecx, dword [esp + 0xc]
call fcn.0066f700
mov ecx, eax
call fcn.0066f7b5
test al, al
je 0x6755ff
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066fca8
mov ecx, dword [esp + 0xc]
movzx eax, al
mov dword [esp + 0x48], eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
mov dl, 9
mov cl, al
call fcn.0066fec3
mov dword [esp + 0x28], eax
mov ebx, edi
cmp eax, 2
ja case.default.0x670a77
mov ecx, dword [esp + 0x24]
call fcn.0066fe6e
push eax
lea ecx, [esp + 0x144]
call fcn.00670252
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x140]
dec eax
push 0x16
and eax, 3
push eax
call fcn.006797f4
push 0x1f
push dword [esp + 0x4c]
jmp 0x67478d
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f7b5
test al, al
je 0x6773c2
mov ecx, dword [esp + 0x10]
call fcn.0066f700
mov ecx, eax
call fcn.0066f7b5
test al, al
je 0x6773c2
mov edx, dword [esp + 0x10]
mov ecx, esi
mov ebx, edi
call fcn.00670445
test al, al
je case.default.0x670a77
mov ecx, dword [esp + 0x24]
call fcn.0066fe44
mov ecx, dword [esp + 0x24]
mov edi, eax
call fcn.0066fe8a
mov ecx, dword [esp + 0x14]
mov esi, eax
call fcn.0066f700
jmp 0x674e7c
cmp ecx, 0xc9
jne 0x6773c2
mov ecx, ebx
call fcn.0066feb3
test eax, eax
je 0x6773c2
mov ecx, dword [esp + 0x1c]
mov ebx, edi
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
test edx, edx
ja case.default.0x670a77
jb 0x6756a6
cmp eax, 0x40
jae case.default.0x670a77
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066f7e5
mov dword [esp + 0x190], eax
test eax, eax
je case.default.0x670a77
mov ebx, dword [esp + 0x40]
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066f7a7
test al, al
je 0x6757ab
mov ecx, dword [esp + 0xc]
call fcn.0066f700
mov ecx, eax
call fcn.0066f7b5
test al, al
je 0x6757ab
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066fca8
mov ecx, dword [esp + 0xc]
movzx esi, al
mov dword [esp + 0x48], esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
mov dl, 9
mov cl, al
call fcn.0066fec3
push 0x20
pop edx
mov ecx, esi
mov dword [esp + 0x28], eax
shl edx, cl
mov ebx, edi
cmp dword [esp + 0x190], edx
ja case.default.0x670a77
lea ecx, [esp + 0xd8]
mov dword [esp + 0xd8], 0x15
call fcn.0067037b
mov ecx, dword [esp + 0x24]
mov esi, eax
call fcn.0066fe6e
xor esi, eax
lea ecx, [esp + 0x140]
push esi
call fcn.00670252
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x140]
dec eax
push 0x16
and eax, 3
push eax
call fcn.006797f4
push 0x1f
push dword [esp + 0x4c]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0xa
push 0x40
pop eax
sub eax, dword [esp + 0x194]
push eax
jmp 0x675371
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f7b5
test al, al
je 0x6773c2
mov ecx, dword [esp + 0x10]
call fcn.0066f700
mov ecx, eax
call fcn.0066f7b5
test al, al
je 0x6773c2
mov edx, dword [esp + 0x10]
mov ecx, esi
mov ebx, edi
call fcn.00670445
test al, al
je case.default.0x670a77
mov ecx, dword [esp + 0x24]
call fcn.0066fe4a
mov ecx, dword [esp + 0x24]
mov edi, eax
call fcn.0066fe95
mov ecx, dword [esp + 0x14]
mov esi, eax
call fcn.0066f700
lea ecx, [esp + 0x210]
mov edx, esi
push ecx
lea ecx, [esp + 0x144]
push ecx
push 1
push edi
push 1
mov ecx, eax
call fcn.00670383
add esp, 0x14
test al, al
je case.default.0x670a77
mov ecx, dword [esp + 0x210]
mov edi, ebx
push 0x10
pop eax
shl eax, cl
cmp dword [esp + 0x190], eax
ja case.default.0x670a77
lea eax, [ecx + 5]
lea ecx, [esp + 0xd4]
mov dword [esp + 0xd4], eax
call fcn.006797e0
lea ecx, [esp + 0x190]
mov esi, eax
call fcn.006797db
and esi, eax
push 0x10
jmp 0x675370
imul ebx, dword [esp + 0x18], 0xc
add ebx, 0x7129f8
mov dword [esp + 0xc], ebx
cmp ecx, 0x49
jne 0x6773c2
mov eax, dword [esp + 0x34]
movzx ecx, byte [ebx + 8]
mov ebx, edi
shr eax, 3
and eax, 0x1f
mov dword [esp + 0x28], ecx
sub eax, 0xb
mov dword [esp + 0x34], eax
test ecx, ecx
je 0x6758c0
cmp eax, 1
ja case.default.0x670a77
jmp 0x6758cf
cmp eax, 1
jne case.default.0x670a77
xor eax, eax
mov dword [esp + 0x34], eax
mov ecx, edx
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
mov ecx, dword [esp + 0x14]
movzx esi, al
add esi, dword [esp + 0x28]
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
movzx eax, al
cmp eax, esi
jne 0x6773c2
mov esi, dword [esp + 0x14]
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
mov ebx, dword [esp + 0xc]
movzx ecx, byte [ebx + 9]
cmp eax, ecx
jne 0x6773c2
mov ecx, dword [esp + 0x10]
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
movzx ecx, byte [ebx + 0xa]
cmp eax, ecx
jne 0x6773c2
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066fd02
mov ebx, edi
test al, al
jne 0x67598a
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
call fcn.00670445
test al, al
je case.default.0x670a77
mov ecx, dword [esp + 0xc]
call fcn.0066fe44
push eax
lea ecx, [esp + 0x144]
call fcn.00670252
mov ecx, dword [esp + 0x34]
push 0x1e
push ecx
jmp 0x678048
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
mov edx, dword [esp + 0xc]
movzx ecx, byte [edx + 0xb]
cmp eax, ecx
jne case.default.0x670a77
mov ecx, dword [esp + 0x1c]
mov ebx, edi
call fcn.0066f700
mov ecx, eax
call fcn.0066f789
cmp eax, 0xf
ja 0x6793a3
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066fd1d
mov ebx, eax
cmp ebx, 7
ja 0x6791e7
mov ecx, dword [esp + 0xc]
call fcn.0066fe4a
push eax
lea ecx, [esp + 0x144]
call fcn.00670252
mov ecx, dword [esp + 0x34]
push 0x1e
push ecx
lea ecx, [esp + 0x148]
call fcn.006797f4
mov eax, ebx
lea ecx, [esp + 0x140]
push 0x14
and eax, 3
push eax
call fcn.006797f4
push 0xb
shr ebx, 2
jmp 0x678047
mov esi, dword [esp + 0x14]
cmp ecx, 9
jne 0x675d4d
xor eax, eax
mov dword [esp + 0x140], 0x1e260000
push eax
mov ecx, esi
call fcn.0066f78d
mov ebx, dword [esp + 0x10]
test al, al
je 0x675b97
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066f7b5
test al, al
je 0x675b97
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fca8
movzx eax, al
mov ecx, ebx
mov dword [esp + 0xc], eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
mov dl, 9
mov cl, al
call fcn.0066fec3
mov dword [esp + 0x28], eax
mov ecx, ebx
dec eax
and eax, 3
mov dword [esp + 0x24], eax
call fcn.0066f700
mov ecx, eax
call fcn.0066fd02
test al, al
je 0x675afe
cmp dword [esp + 0xc], 0
je 0x6773c2
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066fd55
test al, al
je 0x6773c2
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066fd1d
cmp eax, 1
jne 0x6773c2
mov eax, dword [esp + 0xc]
push 2
pop ebx
mov dword [esp + 0x60], 0xe
jmp 0x675b6e
cmp dword [esp + 0x28], 2
mov ebx, edi
ja case.default.0x670a77
mov ecx, dword [esp + 0x10]
call fcn.0066f700
mov ecx, eax
call fcn.0066fcf8
test al, al
jne case.default.0x670a77
mov ebx, dword [esp + 0x10]
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066fcb8
test al, al
je 0x675b4a
cmp dword [esp + 0xc], 0
mov ebx, edi
jne case.default.0x670a77
mov ebx, dword [esp + 0x10]
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066fcc8
test al, al
mov eax, dword [esp + 0xc]
je 0x675b6a
mov ebx, edi
test eax, eax
je case.default.0x670a77
mov ebx, dword [esp + 0x24]
push 0x1f
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x16
push ebx
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x10
push dword [esp + 0x64]
jmp 0x67478d
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f7b5
test al, al
je 0x675cdf
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066f7a7
test al, al
je 0x675cdf
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066fca8
movzx eax, al
mov ecx, esi
mov dword [esp + 0xc], eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
mov dl, 9
mov cl, al
call fcn.0066fec3
mov dword [esp + 0x28], eax
mov ecx, esi
dec eax
and eax, 3
mov dword [esp + 0x60], eax
call fcn.0066f700
mov ecx, eax
call fcn.0066fd02
test al, al
je 0x675c56
cmp dword [esp + 0xc], 0
je 0x6773c2
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fd55
test al, al
je 0x6773c2
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fd1d
cmp eax, 1
jne 0x6773c2
mov eax, dword [esp + 0xc]
push 2
pop ebx
mov dword [esp + 0x48], 0xf
jmp 0x675cba
cmp dword [esp + 0x28], 2
mov ebx, edi
ja case.default.0x670a77
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fcf8
test al, al
jne case.default.0x670a77
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fcb8
test al, al
je 0x675c96
cmp dword [esp + 0xc], 0
jne case.default.0x670a77
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fcc8
test al, al
mov eax, dword [esp + 0xc]
je 0x675cb6
mov ebx, edi
test eax, eax
je case.default.0x670a77
mov ebx, dword [esp + 0x60]
push 0x1f
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x16
push ebx
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x10
jmp 0x6755f6
mov edx, ebx
mov ecx, esi
call fcn.00670445
test al, al
je 0x6773c2
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
mov dl, 9
mov cl, al
call fcn.0066fec3
mov dword [esp + 0x28], eax
mov ebx, edi
cmp eax, 2
ja case.default.0x670a77
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fcf8
test al, al
jne case.default.0x670a77
push 0x1e204000
lea ecx, [esp + 0x144]
call fcn.00670252
mov eax, dword [esp + 0x28]
dec eax
push 0x16
and eax, 3
push eax
jmp 0x67478d
cmp ecx, 0x19
jne 0x6773c2
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f7b5
test al, al
je 0x6773c2
mov ebx, dword [esp + 0x10]
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066f839
mov ecx, ebx
test eax, eax
je 0x675d92
call fcn.0066f700
mov ecx, eax
call fcn.006798d6
jmp 0x675dbc
call fcn.0066f700
mov ecx, eax
call fcn.0066f842
test al, al
je 0x677fa1
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066f7e5
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [esp + 0x28], xmm0
call fcn.0066fc3d
test al, al
je 0x677fa1
movsd xmm0, qword [esp + 0x28]
call fcn.0066fc77
mov ecx, esi
mov dword [esp + 0x3c], eax
call fcn.0066f700
mov ecx, eax
call fcn.0066fcf8
mov ecx, esi
test al, al
jne 0x675e42
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
mov dl, 9
mov cl, al
call fcn.0066fec3
mov dword [esp + 0x28], eax
mov ebx, edi
cmp eax, 2
ja case.default.0x670a77
push 0x1e201000
lea ecx, [esp + 0x144]
call fcn.00670252
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x3c]
dec eax
mov dword [esp + 0x24], 0xd
and eax, 3
push 0x16
jmp 0x679372
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
mov dl, 0xb
mov cl, al
call fcn.0066fec3
mov ecx, esi
mov dword [esp + 0x48], eax
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
cmp dword [esp + 0x48], 1
lea ebx, [eax - 2]
ja 0x6773c2
cmp ebx, 2
ja 0x6773c2
push 0xf00f400
lea ecx, [esp + 0x144]
call fcn.00670252
push dword [ebx*4 + 0x725b8c]
lea ecx, [esp + 0x144]
call fcn.006702c6
push 0x1e
push dword [esp + 0x4c]
lea ecx, [esp + 0x148]
call fcn.006797f4
mov eax, dword [esp + 0x3c]
mov ebx, eax
and ebx, 0x1f
shr eax, 5
push 0x10
jmp 0x67936a
mov eax, dword [esp + 0x18]
mov ebx, edi
mov esi, dword [esp + 0x14]
lea eax, [eax*8 + 0x712924]
mov dword [esp + 0x48], eax
cmp ecx, 9
jne 0x675f58
mov eax, dword [esp + 0x34]
shr eax, 3
and eax, 0x1f
sub eax, 9
mov dword [esp + 0x34], eax
cmp eax, 2
ja case.default.0x670a77
lea eax, [esp + 0x11c]
mov ecx, edx
push eax
call fcn.0066f742
mov ecx, dword [esp + 0x34]
push dword [ecx*4 + 0x7107b8]
mov ecx, eax
call fcn.0066f733
test al, al
jne case.default.0x670a77
mov ecx, dword [esp + 0x48]
call fcn.0066fe44
push eax
lea ecx, [esp + 0x144]
call fcn.00670252
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x140]
push dword [eax*4 + 0x725b70]
call fcn.006702c6
jmp 0x674835
cmp ecx, 0x49
jne case.default.0x670a77
push dword [esp + 0x1c]
mov ecx, esi
call fcn.0067044d
pop ecx
test al, al
je case.default.0x670a77
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
mov dl, 0xb
mov cl, al
call fcn.0066fec3
mov dword [esp + 0x60], eax
mov ebx, edi
cmp eax, 1
ja case.default.0x670a77
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
sub eax, 2
mov dword [esp + 0x28], eax
cmp eax, 2
ja case.default.0x670a77
mov ecx, dword [esp + 0x48]
call fcn.0066fe4a
push eax
lea ecx, [esp + 0x144]
call fcn.00670252
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x140]
push dword [eax*4 + 0x725be4]
call fcn.006702c6
push 0x1e
push dword [esp + 0x64]
jmp 0x678048
mov eax, dword [esp + 0x18]
mov ebx, edi
lea eax, [eax*4 + 0x71240c]
mov dword [esp + 0x48], eax
cmp ecx, 9
jne case.default.0x670a77
mov ecx, edx
call fcn.0066fd14
mov ecx, dword [esp + 0x20]
shr ecx, 2
and ecx, 1
dec ecx
add eax, ecx
mov ecx, dword [esp + 0x34]
shr ecx, 3
and ecx, 0x1f
sub ecx, 8
cmp ecx, eax
jne case.default.0x670a77
mov ecx, dword [esp + 0x10]
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
mov ecx, dword [esp + 0x10]
mov esi, eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
mov ecx, dword [esp + 0x48]
mov dl, al
push esi
mov ecx, dword [ecx]
shr ecx, 0x16
and ecx, 0x3f
call fcn.0066ff17
pop ecx
lea ecx, [esp + 0x155]
mov byte [esp + 0x155], al
call fcn.0066fecc
test al, al
je case.default.0x670a77
mov ecx, dword [esp + 0x48]
call fcn.0066fe44
push eax
lea ecx, [esp + 0x144]
call fcn.00670252
push 0x1e
lea ecx, [esp + 0x159]
call fcn.0066fed3
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
lea ecx, [esp + 0x155]
push 0x16
call fcn.0066fef0
jmp 0x6757a5
mov eax, dword [esp + 0x18]
mov ebx, edi
mov esi, dword [esp + 0x14]
lea eax, [eax*4 + 0x712150]
mov dword [esp + 0x48], eax
cmp ecx, 9
jne case.default.0x670a77
mov eax, dword [esp + 0x20]
mov ecx, edx
test al, 4
push eax
cmove ecx, esi
mov dword [esp + 0x2c], ecx
mov ecx, esi
call fcn.006702d4
pop ecx
test al, al
je case.default.0x670a77
mov ecx, dword [esp + 0x28]
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
mov ecx, dword [esp + 0x28]
mov esi, eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
mov ecx, dword [esp + 0x48]
mov dl, al
push esi
mov ecx, dword [ecx]
shr ecx, 0x16
and ecx, 0x3f
call fcn.0066ff17
pop ecx
lea ecx, [esp + 0x149]
mov byte [esp + 0x149], al
call fcn.0066fecc
test al, al
je case.default.0x670a77
mov ecx, dword [esp + 0x48]
call fcn.0066fe44
push eax
lea ecx, [esp + 0x144]
call fcn.00670252
push 0x1e
lea ecx, [esp + 0x14d]
call fcn.0066feda
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x1c
lea ecx, [esp + 0x14d]
call fcn.0066fee7
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
lea ecx, [esp + 0x149]
jmp 0x6760be
imul ebx, dword [esp + 0x18], 0xc
mov esi, dword [esp + 0x14]
add ebx, 0x7125c8
cmp ecx, 9
jne 0x6773c2
lea eax, [esp + 0x120]
mov ecx, esi
push eax
call fcn.0066f742
push dword [ebx + 4]
mov ecx, eax
call fcn.0066f733
test al, al
jne 0x6773c2
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x124]
push eax
call fcn.0066f742
push dword [ebx + 8]
mov ecx, eax
call fcn.0066f733
test al, al
jne 0x6773c2
mov ecx, ebx
call fcn.0066fe44
push eax
lea ecx, [esp + 0x144]
call fcn.00670252
jmp 0x674835
mov eax, dword [esp + 0x18]
mov ebx, edi
mov esi, dword [esp + 0x14]
lea eax, [eax*4 + 0x712a40]
mov dword [esp + 0x48], eax
cmp ecx, 0x49
jne case.default.0x670a77
mov eax, dword [esp + 0x20]
mov ecx, edx
test al, 4
push eax
push dword [esp + 0x20]
cmove ecx, esi
mov dword [esp + 0x30], ecx
mov ecx, esi
call fcn.006702ea
pop ecx
pop ecx
test al, al
je case.default.0x670a77
mov ecx, dword [esp + 0x28]
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
mov ecx, dword [esp + 0x28]
mov esi, eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
mov ecx, dword [esp + 0x48]
mov dl, al
push esi
mov ecx, dword [ecx]
shr ecx, 0x16
and ecx, 0x3f
call fcn.0066ff17
pop ecx
lea ecx, [esp + 0x14a]
mov byte [esp + 0x14a], al
call fcn.0066fecc
test al, al
je case.default.0x670a77
mov ecx, dword [esp + 0x48]
call fcn.0066fe44
push eax
lea ecx, [esp + 0x144]
call fcn.00670252
push 0x1e
lea ecx, [esp + 0x14e]
call fcn.0066feda
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x1c
lea ecx, [esp + 0x14e]
call fcn.0066fee7
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
lea ecx, [esp + 0x14a]
push 0x16
call fcn.0066fef0
push eax
jmp 0x674a83
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
shl ebx, 4
add ebx, 0x712fb0
cmp ecx, 0x49
jne 0x6773c2
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0xd0]
mov dword [esp + 0xd0], eax
push dword [ebx + 4]
call fcn.0066f733
test al, al
jne 0x6773c2
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x128]
push eax
call fcn.0066f742
push dword [ebx + 8]
mov ecx, eax
call fcn.0066f733
test al, al
jne 0x6773c2
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x12c]
push eax
call fcn.0066f742
push dword [ebx + 0xc]
mov ecx, eax
call fcn.0066f733
test al, al
jne 0x6773c2
mov ecx, ebx
call fcn.0066fe44
push eax
lea ecx, [esp + 0x144]
call fcn.00670252
jmp 0x678054
mov eax, dword [esp + 0x18]
lea eax, [eax*4 + 0x712594]
mov dword [esp + 0x48], eax
cmp ecx, 0x49
jne 0x6773c2
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
mov ecx, dword [esp + 0x1c]
mov esi, eax
call fcn.0066f700
mov ecx, dword [esp + 0x48]
push esi
mov edx, dword [eax]
mov ecx, dword [ecx]
shr edx, 3
shr ecx, 0x16
and dl, 0x1f
and ecx, 0x3f
call fcn.0066ff17
mov byte [esp + 0x158], al
mov ebx, edi
pop ecx
cmp al, 0xff
je case.default.0x670a77
mov ebx, dword [esp + 0x14]
mov ecx, ebx
mov edx, dword [esp + 0x10]
call fcn.00670445
test al, al
je 0x6773c2
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066fcd8
test al, al
je 0x6773c2
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
mov ecx, ebx
lea esi, [eax + 1]
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
cmp eax, esi
jne 0x6773c2
mov ecx, dword [esp + 0x48]
call fcn.0066fe44
push eax
lea ecx, [esp + 0x144]
call fcn.00670252
push 0x1e
lea ecx, [esp + 0x158]
call fcn.0066feda
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x1c
lea ecx, [esp + 0x158]
call fcn.0066fee7
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x16
lea ecx, [esp + 0x158]
call fcn.0066fef0
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
mov esi, ebx
jmp 0x678054
mov esi, dword [esp + 0x14]
cmp ecx, 0x49
jne 0x6773c2
mov eax, dword [esp + 0x20]
mov ebx, edx
test al, 4
cmove ebx, esi
mov dword [esp + 0x28], ebx
test al, 0xc
jne 0x67650e
mov eax, dword [esp + 0xc]
mov ebx, edi
cmp dword [esp + 0x34], eax
jne case.default.0x670a77
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066fd02
mov ecx, ebx
test al, al
jne 0x6765ea
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
mov ecx, ebx
mov esi, eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
mov ecx, dword [esp + 0x18]
mov dl, al
push esi
mov ecx, dword [ecx*8 + 0x712b68]
shr ecx, 0x1a
call fcn.0066ff17
pop ecx
lea ecx, [esp + 0x14b]
mov byte [esp + 0x14b], al
mov ebx, edi
call fcn.0066fecc
test al, al
je case.default.0x670a77
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
call fcn.00670445
test al, al
je case.default.0x670a77
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
mov eax, dword [eax*8 + 0x712b68]
shl eax, 0xa
push eax
call fcn.00670252
push 0x1e
lea ecx, [esp + 0x14f]
call fcn.0066feda
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x1c
lea ecx, [esp + 0x14f]
call fcn.0066fee7
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
lea ecx, [esp + 0x14b]
jmp 0x67630f
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
mov ecx, ebx
mov esi, eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
mov ecx, dword [esp + 0x18]
mov dl, al
push esi
mov ecx, dword [ecx*8 + 0x712b6c]
shr ecx, 0x1a
call fcn.0066ff17
pop ecx
lea ecx, [esp + 0x14c]
mov byte [esp + 0x14c], al
mov ebx, edi
call fcn.0066fecc
test al, al
je case.default.0x670a77
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066fd1d
mov esi, eax
lea ecx, [esp + 0x14c]
lea eax, [esp + 0x21c]
push eax
call fcn.0066fef0
mov edx, esi
mov ecx, eax
call fcn.00670206
pop ecx
test al, al
je 0x6791e7
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066f789
cmp eax, dword [esp + 0x224]
ja 0x6793a3
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
mov eax, dword [eax*8 + 0x712b6c]
shl eax, 0xa
push eax
call fcn.00670252
push 0x1e
lea ecx, [esp + 0x150]
call fcn.0066fed3
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x16
lea ecx, [esp + 0x150]
call fcn.0066fef0
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x14
push dword [esp + 0x220]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0xb
push dword [esp + 0x224]
jmp 0x674a83
mov eax, dword [esp + 0x18]
mov ebx, edi
mov esi, dword [esp + 0x14]
lea eax, [eax*8 + 0x712dd4]
mov dword [esp + 0x48], eax
cmp ecx, 0x649
jne case.default.0x670a77
mov eax, dword [esp + 0x20]
mov ecx, edx
test al, 4
push eax
push dword [esp + 0x20]
cmove ecx, esi
mov dword [esp + 0x30], ecx
mov ecx, esi
call fcn.006702ea
pop ecx
pop ecx
test al, al
je case.default.0x670a77
mov ecx, dword [esp + 0x28]
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
mov ecx, dword [esp + 0x28]
mov esi, eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
mov ecx, dword [esp + 0x48]
mov dl, al
push esi
mov ecx, dword [ecx]
shr ecx, 0x16
and ecx, 0x3f
call fcn.0066ff17
pop ecx
lea ecx, [esp + 0x148]
mov byte [esp + 0x148], al
call fcn.0066fecc
test al, al
je case.default.0x670a77
mov ecx, dword [esp + 0x38]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x60], eax
mov dword [esp + 0xc], edx
mov esi, dword [ebx]
shr esi, 0x1c
test byte [ebx + 4], 0x10
je 0x6767d3
lea ecx, [esp + 0x148]
call fcn.0066fed3
test eax, eax
jne 0x6767d3
dec esi
xor eax, eax
mov ecx, esi
inc eax
shl eax, cl
cmp dword [esp + 0xc], 0
ja 0x677fa1
mov esi, dword [esp + 0x60]
jb 0x6767f3
cmp esi, eax
jae 0x677fa1
mov ecx, ebx
call fcn.0066fe44
push eax
lea ecx, [esp + 0x144]
call fcn.00670252
push 0x1e
lea ecx, [esp + 0x14c]
call fcn.0066feda
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x1c
lea ecx, [esp + 0x14c]
call fcn.0066fee7
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x16
lea ecx, [esp + 0x14c]
call fcn.0066fef0
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
mov eax, dword [ebx + 4]
lea ecx, [esp + 0x140]
and eax, 0xf
push eax
push dword [esp + 0x10]
push esi
call fcn.00679847
jmp 0x6748f3
mov esi, dword [esp + 0x14]
mov ebx, edi
cmp ecx, 0x249
jne case.default.0x670a77
mov eax, dword [esp + 0x20]
mov ecx, edx
push eax
push dword [esp + 0x3c]
test al, 4
push dword [esp + 0x24]
cmove ecx, esi
mov dword [esp + 0x34], ecx
mov ecx, esi
call fcn.0067030a
add esp, 0xc
test al, al
je case.default.0x670a77
mov ecx, dword [esp + 0x28]
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
mov ecx, dword [esp + 0x28]
mov esi, eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
mov ecx, dword [esp + 0x18]
mov dl, al
push esi
mov ecx, dword [ecx*4 + 0x712524]
shr ecx, 0x16
and ecx, 0x3f
call fcn.0066ff17
pop ecx
lea ecx, [esp + 0x14d]
mov byte [esp + 0x14d], al
call fcn.0066fecc
test al, al
je case.default.0x670a77
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
mov eax, dword [eax*4 + 0x712524]
shl eax, 0xa
push eax
call fcn.00670252
push 0x1e
lea ecx, [esp + 0x151]
call fcn.0066feda
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x1c
lea ecx, [esp + 0x151]
call fcn.0066fee7
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x16
lea ecx, [esp + 0x151]
call fcn.0066fef0
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
jmp 0x674b34
imul ebx, dword [esp + 0x18], 0x14
mov esi, dword [esp + 0x14]
add ebx, 0x712478
cmp ecx, 0x249
jne 0x6773c2
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0xc8]
mov dword [esp + 0xc8], eax
push dword [ebx + 4]
call fcn.0066f733
test al, al
jne 0x6773c2
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x130]
push eax
call fcn.0066f742
push dword [ebx + 8]
mov ecx, eax
call fcn.0066f733
test al, al
jne 0x6773c2
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x134]
push eax
call fcn.0066f742
push dword [ebx + 0xc]
mov ecx, eax
call fcn.0066f733
test al, al
jne 0x6773c2
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x138]
push eax
call fcn.0066f742
push dword [ebx + 0x10]
mov ecx, eax
call fcn.0066f733
test al, al
jne 0x6773c2
mov eax, dword [ebx]
lea ecx, [esp + 0x140]
shl eax, 0xa
push eax
call fcn.00670252
push dword [esp + 0x38]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 0x20]
mov ebx, edi
call fcn.0067072e
pop ecx
pop ecx
test al, al
je 0x6793a3
xor eax, eax
lea ecx, [esp + 0x140]
push eax
push esi
call fcn.0067029d
push 5
push dword [esp + 0x14]
lea ecx, [esp + 0x148]
call fcn.0067029d
push 0x10
push dword [esp + 0x20]
lea ecx, [esp + 0x148]
call fcn.0067029d
push 0xa
push dword [esp + 0x3c]
jmp 0x670e04
mov esi, dword [esp + 0x14]
cmp ecx, 9
jne 0x676b05
mov ebx, dword [esp + 0x18]
xor eax, eax
cmp dword [ebx*8 + 0x712308], eax
je 0x6773c2
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fd25
test al, al
je 0x6773c2
mov ecx, dword [esp + 0x10]
call fcn.0066f700
mov ecx, eax
call fcn.0066fd55
test al, al
je 0x6773c2
mov eax, dword [ebx*8 + 0x712308]
lea ecx, [esp + 0x140]
shl eax, 0xa
push eax
call fcn.00670252
push 0x16
push 3
lea ecx, [esp + 0x148]
call fcn.006797f4
jmp 0x674835
cmp ecx, 0x49
jne 0x6773c2
push dword [esp + 0x20]
mov ecx, esi
mov ebx, edi
push dword [esp + 0x20]
call fcn.006702ea
pop ecx
pop ecx
test al, al
je case.default.0x670a77
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
mov ecx, dword [esp + 0x14]
mov esi, eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
mov ecx, dword [esp + 0x18]
mov dl, al
push esi
mov ecx, dword [ecx*8 + 0x71230c]
shr ecx, 0x1a
call fcn.0066ff17
pop ecx
lea ecx, [esp + 0x14e]
mov byte [esp + 0x14e], al
call fcn.0066fecc
test al, al
je case.default.0x670a77
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
mov eax, dword [eax*8 + 0x71230c]
shl eax, 0xa
push eax
call fcn.00670252
push 0x1e
lea ecx, [esp + 0x152]
call fcn.0066feda
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x1c
lea ecx, [esp + 0x152]
call fcn.0066fee7
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
lea ecx, [esp + 0x14e]
jmp 0x67630f
mov esi, dword [esp + 0x14]
cmp ecx, 0x49
jne 0x676c74
push dword [esp + 0x20]
mov ecx, esi
mov ebx, edi
push dword [esp + 0x20]
call fcn.006702ea
pop ecx
pop ecx
test al, al
je case.default.0x670a77
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
mov ecx, dword [esp + 0x14]
mov esi, eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
push esi
mov dl, al
xor ecx, ecx
call fcn.0066ff17
pop ecx
lea ecx, [esp + 0x156]
mov byte [esp + 0x156], al
call fcn.0066fecc
test al, al
je case.default.0x670a77
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
mov eax, dword [eax*8 + 0x712828]
shl eax, 0xa
push eax
call fcn.00670252
push 0x1e
lea ecx, [esp + 0x15a]
call fcn.0066fed3
jmp 0x676316
cmp ecx, 0x19
je 0x676c87
mov ebx, edi
cmp ecx, 0xd9
jne case.default.0x670a77
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
mov ecx, dword [esp + 0x14]
mov esi, eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
push esi
mov dl, al
push 5
pop eax
mov ecx, eax
mov dword [esp + 0x28], eax
call fcn.0066ff17
pop ecx
lea ecx, [esp + 0x14f]
mov byte [esp + 0x14f], al
mov ebx, edi
call fcn.0066fecc
test al, al
je case.default.0x670a77
mov ebx, dword [esp + 0x10]
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
xor esi, esi
cmp edx, esi
ja 0x677fa1
jb 0x676cfd
cmp eax, 0xffffffff
ja 0x677fa1
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066f7e5
lea ecx, [esp + 0x14f]
mov dword [esp + 0x3c], esi
mov ebx, eax
call fcn.0066fef0
mov esi, dword [esp + 0x1c]
mov ecx, eax
push 8
pop edx
shl edx, cl
mov ecx, esi
sub edx, 8
mov dword [esp + 0x48], edx
call fcn.0066f774
test al, al
je 0x676d96
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f827
test eax, eax
jne 0x677fa1
cmp ebx, 0xff
ja 0x677fa1
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
test edx, edx
ja 0x677fa1
jb 0x676d7e
cmp eax, dword [esp + 0x48]
ja 0x677fa1
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f7e5
test al, 7
jne 0x677fa1
jmp 0x676dc4
test ebx, ebx
je 0x676dc0
mov ecx, ebx
call fcn.006798f0
and eax, 0xfffffff8
mov ecx, eax
shr ebx, cl
cmp ebx, 0xff
ja 0x677fa1
cmp eax, dword [esp + 0x48]
ja 0x677fa1
jmp 0x676dc4
mov eax, dword [esp + 0x3c]
or eax, 4
lea ecx, [esp + 0x14f]
shr eax, 2
mov dword [esp + 0x3c], eax
call fcn.0066fef0
cmp eax, 1
jne 0x676dfa
lea ecx, [esp + 0xc4]
mov dword [esp + 0xc4], 3
call fcn.0067037b
or dword [esp + 0x3c], eax
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
mov eax, dword [eax*8 + 0x71282c]
shl eax, 0xa
push eax
call fcn.00670252
push 0x1e
lea ecx, [esp + 0x153]
call fcn.0066fed3
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
mov eax, ebx
lea ecx, [esp + 0x140]
shr eax, 5
push 0x10
and eax, 7
push eax
call fcn.006797f4
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x3c]
and ebx, 0x1f
push 0xc
jmp 0x679372
mov esi, dword [esp + 0x14]
cmp ecx, 0x49
jne 0x676f45
mov eax, dword [esp + 0x18]
cmp dword [eax*8 + 0x712994], 0
je 0x6773c2
push dword [esp + 0x20]
mov ecx, esi
mov ebx, edi
push dword [esp + 0x20]
call fcn.006702ea
pop ecx
pop ecx
test al, al
je case.default.0x670a77
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
mov ecx, dword [esp + 0x14]
mov esi, eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
mov ecx, dword [esp + 0x18]
mov dl, al
push esi
mov ecx, dword [ecx*8 + 0x712998]
shr ecx, 0x16
and ecx, 0x3f
call fcn.0066ff17
pop ecx
lea ecx, [esp + 0x152]
mov byte [esp + 0x152], al
call fcn.0066fecc
test al, al
je case.default.0x670a77
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
mov eax, dword [eax*8 + 0x712994]
shl eax, 0xa
push eax
call fcn.00670252
push 0x1e
lea ecx, [esp + 0x156]
call fcn.0066feda
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x1c
lea ecx, [esp + 0x156]
call fcn.0066fee7
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
lea ecx, [esp + 0x152]
jmp 0x67630f
cmp ecx, 0xc9
jne 0x6773c2
mov eax, dword [esp + 0x18]
test dword [eax*8 + 0x712998], 0x3fffff
je 0x6773c2
push dword [esp + 0x20]
mov ecx, esi
mov ebx, edi
call fcn.006702d4
pop ecx
test al, al
je case.default.0x670a77
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
or eax, edx
jne 0x677fa1
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
mov ecx, dword [esp + 0x14]
mov esi, eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
mov ecx, dword [esp + 0x18]
mov dl, al
push esi
mov ecx, dword [ecx*8 + 0x712998]
shr ecx, 0x16
and ecx, 0x3f
call fcn.0066ff17
pop ecx
lea ecx, [esp + 0x150]
mov byte [esp + 0x150], al
call fcn.0066fecc
test al, al
je case.default.0x670a77
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
mov eax, dword [eax*8 + 0x712998]
shl eax, 0xa
push eax
call fcn.00670252
push 0x1e
lea ecx, [esp + 0x154]
call fcn.0066feda
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x1c
lea ecx, [esp + 0x154]
call fcn.0066fee7
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
lea ecx, [esp + 0x150]
jmp 0x6760be
imul eax, dword [esp + 0x18], 0xc
mov ebx, edi
mov esi, dword [esp + 0x14]
add eax, 0x712ef4
mov dword [esp + 0xc], eax
cmp ecx, 0x49
jne case.default.0x670a77
mov eax, dword [esp + 0x34]
shr eax, 3
and eax, 0x1f
sub eax, 0xb
mov dword [esp + 0x34], eax
cmp eax, 1
ja case.default.0x670a77
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066fd02
test al, al
mov eax, dword [esp + 0xc]
jne 0x677167
cmp dword [eax], 0
je case.default.0x670a77
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
mov ecx, dword [esp + 0x10]
mov bl, al
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
cmp bl, al
jne 0x6773c2
mov ecx, dword [esp + 0x10]
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
mov ecx, dword [esp + 0x1c]
mov bl, al
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
cmp bl, al
jne 0x6773c2
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
mov ebx, dword [esp + 0xc]
movzx ecx, byte [ebx + 8]
cmp eax, ecx
jne 0x6773c2
mov ecx, dword [esp + 0x10]
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
movzx ecx, byte [ebx + 9]
cmp eax, ecx
jne 0x6773c2
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
movzx ecx, byte [ebx + 9]
cmp eax, ecx
jne 0x6773c2
mov eax, dword [ebx]
lea ecx, [esp + 0x140]
shl eax, 0xa
push eax
call fcn.00670252
push 0x1e
push dword [esp + 0x38]
jmp 0x678048
cmp dword [eax + 4], 0
je case.default.0x670a77
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
mov ecx, dword [esp + 0x10]
mov bl, al
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
cmp bl, al
jne 0x6773c2
mov ebx, dword [esp + 0x1c]
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066fcd8
test al, al
je 0x6773c2
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
mov edx, dword [esp + 0xc]
movzx ecx, byte [edx + 8]
cmp eax, ecx
jne 0x6773c2
mov ecx, dword [esp + 0x10]
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
mov edx, dword [esp + 0xc]
movzx ecx, byte [edx + 9]
cmp eax, ecx
jne 0x6773c2
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
mov edx, dword [esp + 0xc]
movzx ecx, byte [edx + 0xa]
cmp eax, ecx
jne 0x6773c2
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066fd1d
lea ecx, [esp + 0x228]
mov edx, eax
push ecx
push 2
pop ecx
call fcn.00670206
pop ecx
test al, al
je 0x6791e7
mov ecx, dword [esp + 0x1c]
mov ebx, edi
call fcn.0066f700
mov ecx, eax
call fcn.0066f789
cmp eax, dword [esp + 0x230]
ja 0x6793a3
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0x140]
mov eax, dword [eax + 4]
shl eax, 0xa
push eax
call fcn.00670252
push 0x1e
push dword [esp + 0x38]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x14
push dword [esp + 0x22c]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0xb
push dword [esp + 0x230]
jmp 0x678048
mov esi, dword [esp + 0x14]
cmp ecx, 9
jne 0x6773c2
push 1
mov ecx, esi
call fcn.0066f78d
mov ebx, dword [esp + 0x10]
test al, al
je 0x677388
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066f7b5
test al, al
je 0x677388
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fd02
test al, al
je 0x677303
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066fd02
test al, al
jne 0x677616
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066fd02
test al, al
jne 0x677444
mov edx, dword [esp + 0x10]
mov ecx, esi
mov ebx, edi
call fcn.00670445
test al, al
je case.default.0x670a77
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
mov dl, 0xb
mov cl, al
call fcn.0066fec3
mov dword [esp + 0x28], eax
cmp eax, 1
ja case.default.0x670a77
push 0xea01c00
lea ecx, [esp + 0x144]
call fcn.00670252
push 0x1e
push dword [esp + 0x2c]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x10
push dword [esp + 0x14]
lea ecx, [esp + 0x148]
call fcn.0067029d
jmp 0x674835
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f7b5
test al, al
je 0x677404
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066f7a7
test al, al
je 0x677404
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fd02
test al, al
jne 0x677616
mov ebx, edi
push 0x1a
pop eax
push dword [esp + 0x38]
mov ecx, dword [esp + 0x60]
mov edx, eax
push dword [esp + 0x20]
push dword [esp + 0x18]
push dword [esp + 0x20]
push dword [esp + 0x80]
push ebx
call fcn.00687f86
add esp, 0x18
mov ecx, dword [esp + 0x2cc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.006dd431
mov esp, ebp
pop ebp
ret 0x14
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f7a7
test al, al
je 0x6773c2
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066f7b5
test al, al
je 0x6773c2
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x18], 1
jmp 0x6780a0
mov esi, dword [esp + 0x14]
cmp ecx, 9
jne 0x6773c2
jmp 0x677449
push 0x1f
mov edx, ebx
pop eax
mov ebx, dword [esi]
mov ecx, edx
shr ebx, 3
and ebx, eax
xor eax, eax
sub ebx, 0xb
push eax
mov dword [esp + 0x2c], ebx
call fcn.0066f78d
test al, al
je 0x6774ca
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
mov dword [esp + 0x28], eax
cmp ebx, 1
ja 0x6773c2
mov edx, ebx
mov ecx, 0x1e0e
shl edx, 3
or edx, eax
call fcn.00679809
test al, al
je 0x6773c2
push 0xe000c00
lea ecx, [esp + 0x144]
call fcn.00670252
push 0x1e
push ebx
lea ecx, [esp + 0x148]
call fcn.006797f4
mov ecx, dword [esp + 0x28]
xor eax, eax
dec ecx
inc eax
push 0x10
shl eax, cl
jmp 0x675d47
mov ebx, dword [esp + 0x10]
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066f7b5
test al, al
je 0x6773c2
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066fd02
test al, al
je 0x6773c2
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066fd1d
mov ecx, esi
mov dword [esp + 0x48], eax
call fcn.0066f700
mov ecx, eax
call fcn.0066fcf8
mov ecx, esi
test al, al
jne 0x67758b
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
mov dl, 8
mov cl, al
call fcn.0066fec3
mov ecx, ebx
mov dword [esp + 0x28], eax
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
mov ecx, dword [esp + 0x28]
dec eax
cmp ecx, eax
jne 0x6773c2
cmp ecx, 3
ja 0x6773c2
mov eax, dword [esp + 0x48]
lea ebx, [eax + eax]
or ebx, 1
shl ebx, cl
cmp ebx, 0x1f
ja 0x6791e7
push 0x5e000400
lea ecx, [esp + 0x144]
call fcn.00670252
push 0x10
push ebx
jmp 0x67478d
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x60], eax
cmp ebx, 1
ja 0x6773c2
mov edx, ebx
mov ecx, 0x1e0e
shl edx, 3
or edx, eax
call fcn.00679809
test al, al
je 0x6773c2
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x60]
add eax, eax
or eax, 1
dec ecx
shl eax, cl
mov dword [esp + 0x28], eax
cmp eax, 0x1f
ja 0x6791e7
push 0xe000400
lea ecx, [esp + 0x144]
call fcn.00670252
push 0x1e
push ebx
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x10
push dword [esp + 0x2c]
jmp 0x67478d
mov esi, dword [esp + 0x14]
cmp ecx, 9
jne 0x6773c2
mov eax, dword [esi]
and eax, 0xff000fff
cmp eax, 0x10000161
jne 0x6773c2
mov ecx, esi
mov ebx, edi
call fcn.0066f700
mov ecx, eax
call fcn.0066fd02
test al, al
je case.default.0x670a77
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
mov ecx, esi
lea ebx, [eax - 1]
mov dword [esp + 0x28], ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066fd1d
add eax, eax
mov ecx, ebx
or eax, 1
shl eax, cl
mov dword [esp + 0x48], eax
cmp eax, 0x1f
ja 0x6791e7
mov ebx, dword [esp + 0x10]
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066f7a7
test al, al
je 0x6776a5
push 0x4e001c00
lea ecx, [esp + 0x144]
call fcn.00670252
jmp 0x675cd8
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066fcd8
test al, al
je 0x6773c2
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066fd02
test al, al
je 0x6773c2
mov ecx, esi
mov ebx, edi
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
mov ecx, dword [esp + 0x10]
mov esi, eax
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
cmp esi, eax
jne case.default.0x670a77
mov ecx, dword [esp + 0x10]
call fcn.0066f700
mov ecx, eax
call fcn.0066fd1d
mov esi, dword [esp + 0x14]
mov ecx, esi
mov dword [esp + 0x60], eax
mov dword [esp + 0x20], edi
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
mov ecx, dword [esp + 0x10]
mov bl, al
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
cmp bl, al
jne 0x6793ac
mov ebx, dword [esp + 0x60]
mov ecx, dword [esp + 0x28]
shl ebx, cl
cmp ebx, 0xf
ja 0x6791e7
push 0x6e000400
lea ecx, [esp + 0x144]
call fcn.00670252
push 0x10
push dword [esp + 0x4c]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0xb
jmp 0x677585
mov esi, dword [esp + 0x14]
cmp ecx, 0x19
je 0x677793
mov ebx, edi
cmp ecx, 0xd9
jne case.default.0x670a77
mov ecx, dword [esp + 0x34]
mov eax, ecx
shr eax, 0xc
and eax, 7
shr ecx, 3
push eax
and cl, 0x1f
mov dl, cl
push 0x15
pop ecx
call fcn.0066ff17
mov byte [esp + 0x14a], al
mov ebx, edi
pop ecx
cmp al, 0xff
je case.default.0x670a77
mov ecx, dword [esp + 0x10]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov ebx, dword [esp + 0x18]
xor ecx, ecx
mov dword [esp + 0x178], eax
mov eax, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x17c], edx
mov eax, dword [ebx*4 + 0x7126f8]
shr eax, 0x1f
mov dword [esp + 0x44], eax
mov eax, ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0x146]
mov dword [esp + 0xc], eax
call fcn.0066fef0
push 3
pop ecx
mov dword [esp + 0x58], ecx
cmp eax, ecx
jne 0x6778a1
mov ecx, dword [esp + 0x1c]
call fcn.0066f774
test al, al
je 0x677846
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
or eax, edx
jne 0x677fa1
lea ecx, [esp + 0x178]
call fcn.006798f4
test al, al
je 0x677871
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.0066fc01
pop ecx
pop ecx
mov dword [esp + 0x20], eax
jmp 0x6778a1
mov eax, dword [esp + 0x178]
cmp dword [esp + 0x17c], eax
jne 0x677fa1
xor ecx, ecx
mov dword [esp + 0x178], eax
mov dword [esp + 0x17c], ecx
lea ecx, [esp + 0x146]
call fcn.0066fefa
lea ecx, [esp + 0x146]
call fcn.0066fef0
mov dword [esp + 0x60], 2
cmp eax, dword [esp + 0x58]
jae 0x677a1c
xor eax, eax
cmp dword [esp + 0x17c], eax
ja 0x677fa1
mov eax, dword [esp + 0x178]
mov dword [esp + 0x20], eax
jb 0x6778e4
cmp eax, 0xffffffff
ja 0x677fa1
lea ecx, [esp + 0x146]
call fcn.0066fef0
cmp eax, 2
jne 0x677915
mov eax, dword [esp + 0x20]
mov ecx, eax
shr ecx, 0x10
movzx eax, ax
cmp ecx, eax
jne 0x677915
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x146]
call fcn.0066fefa
lea ecx, [esp + 0x146]
call fcn.0066fef0
cmp eax, 1
jne 0x677951
mov eax, dword [esp + 0x20]
cmp eax, 0xffff
ja 0x677fa1
mov ecx, eax
movzx eax, al
shr ecx, 8
cmp ecx, eax
jne 0x677951
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x146]
call fcn.0066fefa
lea ecx, [esp + 0x146]
call fcn.0066fef0
push 8
mov ecx, eax
pop edx
shl edx, cl
mov ecx, dword [esp + 0x1c]
sub edx, 8
mov dword [esp + 0x48], edx
call fcn.0066f774
test al, al
je 0x6779de
cmp dword [esp + 0x20], 0xff
ja 0x677fa1
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
xor ecx, ecx
cmp edx, ecx
ja 0x677fa1
jb 0x6779ac
cmp eax, dword [esp + 0x48]
ja 0x677fa1
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066f7e5
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xc], eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f827
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x20]
jmp 0x677a11
mov eax, dword [esp + 0x20]
test eax, eax
je 0x677a20
mov ecx, eax
call fcn.006798f0
mov ecx, eax
mov eax, dword [esp + 0x20]
and ecx, 0xfffffff8
shr eax, cl
mov dword [esp + 0x20], eax
cmp eax, 0xff
ja 0x677fa1
cmp ecx, dword [esp + 0x48]
ja 0x677fa1
test cl, 7
jne 0x677fa1
jmp 0x677a24
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xc]
shr ecx, 3
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x146]
mov dword [esp + 0x28], eax
call fcn.0066fef0
mov ecx, eax
xor eax, eax
push 5
sub ecx, eax
pop eax
mov dword [esp + 0x24], eax
je 0x677b7a
sub ecx, 1
je 0x677b40
sub ecx, 1
je 0x677ace
sub ecx, 1
jne 0x677be3
mov eax, dword [esp + 0x58]
inc ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0xc0], ecx
lea ecx, [esp + 0xc0]
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], 2
call fcn.0067037b
lea ecx, [esp + 0xbc]
mov esi, eax
call fcn.0067037b
lea ecx, [esp + 0xb8]
or esi, eax
call fcn.0067037b
or eax, esi
cmp dword [esp + 0x44], 0
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x20]
not eax
cmove eax, dword [esp + 0x28]
mov dword [esp + 0x20], eax
jmp 0x677bdf
mov ecx, dword [esp + 0x40]
test ecx, ecx
jne 0x677ae5
mov eax, dword [esp + 0xc]
add eax, eax
mov dword [esp + 0x3c], eax
jmp 0x677b70
cmp ecx, eax
jne 0x677fa1
mov eax, dword [esp + 0xc]
test eax, eax
je 0x677fa1
mov ecx, dword [esp + 0x60]
cmp eax, ecx
ja 0x677fa1
mov eax, dword [esp + 0x58]
mov dword [esp + 0xb4], ecx
lea ecx, [esp + 0xb4]
mov dword [esp + 0xb0], eax
call fcn.0067037b
lea ecx, [esp + 0xb0]
mov dword [esp + 0x3c], eax
call fcn.0067037b
mov ecx, dword [esp + 0x3c]
or ecx, eax
mov eax, dword [esp + 0xc]
dec eax
jmp 0x677b6a
cmp dword [esp + 0x40], 0
jne 0x677fa1
mov eax, dword [esp + 0x58]
lea ecx, [esp + 0xac]
mov dword [esp + 0xac], eax
call fcn.0067037b
mov ecx, eax
mov eax, dword [esp + 0xc]
add eax, eax
or ecx, eax
mov dword [esp + 0x3c], ecx
mov eax, dword [esp + 0x44]
mov dword [esp + 0x34], eax
jmp 0x677be3
cmp dword [esp + 0x40], 0
jne 0x677fa1
cmp dword [esp + 0x44], 0
je 0x677b90
not dword [esp + 0x20]
mov eax, dword [esp + 0x58]
lea ecx, [esp + 0xa8]
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], 2
mov dword [esp + 0xa8], 1
call fcn.0067037b
lea ecx, [esp + 0x84]
mov esi, eax
call fcn.0067037b
lea ecx, [esp + 0x88]
or esi, eax
call fcn.0067037b
or eax, esi
mov dword [esp + 0x3c], eax
mov esi, dword [esp + 0x14]
mov eax, dword [ebx*4 + 0x7126f8]
lea ecx, [esp + 0x140]
shl eax, 0xa
push eax
call fcn.00670252
push 0x1e
lea ecx, [esp + 0x14a]
call fcn.0066fed3
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
mov eax, dword [esp + 0x54]
lea ecx, [esp + 0x140]
push eax
push dword [esp + 0x38]
call fcn.006797f4
mov ebx, dword [esp + 0x20]
lea ecx, [esp + 0x140]
mov eax, ebx
shr eax, 5
push 0x10
and eax, 7
push eax
call fcn.006797f4
mov eax, dword [esp + 0x24]
mov dword [esp + 0x24], eax
jmp 0x676e4b
test byte [esp + 0x20], 4
mov edx, dword [esp + 0xc]
cmove edx, dword [esp + 0x34]
mov eax, edx
shr edx, 3
shr eax, 0xc
and dl, 0x1f
and eax, 7
push eax
mov eax, dword [esp + 0x1c]
push 0x3f
mov ecx, dword [eax*8 + 0x712c6c]
pop eax
shr ecx, 0x17
and ecx, eax
mov dword [esp + 0x40], eax
call fcn.0066ff17
mov esi, dword [esp + 0x18]
mov ebx, edi
mov byte [esp + 0x14b], al
pop ecx
cmp al, 0xff
je case.default.0x670a77
mov eax, dword [esp + 0x40]
cmp eax, 0xc9
jne 0x677dfa
mov eax, dword [esp + 0x18]
test dword [eax*8 + 0x712c6c], 0x3fffff
je 0x6773c2
push dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov ecx, esi
call fcn.006702d4
pop ecx
test al, al
je case.default.0x670a77
mov ebx, dword [esp + 0x1c]
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
xor ecx, ecx
cmp edx, ecx
ja 0x677fa1
jb 0x677d05
cmp eax, dword [esp + 0x3c]
ja 0x677fa1
lea ecx, [esp + 0x147]
call fcn.0066fef0
lea ecx, [eax + 3]
xor eax, eax
inc eax
mov dword [esp + 0x60], ecx
shl eax, cl
mov ecx, ebx
mov dword [esp + 0x28], eax
dec eax
mov dword [esp + 0x48], eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f7e5
mov ecx, eax
mov edx, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18c], ecx
test dword [eax*8 + 0x712c6c], 0x400000
je 0x677d85
test ecx, ecx
je 0x677fa1
cmp ecx, dword [esp + 0x28]
ja 0x677fa1
lea ecx, [esp + 0x18c]
call fcn.006797db
mov ebx, dword [esp + 0x48]
mov ecx, eax
mov eax, dword [esp + 0x18]
and ecx, ebx
mov dword [esp + 0x18c], ecx
mov edx, ecx
jmp 0x677d89
mov ebx, dword [esp + 0x48]
cmp edx, ebx
ja 0x677fa1
mov edx, dword [esp + 0x60]
bts ecx, edx
mov dword [esp + 0x18c], ecx
lea ecx, [esp + 0x140]
mov eax, dword [eax*8 + 0x712c6c]
shl eax, 0xa
push eax
call fcn.00670252
push 0x1e
lea ecx, [esp + 0x14b]
call fcn.0066feda
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x1c
lea ecx, [esp + 0x14b]
call fcn.0066fee7
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x10
push dword [esp + 0x190]
jmp 0x67478d
cmp eax, 0x49
jne 0x6773c2
mov eax, dword [esp + 0x18]
xor ecx, ecx
cmp dword [eax*8 + 0x712c68], ecx
je 0x6773c2
push dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 0x20]
mov ebx, edi
call fcn.006702ea
pop ecx
pop ecx
test al, al
je case.default.0x670a77
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
mov eax, dword [eax*8 + 0x712c68]
shl eax, 0xa
push eax
call fcn.00670252
push 0x1e
lea ecx, [esp + 0x14b]
call fcn.0066feda
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x1c
lea ecx, [esp + 0x14b]
call fcn.0066fee7
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x16
lea ecx, [esp + 0x14b]
call fcn.0066fef0
jmp 0x6752c4
mov esi, dword [esp + 0x14]
cmp ecx, 0xc9
jne 0x6773c2
mov edx, dword [esp + 0xc]
mov eax, edx
shr eax, 0xc
and eax, 7
shr edx, 3
push eax
mov eax, dword [esp + 0x1c]
and dl, 0x1f
mov ecx, dword [eax*4 + 0x712750]
shr ecx, 0x16
and ecx, 0x3f
call fcn.0066ff17
mov byte [esp + 0x157], al
mov ebx, edi
pop ecx
cmp al, 0xff
je case.default.0x670a77
push dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov ecx, esi
call fcn.006702d4
pop ecx
test al, al
je case.default.0x670a77
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov ecx, dword [esp + 0x1c]
mov edi, eax
mov dword [esp + 0x28], edx
call fcn.0066f700
mov ecx, eax
call fcn.0066f827
lea ecx, [esp + 0x153]
mov ebx, eax
call fcn.0066fef0
push 8
pop esi
mov ecx, eax
shl esi, cl
cmp edi, esi
jne 0x677f9d
xor eax, eax
cmp dword [esp + 0x28], eax
jne 0x677f9d
test ebx, ebx
jne 0x677f9d
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
mov eax, dword [eax*4 + 0x712750]
shl eax, 0xa
push eax
call fcn.00670252
push 0x1e
lea ecx, [esp + 0x157]
call fcn.0066fed3
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x16
lea ecx, [esp + 0x157]
call fcn.0066fef0
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
jmp 0x67482d
mov edi, dword [esp + 0x44]
push 0x32
mov ebx, edi
jmp 0x6773c6
mov esi, dword [esp + 0x14]
cmp ecx, 0x49
jne 0x6773c2
mov eax, dword [esp + 0x34]
and eax, 0xff007fff
cmp eax, 0x10003161
jne 0x6773c2
mov ecx, edx
call fcn.0066f700
mov ecx, eax
call fcn.0066fd45
test al, al
je 0x6773c2
mov ebx, dword [esp + 0x1c]
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066fd45
test al, al
je 0x6773c2
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066fd02
test al, al
je 0x6773c2
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066fd1d
mov ebx, eax
cmp ebx, 3
ja 0x6791e7
mov eax, dword [esp + 0x18]
mov ecx, dword [eax*4 + 0x712c58]
shl ecx, 0xa
push ecx
lea ecx, [esp + 0x144]
call fcn.00670252
push 0xc
push ebx
lea ecx, [esp + 0x148]
call fcn.006797f4
push dword [esp + 0x38]
mov edx, dword [esp + 0x14]
mov ecx, esi
mov ebx, edi
call fcn.0067069d
pop ecx
test al, al
je 0x6793a3
mov eax, dword [esp + 0x1c]
push 0x1f
pop edx
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0x10]
and ecx, edx
shl ecx, 0xb
mov eax, dword [eax + 4]
and eax, edx
or ecx, eax
mov eax, dword [esi + 4]
shl ecx, 5
and eax, edx
or ecx, eax
or dword [esp + 0x140], ecx
jmp 0x670e10
mov ebx, edx
mov esi, dword [esp + 0x14]
cmp ecx, 9
jne 0x6773c2
xor eax, eax
mov ecx, esi
push eax
call fcn.0066f78d
test al, al
je 0x6773c2
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066f7b5
test al, al
je 0x6773c2
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066fd14
mov ecx, ebx
mov esi, eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
mov ecx, dword [esp + 0x18]
mov dl, al
push esi
mov ecx, dword [ecx*4 + 0x712fa0]
shr ecx, 0x16
and ecx, 0x3f
call fcn.0066ff17
pop ecx
lea ecx, [esp + 0x151]
mov byte [esp + 0x151], al
mov ebx, edi
call fcn.0066fecc
test al, al
je case.default.0x670a77
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fd02
test al, al
je case.default.0x670a77
mov ecx, dword [esp + 0x14]
call fcn.0066f700
mov ecx, eax
call fcn.0066fca8
movzx eax, al
lea ecx, [esp + 0x151]
mov dword [esp + 0xc], eax
call fcn.0066fef0
mov ebx, dword [esp + 0x18]
push 3
pop edx
mov dword [esp + 0x28], eax
mov ecx, dword [ebx*4 + 0x712fa0]
shr ecx, 0x1c
and ecx, 1
sub edx, ecx
cmp eax, edx
sbb eax, eax
inc eax
test ecx, ecx
je 0x67819f
cmp dword [esp + 0x28], edx
jb 0x6781af
cmp dword [esp + 0xc], 0
mov ebx, edi
je case.default.0x670a77
jmp 0x6781ab
mov ebx, edi
cmp dword [esp + 0xc], eax
jne case.default.0x670a77
mov ebx, dword [esp + 0x18]
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fd1d
lea ecx, [esp + 0x151]
mov esi, eax
call fcn.0066fef0
push 0xf
pop edx
mov ecx, eax
shr edx, cl
cmp esi, edx
ja 0x6791e7
lea ecx, [esp + 0x151]
call fcn.0066fef0
mov ecx, eax
add esi, esi
mov eax, dword [ebx*4 + 0x712fa0]
or esi, 1
shl eax, 0xa
shl esi, cl
lea ecx, [esp + 0x140]
push eax
call fcn.00670252
push 0x1e
push dword [esp + 0x10]
lea ecx, [esp + 0x148]
call fcn.006797f4
jmp 0x675877
mov esi, dword [esp + 0x14]
cmp ecx, 9
jne 0x6773c2
mov edx, dword [esp + 0xc]
mov eax, edx
shr eax, 0xc
and eax, 7
shr edx, 3
push eax
mov eax, dword [esp + 0x1c]
and dl, 0x1f
mov ecx, dword [eax*4 + 0x712da8]
shr ecx, 0x16
and ecx, 0x3f
call fcn.0066ff17
mov byte [esp + 0x15b], al
mov ebx, edi
pop ecx
cmp al, 0xff
je case.default.0x670a77
push dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov ecx, esi
call fcn.006702d4
pop ecx
test al, al
je case.default.0x670a77
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
mov eax, dword [eax*4 + 0x712da8]
shl eax, 0xa
push eax
call fcn.00670252
push 0x1e
lea ecx, [esp + 0x15b]
call fcn.0066fed3
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
lea ecx, [esp + 0x157]
call fcn.0066fef0
add eax, 0x13
push eax
push 1
jmp 0x67478d
mov esi, dword [esp + 0x14]
cmp ecx, 0x49
je 0x6782e1
mov ebx, edi
cmp ecx, 0x249
jne case.default.0x670a77
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x34]
shr ebx, 3
and ebx, 0x1f
mov eax, dword [eax*4 + 0x71298c]
sub ebx, 0xb
shl eax, 0xa
mov dword [esp + 0x140], eax
cmp ebx, 1
ja 0x6773c2
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fd02
test al, al
jne 0x6773c2
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fd35
test al, al
je 0x6773c2
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fd02
test al, al
jne 0x6773c2
mov edi, dword [esp + 0x38]
lea ecx, [edi + 0x20]
call fcn.0066f756
movzx esi, al
lea ecx, [edi + 0x10]
xor esi, 1
call fcn.0066f756
mov ecx, dword [esp + 0x38]
movzx edi, al
xor edi, 1
add edi, esi
call fcn.0066f756
movzx esi, al
lea ecx, [esp + 0x140]
push 0x1e
xor esi, 1
push ebx
add esi, edi
call fcn.006797f4
push 0xd
push esi
lea ecx, [esp + 0x148]
call fcn.006797f4
xor eax, eax
sub esi, eax
je 0x678485
sub esi, 1
je 0x67844b
sub esi, 1
je 0x678407
sub esi, 1
je 0x6783c9
mov ebx, dword [esp + 0x44]
jmp case.default.0x670a77
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x14]
mov ecx, esi
mov edi, dword [esp + 0x44]
mov ebx, edi
lea edx, [edx + 0x20]
call fcn.00670445
test al, al
je case.default.0x670a77
mov ecx, dword [esp + 0x38]
lea ecx, [ecx + 0x20]
call fcn.0066f789
cmp eax, 0x1f
ja 0x6793a3
mov eax, dword [esp + 0x38]
add eax, 0x20
jmp 0x678443
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x14]
mov ecx, esi
mov edi, dword [esp + 0x44]
mov ebx, edi
lea edx, [edx + 0x10]
call fcn.00670445
test al, al
je case.default.0x670a77
mov ecx, dword [esp + 0x38]
lea ecx, [ecx + 0x10]
call fcn.0066f789
cmp eax, 0x1f
ja 0x6793a3
mov eax, dword [esp + 0x38]
add eax, 0x10
push 0x10
push eax
jmp 0x677377
mov esi, dword [esp + 0x14]
mov ecx, esi
mov edi, dword [esp + 0x44]
mov ebx, edi
mov edx, dword [esp + 0x38]
call fcn.00670445
test al, al
je case.default.0x670a77
mov ecx, dword [esp + 0x38]
call fcn.0066f789
cmp eax, 0x1f
ja 0x6793a3
push 0x10
push dword [esp + 0x3c]
jmp 0x677377
mov esi, dword [esp + 0x14]
mov ecx, esi
mov edi, dword [esp + 0x44]
mov ebx, edi
mov edx, dword [esp + 0x1c]
call fcn.00670445
test al, al
je case.default.0x670a77
mov ecx, dword [esp + 0x1c]
call fcn.0066f789
cmp eax, 0x1f
ja 0x6793a3
push 0x10
push dword [esp + 0x20]
jmp 0x677377
mov esi, dword [esp + 0x14]
cmp ecx, 0x11
jne 0x6773c2
mov eax, dword [esp + 0x34]
shr eax, 3
and eax, 0x1f
mov dword [esp + 0x20], edx
sub eax, 8
mov dword [esp + 0x34], eax
cmp eax, 4
ja 0x678d26
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fd02
test al, al
jne 0x678d26
mov ecx, esi
mov ebx, edi
call fcn.0067056a
test al, al
je 0x6793a3
mov ecx, dword [esp + 0x10]
call fcn.00670331
test al, al
je 0x673db9
mov ebx, dword [esp + 0x10]
mov ecx, ebx
call fcn.0066f80c
mov ecx, ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x28], edx
call fcn.0066f7d7
test al, al
je 0x678980
mov ecx, ebx
call fcn.0066f7cd
test al, al
je 0x6786b3
mov ecx, ebx
call fcn.0066f827
mov ebx, edi
movzx eax, byte [eax + 0x7107d0]
mov dword [esp + 0x28], eax
cmp eax, 0xff
je 0x673db9
mov ecx, dword [esp + 0x10]
call fcn.0066fd65
mov ebx, dword [esp + 0x34]
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x48], ecx
test eax, eax
je 0x6785a1
cmp eax, ebx
je 0x6785a1
push 0x2d
pop ecx
call fcn.0066f700
mov ebx, edi
jmp 0x6773c7
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
mov eax, dword [eax*8 + 0x712f30]
and eax, 0xffe00000
push eax
call fcn.00670252
mov eax, ebx
lea ecx, [esp + 0x140]
push 0x1e
and eax, 3
push eax
call fcn.006797f4
push 0x17
shr ebx, 2
lea ecx, [esp + 0x144]
push ebx
call fcn.006797f4
push 0xd
push dword [esp + 0x2c]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0xc
push dword [esp + 0x4c]
lea ecx, [esp + 0x148]
call fcn.006797f4
mov dword [esp + 0x8c], 0xb
lea ecx, [esp + 0x8c]
mov ebx, esi
call fcn.0067037b
push eax
lea ecx, [esp + 0x144]
call fcn.006702b8
xor eax, eax
lea ecx, [esp + 0x140]
push eax
push ebx
call fcn.0067029d
mov ecx, dword [esp + 0x10]
mov ebx, edi
call fcn.0066f700
mov ecx, eax
call fcn.0066f7d7
test al, al
je 0x673db9
mov ebx, dword [esp + 0x10]
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066f7e5
cmp eax, 0x1e
jbe 0x67868f
mov ecx, dword [esp + 0x10]
mov ebx, edi
call fcn.0066f700
mov ecx, eax
call fcn.0066f7e5
cmp eax, dword [esp + 0x3c]
jne 0x6793a3
mov ebx, dword [esp + 0x10]
push 0x10
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066f7e5
push eax
lea ecx, [esp + 0x148]
call fcn.00670285
mov ecx, ebx
jmp 0x6746ad
push dword [esp + 0x28]
mov ebx, edi
push dword [esp + 0x10]
call fcn.0067971d
pop ecx
pop ecx
test al, al
je 0x678c95
mov ecx, dword [esp + 0x10]
call fcn.0066fd7e
test al, al
je 0x678782
mov ecx, dword [esp + 0xc]
call fcn.00679871
test al, al
je 0x678c95
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
mov eax, dword [eax*8 + 0x712f30]
and eax, 0xfffffc00
shl eax, 0xb
push eax
call fcn.00670252
mov ebx, dword [esp + 0x34]
lea ecx, [esp + 0x140]
mov eax, ebx
push 0x1e
and eax, 3
push eax
call fcn.006797f4
push 0x17
shr ebx, 2
lea ecx, [esp + 0x144]
push ebx
call fcn.006797f4
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0x140]
push 0xc
and eax, 0x1ff
push eax
call fcn.006797f4
mov ecx, dword [esp + 0x10]
push 0xb
call fcn.0066fd8f
movzx eax, al
lea ecx, [esp + 0x144]
push eax
call fcn.00679883
mov dword [esp + 0x90], 0xa
lea ecx, [esp + 0x90]
jmp 0x673b07
mov ebx, dword [esp + 0x34]
mov ecx, ebx
mov eax, dword [esp + 0xc]
shr eax, cl
mov ecx, eax
mov dword [esp + 0x48], eax
call fcn.00679899
test al, al
je 0x6787f7
mov eax, dword [esp + 0x48]
mov ecx, ebx
shl eax, cl
cmp eax, dword [esp + 0xc]
jne 0x6787f7
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
mov eax, dword [eax*8 + 0x712f30]
shl eax, 0x16
push eax
call fcn.00670252
mov eax, ebx
lea ecx, [esp + 0x140]
push 0x1e
and eax, 3
push eax
call fcn.006797f4
push 0x17
shr ebx, 2
lea ecx, [esp + 0x144]
push ebx
call fcn.006797f4
push 0xa
push dword [esp + 0x4c]
jmp 0x673b8b
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x40]
push 0x1f
mov eax, dword [eax*8 + 0x712f34]
shr eax, 8
movzx ebx, ax
movzx eax, byte [ebx*8 + 0x710951]
mov dword [esp + 0x1c], eax
pop eax
mov esi, dword [esp + 0x14]
cmp ecx, 0x11
jne case.default.0x670a77
mov ecx, dword [esi]
shr ecx, 3
and ecx, eax
mov dword [esp + 0x20], edx
sub ecx, 8
mov dword [esp + 0x28], ecx
cmp ecx, 4
ja case.default.0x670a77
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fd0a
test al, al
jne case.default.0x670a77
mov ecx, esi
call fcn.0067056a
test al, al
je 0x6793a3
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.00670331
test al, al
je 0x673db9
mov ecx, edi
call fcn.0066f7d7
test al, al
je 0x673db9
mov ecx, edi
call fcn.0066f7cd
test al, al
jne 0x673db9
mov ecx, edi
call fcn.0066fd7e
test al, al
jne 0x673db9
mov ecx, edi
call fcn.0066f7e9
test al, al
jne 0x678c95
mov ecx, edi
call fcn.0066f823
mov ecx, eax
mov dword [esp + 0x48], eax
call fcn.00679871
test al, al
je 0x678c95
mov eax, dword [esp + 0x18]
mov ecx, dword [eax*4 + 0x712dcc]
shl ecx, 0xa
push ecx
lea ecx, [esp + 0x144]
call fcn.00670252
mov edi, dword [esp + 0x28]
lea ecx, [esp + 0x140]
mov eax, edi
push 0x1e
and eax, 3
push eax
call fcn.006797f4
push 0x17
shr edi, 2
lea ecx, [esp + 0x144]
push edi
call fcn.006797f4
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x140]
push 0xc
and eax, 0x1ff
push eax
call fcn.006797f4
mov eax, esi
xor ecx, ecx
push ecx
push eax
lea ecx, [esp + 0x148]
call fcn.0067029d
mov edi, dword [esp + 0x20]
mov ecx, edi
call fcn.0066f700
mov ecx, eax
call fcn.00670585
test al, al
je 0x673db9
push 5
mov ecx, edi
call fcn.0066f700
mov ecx, eax
call fcn.0066f789
push eax
lea ecx, [esp + 0x148]
call fcn.00670285
jmp 0x670e12
mov eax, dword [esp + 0x18]
mov ebx, edi
mov eax, dword [eax*8 + 0x712f34]
test al, al
je 0x673db9
mov ebx, dword [esp + 0x34]
cmp ebx, 2
jb 0x678d26
shl eax, 0x18
lea ecx, [esp + 0x140]
push eax
call fcn.00670252
push 0x1e
lea eax, [ebx - 2]
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
xor ebx, ebx
lea ecx, [esp + 0x140]
push ebx
push esi
call fcn.0067029d
push 2
push 0x13
push dword [esp + 0x2c]
lea ecx, [esp + 0x164]
push 4
push ebx
call fcn.0066f87c
mov ebx, dword [esp + 0x20]
mov eax, dword [ebx]
and eax, 7
cmp eax, 4
je 0x678b30
cmp eax, 2
je 0x678b30
mov ecx, ebx
call fcn.0066f774
test al, al
je 0x6773c2
mov ecx, dword [esp + 0x5c]
mov ecx, dword [ecx + 0x2c]
call fcn.0066f8f7
mov ecx, ebx
mov dword [esp + 0x48], eax
mov dword [esp + 0x60], edx
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov esi, eax
lea ecx, [esp + 0x160]
mov eax, dword [esp + 0x5c]
mov ebx, edx
push dword [eax + 0x6c]
call fcn.0066f9a2
mov ecx, dword [esp + 0x48]
and ecx, dword [esp + 0x60]
mov dword [esp + 0xc], eax
cmp ecx, 0xffffffff
je 0x678aa9
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax + 0x68]
call fcn.0066f867
test eax, eax
jne 0x678aa9
mov ecx, dword [esp + 0x48]
add dword [esp + 0xc], ecx
lea ecx, [esp + 0x158]
adc eax, dword [esp + 0x60]
mov dword [esp + 0x48], eax
call fcn.0066f86a
mov ecx, dword [esp + 0x48]
cmp al, 3
mov eax, dword [esp + 0xc]
jne 0x678a9c
and eax, 0xfffff000
sub esi, eax
sbb ebx, ecx
mov dword [esp + 0x54], ebx
jmp 0x678be2
mov esi, dword [esp + 0x5c]
lea eax, [esp + 0x13c]
push 4
push eax
mov ecx, dword [esi + 0x2c]
call sym.Trainer.exe_public:_unsigned_int___thiscall_asmjit::_abi_1_11::CodeHolder::newRelocEntry_struct_asmjit::_abi_1_11::RelocEntry____enum_asmjit::_abi_1_11::RelocType_
mov ebx, edi
test eax, eax
jne 0x6773c7
mov ecx, dword [esi + 0x68]
call fcn.0066f867
mov edx, dword [esp + 0x13c]
xor ebx, ebx
mov ecx, dword [esp + 0xc]
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x13c]
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x20]
mov dword [eax + 0x1c], ebx
mov eax, dword [esp + 0x13c]
mov edx, dword [esp + 0x158]
mov esi, dword [esp + 0x15c]
mov dword [eax + 8], edx
mov dword [eax + 0xc], esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov ecx, dword [esp + 0x13c]
add eax, 4
adc edx, ebx
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
jmp 0x672d09
xorps xmm0, xmm0
mov ecx, ebx
movlpd qword [esp + 0x28], xmm0
cmp eax, 4
jne 0x678b58
call fcn.0066f700
mov ecx, eax
call fcn.0066f789
mov edx, dword [esp + 0x2c]
mov esi, eax
mov ebx, dword [esp + 0x28]
jmp 0x678b76
call fcn.0066f700
mov ecx, eax
call fcn.0066f789
mov ecx, ebx
mov esi, eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f80c
mov ebx, eax
mov eax, dword [esp + 0x5c]
push esi
mov dword [esp + 0x10], edx
mov ecx, dword [eax + 0x2c]
call fcn.0066f8fe
mov esi, eax
mov dword [esp + 0x28], esi
test esi, esi
jne 0x678b9b
push 0xc
pop eax
mov ecx, eax
jmp 0x678595
lea ecx, [esp + 0x158]
call fcn.0066f86a
mov eax, dword [esp + 0x5c]
mov ecx, esi
push dword [eax + 0x68]
call fcn.0066f8e0
test al, al
je 0x678cd3
mov ecx, dword [esp + 0x5c]
call fcn.0066f929
sub ebx, eax
mov ecx, esi
push 0
pop eax
sbb dword [esp + 0xc], eax
call fcn.0066f8f0
mov esi, eax
add esi, ebx
adc edx, dword [esp + 0xc]
mov dword [esp + 0x54], edx
lea ecx, [esp + 0x158]
call fcn.0066f877
lea ecx, [esp + 0x94]
mov dword [esp + 0x94], eax
mov ebx, edi
call fcn.006797e0
xor ecx, ecx
and eax, esi
and ecx, dword [esp + 0x54]
or eax, ecx
jne 0x678c95
lea ecx, [esp + 0x158]
call fcn.0066f877
mov edx, dword [esp + 0x54]
mov ecx, eax
mov eax, esi
call fcn.00702dc0
lea ecx, [esp + 0x158]
mov dword [esp + 0x48], eax
mov esi, edx
call fcn.0066f86d
push esi
push dword [esp + 0x4c]
mov ecx, eax
call fcn.0066f703
pop ecx
pop ecx
test al, al
je 0x678c95
lea ecx, [esp + 0x158]
call fcn.0066f86d
lea ecx, [esp + 0xcc]
mov dword [esp + 0xcc], eax
call fcn.006797e0
mov esi, eax
lea ecx, [esp + 0x158]
and esi, dword [esp + 0x48]
call fcn.0066f86a
movzx eax, al
xor ecx, ecx
sub eax, ecx
je 0x678cc4
dec eax
sub eax, 1
je 0x678ca2
sub eax, 1
je 0x678ca2
push 0x30
pop ecx
call fcn.0066f700
jmp 0x6773c7
mov eax, esi
lea ecx, [esp + 0x140]
and eax, dword [esp + 0x58]
push 0x1d
push eax
call fcn.006797f4
push dword [esp + 0x24]
shr esi, 2
push esi
jmp 0x672d54
lea ecx, [esp + 0x158]
call fcn.0066f872
push eax
jmp 0x678cbe
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0x160]
push dword [eax + 0x6c]
call fcn.0066f9a2
mov esi, eax
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax + 0x68]
mov edi, dword [eax + 0x2c]
call fcn.0066f867
lea ecx, [esp + 0x158]
push ecx
push ebx
push esi
push eax
push dword [esp + 0x38]
mov ecx, edi
call sym.Trainer.exe_public:_struct_asmjit::_abi_1_11::LabelLink____thiscall_asmjit::_abi_1_11::CodeHolder::newLabelLink_class_asmjit::_abi_1_11::LabelEntry___unsigned_int__unsigned_int__int__struct_asmjit::_abi_1_11::OffsetFormat_const__
test eax, eax
jne 0x673483
xor ecx, ecx
inc ecx
call fcn.0066f700
mov ebx, dword [esp + 0x44]
jmp 0x6773c7
push 0x1b
jmp 0x678594
mov esi, dword [esp + 0x14]
cmp ecx, 0x89
jne 0x6773c2
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x34]
shr eax, 3
and eax, 0x1f
sub eax, 0xa
mov dword [esp + 0x34], eax
cmp eax, 2
ja 0x6773c2
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066fd0a
test al, al
jne 0x6773c2
mov edx, dword [esp + 0x10]
mov ecx, esi
mov ebx, edi
call fcn.00670445
test al, al
je case.default.0x670a77
mov edx, dword [esp + 0x10]
mov ecx, esi
call fcn.00670575
test al, al
je 0x6793a3
mov esi, dword [esp + 0x1c]
mov ecx, esi
call fcn.0066f7c5
cmp al, 7
jne 0x673db7
mov ecx, esi
call fcn.0066f7cd
test al, al
jne 0x673db7
mov ecx, esi
call fcn.0066f7e9
test al, al
jne 0x678c95
mov eax, dword [esp + 0x34]
mov ecx, esi
add eax, 2
mov dword [esp + 0x1b8], eax
call fcn.0066f823
mov ecx, dword [esp + 0x1b8]
lea edx, [esp + 0x1b8]
sar eax, cl
lea ecx, [esp + 0x184]
mov dword [esp + 0x184], eax
call fcn.00679716
mov ecx, dword [esp + 0x1c]
mov esi, eax
call fcn.0066f823
cmp esi, eax
jne 0x678c95
mov ecx, dword [esp + 0x184]
call fcn.006798a5
test al, al
je 0x678c95
mov esi, dword [esp + 0x1c]
mov ecx, esi
call fcn.0066fd7e
test al, al
je 0x678e8c
cmp dword [esp + 0x184], 0
je 0x678e8c
mov eax, dword [esp + 0x18]
mov eax, dword [eax*4 + 0x712140]
test eax, 0xffc00
je 0x673db9
and eax, 0xfffffc00
lea ecx, [esp + 0x140]
shl eax, 0xc
push eax
call fcn.00670252
push 0x18
mov ecx, esi
call fcn.0066fd8f
movzx eax, al
lea ecx, [esp + 0x144]
push eax
call fcn.00679883
jmp 0x678ea7
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
mov eax, dword [eax*4 + 0x712140]
shl eax, 0x16
push eax
call fcn.00670252
push 0x1e
push dword [esp + 0x38]
lea ecx, [esp + 0x148]
call fcn.006797f4
mov eax, dword [esp + 0x184]
jmp 0x673d8a
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x14]
add eax, 0x10
mov dword [esp + 0x48], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x58], 3
cmp ecx, 0x11
jne 0x678f0d
mov eax, dword [esp + 0x18]
mov ebx, edi
mov eax, dword [eax*8 + 0x712f44]
and eax, 0x1c00000
cmp eax, 0x400000
jne case.default.0x670a77
mov ebx, edx
jmp 0x679073
cmp ecx, 0x89
jne 0x678f6c
mov eax, dword [esp + 0x18]
mov eax, dword [eax*8 + 0x712f44]
and eax, 0x1c00000
cmp eax, 0x400000
je 0x678f39
mov ebx, edi
cmp eax, 0x800000
jne case.default.0x670a77
mov ecx, esi
call fcn.00670445
test al, al
je 0x6773c2
mov edx, dword [esp + 0x10]
mov ecx, esi
call fcn.006705a7
test al, al
je 0x6773c2
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0xc], 2
jmp 0x679073
cmp ecx, 0x449
jne 0x678fec
mov ecx, eax
call fcn.0066f756
test al, al
je 0x678fe4
mov eax, dword [esp + 0x18]
mov eax, dword [eax*8 + 0x712f44]
and eax, 0x1c00000
cmp eax, 0x400000
je 0x678fa3
mov ebx, edi
cmp eax, 0xc00000
jne case.default.0x670a77
push dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov ecx, esi
mov edx, ebx
call fcn.0067044d
pop ecx
test al, al
je 0x6773c2
push dword [esp + 0x1c]
mov edx, ebx
mov ecx, esi
call fcn.006705b5
pop ecx
test al, al
je 0x6773c2
mov eax, dword [esp + 0x58]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0xc], eax
jmp 0x679073
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x48]
mov ebx, edi
cmp ecx, 0x249
jne case.default.0x670a77
mov ecx, eax
call fcn.0066f76a
test al, al
je case.default.0x670a77
mov eax, dword [esp + 0x18]
mov eax, dword [eax*8 + 0x712f44]
and eax, 0x1c00000
cmp eax, 0x400000
je 0x67902b
cmp eax, 0x1000000
jne case.default.0x670a77
push dword [esp + 0x38]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 0x20]
mov ebx, edi
call fcn.00670465
pop ecx
pop ecx
test al, al
je case.default.0x670a77
push dword [esp + 0x38]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 0x20]
call fcn.006705dc
pop ecx
pop ecx
test al, al
je case.default.0x670a77
mov ebx, dword [esp + 0x48]
mov dword [esp + 0xc], 4
mov ecx, esi
call fcn.0066f700
mov ecx, ebx
mov dword [esp + 0x24], eax
call fcn.0066f700
xor ecx, ecx
mov dword [esp + 0x44], eax
mov dword [esp + 0x34], ecx
mov ecx, eax
call fcn.0066f789
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x20], eax
call fcn.0066fd14
dec eax
mov ebx, edi
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], eax
cmp eax, dword [esp + 0x58]
ja case.default.0x670a77
mov ecx, dword [esp + 0x44]
call fcn.0066f7c5
push 7
pop ecx
cmp al, cl
jne 0x673db9
mov eax, dword [esp + 0x20]
cmp eax, 0x1e
jbe 0x6790de
cmp eax, 0x1f
jne 0x673db9
and eax, 0x1f
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x18]
mov eax, dword [eax*8 + 0x712f44]
test eax, 0x2000000
je 0x679160
shr eax, 0x16
mov ebx, edi
and eax, ecx
cmp dword [esp + 0xc], eax
jne case.default.0x670a77
mov ecx, dword [esp + 0x24]
call fcn.0066fd02
test al, al
jne case.default.0x670a77
mov ecx, dword [esp + 0x24]
call fcn.0066f7c5
mov dl, 0xb
mov cl, al
call fcn.0066fec3
mov dword [esp + 0x24], eax
cmp eax, 1
ja case.default.0x670a77
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x140]
mov edx, dword [eax*8 + 0x712f40]
shl edx, 0xa
push edx
call fcn.00670252
mov ecx, dword [esp + 0x40]
shl dword [esp + 0xc], cl
jmp 0x679277
mov ebx, dword [esp + 0x24]
mov ecx, ebx
call fcn.0066fd02
test al, al
je 0x67920a
mov ecx, dword [esp + 0x18]
mov ebx, edi
mov eax, dword [ecx*8 + 0x712f44]
shr eax, 0x16
and eax, 7
cmp dword [esp + 0xc], eax
jne case.default.0x670a77
mov eax, dword [ecx*8 + 0x712f40]
lea ecx, [esp + 0x140]
shl eax, 0xa
push eax
call fcn.00670252
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x40]
mov eax, dword [eax*8 + 0x712f44]
movzx ebx, byte [ecx + 0x7107cc]
shr eax, 0x16
and eax, 7
shl eax, cl
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xc], eax
call fcn.0066fd1d
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x40]
mov ecx, eax
push 0xf
pop edx
sar edx, cl
cmp dword [esp + 0x48], edx
jbe 0x6791ee
push 0x1f
jmp 0x678594
mov edx, dword [esp + 0x48]
mov ecx, eax
shl edx, cl
mov eax, edx
and edx, 7
shr eax, 3
or ebx, edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x3c], ebx
jmp 0x679277
mov ecx, ebx
call fcn.0066f7c5
mov dl, 0xb
mov cl, al
call fcn.0066fec3
mov dword [esp + 0x24], eax
mov ebx, edi
cmp eax, 1
ja case.default.0x670a77
mov eax, dword [esp + 0x18]
mov edx, dword [eax*8 + 0x712f44]
mov eax, edx
and eax, 0x1c00000
cmp eax, 0x400000
jne 0x679255
mov eax, dword [esp + 0xc]
movzx ebx, byte [eax + 0x7107c4]
or ebx, dword [esp + 0x40]
mov dword [esp + 0x3c], ebx
shl edx, 0xa
lea ecx, [esp + 0x140]
push edx
call fcn.00670252
mov ecx, dword [esp + 0x24]
push 8
pop eax
shl eax, cl
imul eax, dword [esp + 0xc]
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 0x44]
mov ecx, ebx
call fcn.0066f7cd
mov ecx, ebx
test al, al
je 0x6792ce
call fcn.0066f7f7
test al, al
jne 0x673db7
mov ecx, ebx
call fcn.0066fd9f
test al, al
je 0x673db7
mov ecx, ebx
call fcn.0066f7e5
mov dword [esp + 0x34], eax
mov ebx, edi
cmp eax, 0x1e
ja 0x673db9
mov dword [esp + 0x9c], 0x17
lea ecx, [esp + 0x9c]
jmp 0x67932a
call fcn.0066f7f7
test al, al
je 0x67933c
mov ecx, dword [esp + 0x44]
mov ebx, edi
call fcn.0066f80c
mov ecx, eax
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0xc]
cdq
cmp ecx, eax
jne 0x673db9
cmp dword [esp + 0x28], edx
jne 0x673db9
mov ecx, dword [esp + 0x44]
call fcn.0066fd9f
test al, al
je 0x673db9
mov dword [esp + 0x34], 0x1f
lea ecx, [esp + 0xa0]
mov dword [esp + 0xa0], 0x17
call fcn.0067037b
push eax
lea ecx, [esp + 0x144]
call fcn.006702b8
push 0x1e
push dword [esp + 0x28]
lea ecx, [esp + 0x148]
call fcn.006797f4
push 0x10
push dword [esp + 0x38]
lea ecx, [esp + 0x148]
call fcn.006797f4
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x3c]
push 0xa
mov dword [esp + 0x28], 5
pop ecx
push ecx
push eax
lea ecx, [esp + 0x148]
call fcn.006797f4
push dword [esp + 0x24]
lea ecx, [esp + 0x144]
push ebx
call fcn.006797f4
mov ecx, esi
mov ebx, edi
call fcn.00670613
test al, al
jne 0x670e00
mov eax, dword [esp + 0x54]
jmp 0x6773c7
mov ebx, dword [esp + 0x20]
jmp case.default.0x670a77
push str.multipleOpCount___0
push 0x12d7
push str.C:UsersUserDesktopTrainer2AsmJit_arm_a64assembler.cpp
call sym.Trainer.exe_void___cdecl_asmjit::_abi_1_11::DebugUtils::assertionFailed_char_const___int__char_const__
or edx, dword [edi]
add byte [bx + 22], dl
add byte [bp + 0x31], dh
add byte [di], bh
inc ebp
add bl, dh
inc ebx
add byte [bx + di + 0x6744], cl
add byte [edx - 0x3eff98dc], dl
and eax, 0x26fb0067
add byte [bp + si], dl
sub byte [edi], ah
cmp esi, dword [edi]
add byte [bp + 54], cl
add byte [bx + 0x6736], bl
add bh, dl
aaa
add byte [bp + 0x672d], al
add byte [edx], bl
das
add ch, ch
das
add cl, al
xor byte [edi], ah
and al, 0x1e
add byte [bp + si], bh
sub dword [edi], esp
fild qword [ecx]
add ah, dl
cmp byte [edi], ah
or edi, dword [edi]
add byte [edi - 2063571138], cl
sbb esp, dword [edi]
inc esp
adc ah, byte [edi]
int3