Function at 0x69505b
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xe4
mov eax, dword [0x73e040]
xor eax, esp
mov dword [esp + 0xe0], eax
and dword [esp + 0x50], 0
mov edx, ecx
mov ecx, dword [ebp + 0x18]
xorps xmm0, xmm0
mov eax, dword [ebp + 8]
mov dword [esp + 0x28], ecx
xor cl, cl
cmp eax, 0x6ba
mov dword [esp + 0x18], ecx
mov byte [esp + 0xc], cl
sbb ecx, ecx
mov dword [esp + 0x20], edx
and ecx, eax
mov edx, dword [edx + 0x74]
mov dword [esp + 0x40], ecx
push ebx
mov ebx, dword [ebp + 0x10]
lea ecx, [ecx*8 + sym.Trainer.exe_struct_asmjit::_abi_1_11::x86::InstDB::InstInfo_const__const_const_asmjit::_abi_1_11::x86::InstDB::_instInfoTable]
mov dword [esp + 0x60], edx
mov eax, dword [ecx]
shr eax, 0xe
and eax, 0x3ff
mov dword [esp + 0x28], ecx
push esi
mov esi, dword [ebp + 0x14]
push edi
mov edi, dword [ebp + 0xc]
lea eax, [eax*8 + sym.Trainer.exe_struct_asmjit::_abi_1_11::x86::InstDB::CommonInfo_const__const_const_asmjit::_abi_1_11::x86::InstDB::_commonInfoTable]
mov dword [esp + 0x38], eax
mov ecx, dword [esi]
mov eax, dword [ebx]
and ecx, 7
and eax, 7
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], edi
mov dword [esp + 0x50], ebx
mov byte [esp + 0x3f], 0
lea ecx, [eax + ecx*8]
movlpd qword [esp + 0x10], xmm0
mov eax, dword [edi]
and eax, 7
lea esi, [eax + ecx*8]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x6c], esi
mov eax, dword [eax + 0x70]
sub eax, edx
mov edx, dword [esp + 0x4c]
cmp eax, 0x10
sbb ecx, ecx
xor eax, eax
neg ecx
test edx, edx
sete al
or ecx, eax
mov eax, dword [esp + 0x2c]
or ecx, dword [eax + 0x44]
or ecx, dword [eax + 0x24]
mov dword [esp + 0x58], ecx
test ecx, 0x3e001
je 0x695336
cmp dword [eax + 0x2c], 0
jne 0x695154
push 0
push 5
mov ecx, eax
call sym.Trainer.exe_public:_unsigned_int___thiscall_asmjit::_abi_1_11::BaseEmitter::reportError_unsigned_int__char_const__
jmp 0x6955f0
test edx, edx
je case.default.0x695377
push 0x10
push eax
lea ecx, [esp + 0x70]
call fcn.0066f930
test eax, eax
jne 0x6955c9
mov ecx, dword [esp + 0x2c]
inc eax
test byte [ecx + 0x10], al
je 0x695232
mov esi, edi
mov eax, dword [esp + 0x34]
lea edi, [esp + 0x88]
mov edx, dword [ecx + 0x64]
push 0
push 6
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, ebx
lea edi, [esp + 0xa0]
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 + 0xb0]
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 + 0xc0]
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 + 0xd0]
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 + 0x54]
mov dword [esp + 0x80], eax
lea edi, [esp + 0xe0]
mov eax, dword [esp + 0x60]
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x84], eax
mov eax, dword [ecx + 0x48]
mov ecx, dword [ecx + 0x4c]
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x8c], ecx
lea ecx, [esp + 0x90]
push ecx
movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x84]
mov al, byte [eax + 0x38]
push ecx
push eax
movsd dword es:[edi], dword [esi]
call edx
add esp, 0x14
test eax, eax
jne 0x6955c9
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x6c]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x58]
mov eax, dword [edx]
shr eax, 0xe
and eax, 0x3ff
mov eax, dword [eax*8 + sym.Trainer.exe_struct_asmjit::_abi_1_11::x86::InstDB::CommonInfo_const__const_const_asmjit::_abi_1_11::x86::InstDB::_commonInfoTable]
mov dword [esp + 0xc], eax
mov eax, ecx
shr eax, 0xd
test al, 1
je 0x6952df
mov eax, dword [esp + 0xc]
and ecx, 0x30000
shr eax, 0x10
test al, 1
jne 0x695278
test ecx, ecx
jne 0x69527c
push 0x21
jmp 0x6955c8
test ecx, ecx
je 0x6952d4
mov ecx, dword [esp + 0x58]
xor eax, eax
shr ecx, 0x10
inc eax
test al, cl
je 0x69529c
mov eax, dword [esp + 0xc]
shr eax, 0x11
test al, 1
jne 0x69529c
push 0x22
jmp 0x6955c8
mov eax, dword [esp + 0x58]
shr eax, 0x11
test al, 1
je 0x6952b9
mov eax, dword [esp + 0xc]
shr eax, 0x12
test al, 1
jne 0x6952b9
push 0x23
jmp 0x6955c8
xor eax, eax
not cl
inc eax
and cl, al
mov eax, dword [esp + 0x68]
or cl, 0xf2
mov byte [eax], cl
mov eax, dword [esp + 0x68]
inc eax
mov dword [esp + 0x68], eax
jmp 0x6952d8
mov eax, dword [esp + 0x68]
mov byte [eax], 0xf0
inc dword [esp + 0x68]
test dword [esp + 0x58], 0xc000
je 0x69533a
mov eax, dword [esp + 0xc]
xor ecx, ecx
shr eax, 0xe
inc ecx
test cl, al
je 0x69532f
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x695312
shr ecx, 8
test cl, 0xf
jne 0x69532f
xor ecx, ecx
inc ecx
cmp dword [eax + 0x4c], ecx
jne 0x69532f
mov ecx, dword [esp + 0x58]
xor eax, eax
shr ecx, 0xf
inc eax
not cl
and cl, al
mov eax, dword [esp + 0x68]
or cl, 0xf2
mov byte [eax], cl
inc dword [esp + 0x68]
jmp 0x69533a
push 0x24
jmp 0x6955c8
mov edx, dword [esp + 0x30]
movzx eax, byte [edx + 6]
and dword [esp + 0x54], 0
mov ecx, dword [eax*4 + 0x720cc8]
mov eax, ecx
shr eax, 0x12
and eax, 7
mov dword [esp + 0x64], eax
movzx eax, byte [edx + 5]
or eax, ecx
movzx ecx, byte [edx + 4]
mov dword [esp + 0xc], eax
mov dword [esp + 0x60], eax
cmp ecx, 0xa1
ja case.default.0x695377
push 2
pop eax
jmp dword [ecx*4 + 0x69b197]
lea ecx, [esp + 0x60]
call fcn.00694c4d
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x60]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x7158a8]
lea ecx, [esp + 0x6c]
push eax
call fcn.0069b68a
mov ecx, dword [esp + 0x60]
or ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x54]
shr ecx, 0x15
and eax, 8
or ecx, eax
mov eax, dword [esp + 0x64]
shr ecx, 2
and eax, 8
or ecx, eax
shr ecx, 1
cmp ecx, 0x80
ja 0x698ee4
and ecx, 0x7f
setne al
or ecx, 0x40
movzx eax, al
push eax
push ecx
lea ecx, [esp + 0x70]
call fcn.0069b68a
push dword [esp + 0x60]
and dword [esp + 0x68], 7
lea ecx, [esp + 0x6c]
and dword [esp + 0x58], 7
call fcn.00694dd7
push dword [esp + 0x54]
mov edx, dword [esp + 0x68]
push 3
pop ecx
call fcn.00694d16
pop ecx
mov ecx, dword [esp + 0x68]
mov byte [ecx], al
inc dword [esp + 0x68]
push dword [esp + 0x18]
lea ecx, [esp + 0x6c]
push dword [esp + 0x18]
push dword [esp + 0x18]
call fcn.00694eca
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x58]
xor eax, eax
inc eax
test al, cl
je 0x695480
cmp dword [edi + 0x30], 0
je 0x695480
push dword [esp + 0x68]
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x50]
movzx eax, al
push eax
movzx eax, byte [esp + 0x47]
push eax
push dword [esp + 0x40]
push dword [esp + 0x2c]
push dword [esp + 0x64]
push ebx
push ecx
mov ecx, edi
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 + 0x68]
push edi
call fcn.0066f9fa
xor eax, eax
jmp 0x6955f0
mov ecx, edi
call fcn.0066f774
test al, al
je case.default.0x695377
lea ecx, [esp + 0x60]
call fcn.00694c4d
mov ecx, edi
mov dword [esp + 0x54], eax
call fcn.0066f700
mov ecx, eax
call fcn.0067e7e7
movzx eax, al
cdq
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x14], edx
lea ebx, [eax + 1]
mov dword [esp + 0x24], ebx
mov byte [esp + 0x18], bl
jmp case.0x695377.63
mov ecx, edi
call fcn.0066f75d
test al, al
je case.default.0x695377
mov ecx, edi
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
mov ecx, dword [esp + 0x2c]
movzx eax, al
movzx esi, byte [eax + 0x715910]
call fcn.00694c00
test esi, eax
lea ecx, [esp + 0x68]
setne al
movzx eax, al
push eax
call fcn.0069b6c9
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x60]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x7158a8]
lea ecx, [esp + 0x6c]
push eax
call fcn.0069b68a
mov ecx, dword [esp + 0x60]
or ecx, dword [esp + 0x58]
shr ecx, 0x18
cmp ecx, 0x80
ja 0x698ee8
and ecx, 0x7f
setne al
or ecx, 0x40
movzx eax, al
push eax
push ecx
lea ecx, [esp + 0x70]
call fcn.0069b68a
push dword [esp + 0x60]
lea ecx, [esp + 0x6c]
call fcn.00694dd7
push dword [esp + 0x18]
lea ecx, [esp + 0x6c]
push dword [esp + 0x18]
push dword [esp + 0x18]
call fcn.00694eca
mov edi, dword [esp + 0x2c]
jmp 0x695441
test esi, esi
je case.0x695377.1
xor eax, eax
inc eax
cmp esi, eax
jne case.default.0x695377
mov ecx, edi
call fcn.0066f789
test eax, eax
je case.0x695377.1
push 0x1a
pop eax
mov ebx, dword [esp + 0x20]
push dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, eax
push dword [esp + 0x20]
push dword [esp + 0x58]
push ebx
push dword [esp + 0x68]
push dword [esp + 0x60]
call fcn.00687f86
add esp, 0x18
mov ecx, dword [esp + 0xec]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.006dd431
mov esp, ebp
pop ebp
ret 0x14
test esi, esi
je case.0x695377.1
cmp esi, 9
jne case.default.0x695377
mov ecx, edi
call fcn.0066f789
cmp eax, 2
jne case.default.0x695377
mov ecx, ebx
jmp 0x6955b9
test esi, esi
je case.0x695377.1
mov dword [esp + 0x28], edi
cmp esi, eax
jne case.default.0x695377
xor edx, edx
mov ecx, edi
call fcn.00694cc8
test al, al
je case.default.0x695377
mov esi, edi
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.00694a7c
mov ecx, esi
movzx ebx, byte [eax + 0x715910]
call fcn.0066f700
mov ecx, eax
call fcn.0066f7f7
test al, al
jne case.default.0x695377
test bl, 2
jne case.default.0x695377
push dword [esp + 0x60]
lea ecx, [esp + 0x6c]
call fcn.00694db3
push dword [esp + 0x58]
lea ecx, [esp + 0x64]
call fcn.00694c56
mov edi, eax
mov ecx, edi
call fcn.00694d9d
test al, al
jne 0x698ee4
and edi, 0x7f
lea ecx, [esp + 0x68]
setne dl
or edi, 0x40
movzx edx, dl
push edx
push edi
call fcn.0069b68a
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.00694be6
push eax
lea ecx, [esp + 0x6c]
call fcn.00694e33
mov edi, dword [esp + 0x2c]
mov ecx, edi
call fcn.00694c00
test ebx, eax
lea ecx, [esp + 0x68]
setne al
movzx eax, al
push eax
call fcn.0069b6c9
push dword [esp + 0x60]
lea ecx, [esp + 0x6c]
call fcn.00694dd7
jmp 0x695942
cmp esi, 3
jne 0x69572f
mov ecx, edi
call fcn.0066f700
mov ecx, eax
call fcn.0067e7e7
movzx eax, al
cdq
mov dword [esp + 0x10], eax
xor eax, eax
inc eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x24], eax
mov byte [esp + 0x18], al
jmp case.0x695377.1
cmp esi, 0x19
jne case.default.0x695377
mov ecx, edi
call fcn.0066f789
test eax, eax
jne case.default.0x695377
mov ecx, ebx
jmp 0x695707
mov ecx, edi
call fcn.0066f75d
test al, al
je case.0x695377.11
mov ecx, edi
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6da
mov eax, dword [edi + 4]
xor ebx, ebx
inc ebx
mov dword [esp + 0x54], eax
cmp esi, ebx
je case.0x695377.63
mov dword [esp + 0xc], edi
cmp esi, 2
jne case.default.0x695377
jmp 0x698991
cmp esi, 0x4a
jne case.0x695377.14
mov edx, eax
mov ecx, ebx
call fcn.00694b90
test al, al
je case.default.0x695377
mov ecx, dword [esp + 0x1c]
xor edx, edx
call fcn.00694b90
test al, al
je case.default.0x695377
mov esi, edi
jmp 0x698dd3
cmp esi, eax
jne case.default.0x695377
jmp 0x6957b4
test esi, esi
je case.0x695377.1
push 0x11f
lea ecx, [esp + 0x64]
call fcn.00694c69
and dword [esp + 0x64], 0
xor eax, eax
inc eax
cmp esi, eax
jne 0x6957ff
mov ecx, edi
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6da
mov ecx, edi
jmp 0x6966cd
cmp esi, 2
jne 0x695817
mov ecx, edi
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6da
jmp 0x6957b4
mov ecx, ebx
call fcn.0066f789
mov ecx, ebx
mov dword [esp + 0x64], eax
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6da
cmp esi, 9
je 0x6957f8
cmp esi, 0xa
jmp 0x6957bd
cmp esi, 2
jne case.default.0x695377
mov ecx, edi
call fcn.0066f789
mov dword [esp + 0x54], eax
mov ecx, edi
call fcn.0066f700
mov ecx, eax
call fcn.00694a7c
mov ecx, edi
movzx ebx, byte [eax + 0x715910]
call fcn.0066f700
mov ecx, eax
call fcn.0066f7f7
test al, al
jne case.default.0x695377
test bl, 2
jne case.default.0x695377
push dword [esp + 0x60]
lea ecx, [esp + 0x6c]
call fcn.00694db3
push dword [esp + 0x58]
lea ecx, [esp + 0x64]
call fcn.00694c56
mov edx, dword [esp + 0x54]
mov esi, eax
mov ecx, dword [esp + 0x64]
shr edx, 2
and ecx, 8
or edx, ecx
shr edx, 1
or esi, edx
mov ecx, esi
call fcn.00694d9d
test al, al
jne 0x698ee4
and esi, 0x7f
lea ecx, [esp + 0x68]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.0069b68a
and dword [esp + 0x64], 7
mov ecx, edi
and dword [esp + 0x54], 7
call fcn.0066f700
mov ecx, eax
call fcn.00694be6
push eax
lea ecx, [esp + 0x6c]
call fcn.00694e33
mov edi, dword [esp + 0x2c]
mov ecx, edi
call fcn.00694c00
test ebx, eax
lea ecx, [esp + 0x68]
setne al
movzx eax, al
push eax
call fcn.0069b6c9
push dword [esp + 0x60]
lea ecx, [esp + 0x6c]
call fcn.00694dd7
push dword [esp + 0x54]
mov edx, dword [esp + 0x68]
push 3
pop ecx
call fcn.00694d16
pop ecx
push eax
lea ecx, [esp + 0x6c]
call fcn.0069b6b9
xor eax, eax
push eax
push eax
push eax
lea ecx, [esp + 0x74]
call fcn.00694eca
jmp 0x69543d
cmp esi, 0x49
jne 0x695984
push 2
pop edx
mov ecx, ebx
call fcn.00694b90
test al, al
je case.default.0x695377
mov ecx, dword [esp + 0x1c]
xor edx, edx
call fcn.00694b90
test al, al
je case.default.0x695377
jmp 0x6957f8
xor eax, eax
inc eax
cmp esi, eax
jne case.default.0x695377
mov ecx, edi
call fcn.0066fc98
jmp 0x695977
xor eax, eax
inc eax
cmp esi, eax
jne case.default.0x695377
jmp 0x6957f8
movzx eax, byte [edi + 3]
and eax, 0xf
mov eax, dword [eax*4 + 0x729070]
or eax, dword [esp + 0xc]
mov dword [esp + 0x60], eax
cmp esi, 9
jne 0x6959d2
mov eax, dword [edi + 4]
mov dword [esp + 0x64], eax
mov eax, dword [ebx + 4]
jmp 0x695387
cmp esi, 0x11
jne case.default.0x695377
mov ecx, edi
call fcn.0066f789
mov dword [esp + 0x64], eax
jmp 0x698dd1
cmp esi, 9
jne 0x695a38
mov ecx, edi
call fcn.0066f789
mov ecx, ebx
mov dword [esp + 0x64], eax
call fcn.0066f789
mov ecx, edi
mov dword [esp + 0x54], eax
call fcn.00694a40
cmp eax, 2
jne 0x695a22
push 0x66
lea ecx, [esp + 0x6c]
call fcn.0069b6b9
jmp case.0x695377.63
mov ecx, edi
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b70a
jmp case.0x695377.63
cmp esi, 0x11
jne case.default.0x695377
mov ecx, edi
call fcn.0066f789
mov esi, ebx
mov dword [esp + 0x64], eax
mov ecx, edi
mov dword [esp + 0xc], esi
call fcn.00694a40
cmp eax, 2
jne 0x695a6e
push 0x66
lea ecx, [esp + 0x6c]
call fcn.0069b6b9
jmp 0x698dd7
mov ecx, edi
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b70a
jmp 0x698dd7
mov ecx, ebx
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6da
cmp esi, 9
jne 0x695ab5
mov ecx, edi
call fcn.0066f789
mov ecx, ebx
mov dword [esp + 0x54], eax
call fcn.0066f789
mov dword [esp + 0x64], eax
jmp case.0x695377.63
cmp esi, 0xa
jne case.default.0x695377
mov esi, edi
mov ecx, ebx
mov dword [esp + 0xc], esi
call fcn.0066f789
mov dword [esp + 0x64], eax
jmp 0x698dd7
cmp esi, 9
jne 0x695bcf
mov ecx, edi
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6f2
mov ecx, ebx
call fcn.00694a40
mov ecx, edi
mov esi, eax
call fcn.00694a40
cmp eax, esi
jne 0x69822d
mov ecx, edi
call fcn.0066f789
mov ecx, ebx
mov dword [esp + 0x54], eax
call fcn.0066f789
mov ecx, edi
mov dword [esp + 0x64], eax
call fcn.00694a40
xor ecx, ecx
inc ecx
cmp eax, ecx
jne 0x695b9c
mov eax, dword [edi]
lea ecx, [esp + 0x58]
and eax, 0xff000fff
mov esi, 0x80000000
mov edi, 0xc0000000
cmp eax, 0x1000021
je 0x695b5c
cmp dword [esp + 0x54], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.00694aa9
jmp 0x695b68
mov edx, esi
call fcn.00694aa9
add dword [esp + 0x54], 4
mov eax, dword [ebx]
lea ecx, [esp + 0x58]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x695b90
cmp dword [esp + 0x64], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.00694aa9
jmp 0x695b9c
mov edx, esi
call fcn.00694aa9
add dword [esp + 0x64], 4
mov ecx, dword [esp + 0x58]
mov edx, 0x200
call fcn.0069b684
test al, al
je case.0x695377.63
push 2
lea ecx, [esp + 0x64]
call fcn.00694c2d
lea edx, [esp + 0x54]
lea ecx, [esp + 0x64]
call fcn.0068b099
jmp case.0x695377.63
cmp esi, 0x11
jne 0x695c59
push eax
lea ecx, [esp + 0x64]
call fcn.00694c2d
mov ecx, edi
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6f2
mov ecx, edi
call fcn.0066f789
mov esi, ebx
mov dword [esp + 0x64], eax
mov ecx, edi
mov dword [esp + 0xc], esi
call fcn.00694a40
xor ecx, ecx
inc ecx
cmp eax, ecx
jne 0x698dd7
mov eax, dword [edi]
and eax, 0xff000fff
lea ecx, [esp + 0x58]
cmp eax, 0x1000021
je 0x695c45
cmp dword [esp + 0x64], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.00694aa9
jmp 0x698dd7
mov edx, 0x80000000
call fcn.00694aa9
add dword [esp + 0x64], 4
jmp 0x698dd7
cmp esi, 0xa
jne 0x695ca3
mov ecx, ebx
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6f2
mov ecx, ebx
call fcn.0066f789
mov esi, edi
mov dword [esp + 0x64], eax
mov ecx, ebx
mov dword [esp + 0xc], esi
call fcn.00694a40
xor ecx, ecx
inc ecx
cmp eax, ecx
jne 0x698dd7
mov ecx, ebx
call fcn.00694b07
lea ecx, [esp + 0x58]
test al, al
jne 0x695c45
jmp 0x695c28
push 0x80
lea ecx, [esp + 0x64]
call fcn.00694c69
cmp esi, 0x19
jne 0x695ecb
mov ecx, edi
call fcn.00694a40
mov ecx, edi
mov dword [esp + 0x6c], eax
call fcn.0066f789
mov ecx, ebx
mov dword [esp + 0x54], eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
xor ecx, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x6c]
inc ecx
mov dword [esp + 0x14], edx
cmp eax, ecx
jne 0x695d3b
mov ecx, edi
call fcn.00694b07
lea ecx, [esp + 0x58]
test al, al
jne 0x695d1a
cmp dword [esp + 0x54], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.00694aa9
jmp 0x695d29
mov edx, 0x80000000
call fcn.00694aa9
add dword [esp + 0x54], 4
xor edx, edx
inc edx
mov bl, dl
mov dword [esp + 0x24], ebx
mov byte [esp + 0x18], bl
jmp 0x695e3b
push 4
pop ebx
cmp eax, 2
jne 0x695d56
push 0x200000
lea ecx, [esp + 0x64]
call fcn.006702b8
jmp 0x695dee
cmp eax, ebx
jne 0x695d73
push dword [esp + 0x14]
push dword [esp + 0x14]
call fcn.0069b723
pop ecx
pop ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
jmp 0x695dee
cmp eax, 8
jne 0x695dee
cmp dword [esp + 0x4c], 0x17
jne 0x695d9b
push dword [esp + 0x14]
push dword [esp + 0x14]
call fcn.0069b72c
pop ecx
pop ecx
test al, al
je 0x695d9b
xor eax, eax
inc eax
mov byte [esp + 0x47], al
jmp 0x695da0
mov byte [esp + 0x47], 0
push dword [esp + 0x14]
push dword [esp + 0x14]
call fcn.0067971d
pop ecx
pop ecx
test al, al
jne 0x695dc0
cmp byte [esp + 0x47], al
jne 0x695dd8
push 0x32
jmp 0x696c66
cmp byte [esp + 0x47], 0
je 0x695de0
mov ecx, dword [esp + 0x2c]
xor eax, eax
inc eax
push eax
call fcn.00694ac1
test al, al
je 0x695de0
mov eax, ebx
mov dword [esp + 0x6c], eax
jmp 0x695de4
mov eax, dword [esp + 0x6c]
push eax
lea ecx, [esp + 0x64]
call fcn.0069b70a
lea edx, [esp + 0x28]
mov dword [esp + 0x28], ebx
lea ecx, [esp + 0x6c]
call fcn.0069b64c
push dword [esp + 0x14]
mov bl, al
push dword [esp + 0x14]
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x20], bl
call fcn.0069b654
pop ecx
pop ecx
test al, al
je 0x695e38
mov ecx, dword [esp + 0x58]
push 0x20
pop edx
call fcn.0069b684
push 1
test al, al
movzx ebx, bl
pop edx
cmove ebx, edx
jmp 0x695d2e
xor edx, edx
inc edx
cmp dword [esp + 0x54], 0
jne 0x695ea6
mov ecx, dword [esp + 0x6c]
cmp ecx, edx
je 0x695e4e
cmp bl, dl
je 0x695ead
mov ecx, dword [esp + 0x58]
push 0x20
pop edx
call fcn.0069b684
test al, al
jne 0x695ea6
push 0x8200000
lea ecx, [esp + 0x64]
call fcn.00694c85
xor eax, eax
xor ecx, ecx
inc eax
cmp dword [esp + 0x6c], eax
mov eax, dword [esp + 0x64]
setne cl
shl eax, 3
push 4
pop ebx
add ecx, ebx
or ecx, eax
push ecx
lea ecx, [esp + 0x64]
call fcn.006702b8
lea edx, [esp + 0x28]
mov dword [esp + 0x28], ebx
lea ecx, [esp + 0x6c]
call fcn.0069b64c
jmp 0x695722
mov ecx, dword [esp + 0x6c]
xor edx, edx
inc edx
cmp bl, dl
push 3
pop eax
cmovne eax, edx
dec ecx
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
lea ecx, [esp + 0x64]
call fcn.00694c2d
jmp case.0x695377.63
cmp esi, 0x1a
jne case.default.0x695377
mov ecx, edi
call fcn.00694a40
mov dword [esp + 0x6c], eax
test eax, eax
je 0x69812b
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov esi, eax
mov dword [esp + 0x14], edx
lea edx, [esp + 0x28]
mov dword [esp + 0x10], esi
lea ecx, [esp + 0x6c]
mov dword [esp + 0x28], 4
call fcn.0069b64c
cmp dword [esp + 0x6c], 4
mov bl, al
mov dword [esp + 0x24], ebx
mov byte [esp + 0x18], bl
jne 0x695f39
push dword [esp + 0x14]
push esi
call fcn.0069b723
pop ecx
pop ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
push dword [esp + 0x14]
push dword [esp + 0x14]
call fcn.0069b654
pop ecx
pop ecx
test al, al
je 0x695f6d
mov ecx, dword [esp + 0x58]
push 0x20
pop edx
call fcn.0069b684
push 1
test al, al
movzx ebx, bl
pop edx
cmove ebx, edx
mov dword [esp + 0x24], ebx
mov byte [esp + 0x18], bl
jmp 0x695f70
xor edx, edx
inc edx
mov ecx, dword [esp + 0x6c]
cmp bl, dl
push 3
pop eax
cmovne eax, edx
dec ecx
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
lea ecx, [esp + 0x64]
call fcn.00694c2d
push dword [esp + 0x6c]
jmp 0x69580c
xor ebx, ebx
inc ebx
cmp esi, ebx
jne case.default.0x695377
mov ecx, edi
call fcn.00694a40
cmp eax, ebx
je case.default.0x695377
mov ecx, edi
call fcn.0066f789
mov ecx, edi
mov dword [esp + 0x64], eax
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6da
mov edi, dword [esp + 0x2c]
jmp 0x6982cf
mov ecx, ebx
cmp esi, 9
jne 0x695ffb
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6da
mov ecx, ebx
call fcn.0066f789
mov dword [esp + 0x64], eax
jmp 0x6957f8
cmp esi, 0xa
jne 0x69601f
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6da
mov ecx, ebx
call fcn.0066f789
mov dword [esp + 0x64], eax
jmp 0x6957b4
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x14], edx
lea ebx, [eax + 1]
mov dword [esp + 0x24], ebx
mov byte [esp + 0x18], bl
call fcn.00694da7
push eax
lea ecx, [esp + 0x64]
call fcn.00694c69
mov ecx, edi
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6da
lea ecx, [esp + 0x60]
call fcn.00694be6
mov dword [esp + 0x64], eax
cmp esi, 0x19
je 0x6957f8
cmp esi, 0x1a
jne case.default.0x695377
mov ecx, edi
call fcn.00694a40
test eax, eax
je 0x69812b
jmp 0x6957b4
xor ecx, ecx
inc ecx
cmp esi, ecx
je 0x6957f8
mov dword [esp + 0xc], edi
cmp esi, eax
je 0x698991
push 0xe8
lea ecx, [esp + 0x64]
call fcn.00694c69
and dword [esp + 0x64], 0
mov esi, dword [esp + 0xc]
jmp 0x696968
test esi, 0x1c0
je 0x6960f7
mov ecx, dword [esp + 0x1c]
call fcn.00694a45
test al, al
je case.default.0x695377
mov ecx, dword [esp + 0x1c]
call fcn.0066f789
test eax, eax
jne case.default.0x695377
and esi, 0x3f
cmp esi, 9
jne 0x6961c5
mov ecx, ebx
call fcn.00694a40
mov ecx, edi
mov esi, eax
call fcn.00694a40
cmp eax, esi
jne 0x69822d
mov ecx, edi
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6f2
mov ecx, edi
call fcn.0066f789
mov ecx, ebx
mov dword [esp + 0x54], eax
call fcn.0066f789
mov ecx, edi
mov dword [esp + 0x64], eax
call fcn.00694a40
xor ecx, ecx
inc ecx
cmp eax, ecx
jne case.0x695377.63
mov ecx, edi
call fcn.00694b07
lea ecx, [esp + 0x58]
mov esi, 0x80000000
mov edi, 0xc0000000
test al, al
jne 0x696180
cmp dword [esp + 0x54], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.00694aa9
jmp 0x69618c
mov edx, esi
call fcn.00694aa9
add dword [esp + 0x54], 4
mov ecx, ebx
call fcn.00694b07
lea ecx, [esp + 0x58]
test al, al
jne 0x6961b4
cmp dword [esp + 0x64], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.00694aa9
jmp case.0x695377.63
mov edx, esi
call fcn.00694aa9
add dword [esp + 0x64], 4
jmp case.0x695377.63
cmp esi, 0xa
jne case.default.0x695377
jmp 0x695c5e
cmp esi, 0x4a
jne case.0x695377.14
mov ebx, dword [esp + 0x34]
mov ecx, ebx
call fcn.0066f75d
test al, al
je case.default.0x695377
lea ecx, [ebx + 0x10]
call fcn.0066f75d
jmp 0x6957ac
mov ecx, edi
call fcn.0066f789
mov ecx, edi
mov dword [esp + 0x64], eax
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b70a
cmp esi, 9
jne 0x696294
mov ecx, ebx
call fcn.0066f789
mov ecx, ebx
mov dword [esp + 0x54], eax
call fcn.00694a40
xor ecx, ecx
inc ecx
cmp eax, ecx
jne 0x69626b
mov eax, dword [ebx]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x69625e
cmp dword [esp + 0x54], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or dword [esp + 0x58], eax
jmp case.0x695377.63
or dword [esp + 0x58], 0x80000000
jmp 0x696676
mov ecx, ebx
call fcn.00694a40
cmp eax, 2
jne 0x696282
push 0x66
lea ecx, [esp + 0x6c]
call fcn.0069b6b9
xor eax, eax
lea ecx, [esp + 0x60]
inc eax
push eax
call fcn.00694c2d
jmp case.0x695377.63
cmp esi, 0x11
jne case.default.0x695377
mov esi, ebx
mov ecx, ebx
mov dword [esp + 0xc], esi
call fcn.00694a40
test eax, eax
je 0x69812b
mov ecx, ebx
call fcn.00694a40
cmp eax, 2
jne 0x6962c9
push 0x66
lea ecx, [esp + 0x6c]
call fcn.0069b6b9
mov ecx, ebx
call fcn.00694a40
dec eax
neg eax
sbb eax, eax
neg eax
push eax
lea ecx, [esp + 0x64]
call fcn.00694c2d
jmp 0x698dd7
cmp esi, 0x1b
jne case.default.0x695377
mov ecx, edi
call fcn.0066f700
mov ecx, eax
call fcn.0067e7eb
mov ecx, ebx
mov di, ax
call fcn.0066f700
mov ecx, eax
call fcn.0067e7e7
movzx eax, al
cdq
mov ecx, eax
mov esi, edx
shld esi, ecx, 0x10
movzx eax, di
cdq
shl ecx, 0x10
or ecx, eax
or esi, edx
mov dword [esp + 0x10], ecx
mov al, 3
mov dword [esp + 0x14], esi
jmp 0x695722
cmp esi, 0xc9
jne 0x6963d9
push 0x6b
lea ecx, [esp + 0x64]
call fcn.00694c69
mov ecx, edi
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6da
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov esi, eax
mov ecx, edx
xor eax, eax
mov dword [esp + 0x10], esi
inc eax
mov dword [esp + 0x14], ecx
push ecx
push esi
mov dword [esp + 0x2c], eax
mov byte [esp + 0x20], al
call fcn.0069b654
pop ecx
pop ecx
test al, al
je 0x6963a0
mov ecx, dword [esp + 0x58]
push 0x20
pop edx
call fcn.0069b684
test al, al
je 0x6963c7
push 2
lea ecx, [esp + 0x64]
call fcn.00694c77
mov ecx, edi
call fcn.00694a40
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov dword [esp + 0x24], eax
mov byte [esp + 0x18], al
mov ecx, edi
call fcn.0066f789
mov dword [esp + 0x64], eax
mov ecx, ebx
jmp 0x6966cd
cmp esi, 0xd1
jne 0x696499
push 0x6b
lea ecx, [esp + 0x64]
call fcn.00694c69
mov ecx, edi
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6da
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov esi, eax
mov dword [esp + 0x14], edx
xor eax, eax
mov dword [esp + 0x10], esi
inc eax
mov ecx, edi
mov dword [esp + 0x24], eax
mov byte [esp + 0x18], al
call fcn.00694a40
cmp eax, 4
jne 0x696446
push dword [esp + 0x14]
push esi
call fcn.0069b723
pop ecx
pop ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
push dword [esp + 0x14]
push dword [esp + 0x14]
call fcn.0069b654
pop ecx
pop ecx
test al, al
je 0x69646d
mov ecx, dword [esp + 0x58]
push 0x20
pop edx
call fcn.0069b684
test al, al
je 0x6959db
push 2
lea ecx, [esp + 0x64]
call fcn.00694c77
mov ecx, edi
call fcn.00694a40
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov dword [esp + 0x24], eax
mov byte [esp + 0x18], al
jmp 0x6959db
cmp esi, 9
jne 0x696502
mov ecx, ebx
call fcn.00694a40
xor ecx, ecx
inc ecx
cmp eax, ecx
je 0x696620
mov ecx, ebx
call fcn.00694a40
mov ecx, edi
mov esi, eax
call fcn.00694a40
cmp eax, esi
jne 0x69822d
mov ecx, edi
call fcn.0066f789
mov ecx, ebx
mov dword [esp + 0x64], eax
call fcn.0066f789
push 0x1af
lea ecx, [esp + 0x64]
mov dword [esp + 0x58], eax
call fcn.00694c69
mov ecx, edi
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6da
jmp case.0x695377.63
cmp esi, 0x11
jne 0x69654e
mov ecx, ebx
call fcn.00694a40
xor ecx, ecx
inc ecx
cmp eax, ecx
je 0x696685
mov ecx, edi
call fcn.0066f789
mov esi, ebx
mov dword [esp + 0x64], eax
push 0x1af
lea ecx, [esp + 0x64]
mov dword [esp + 0x10], esi
call fcn.00694c69
mov ecx, edi
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6da
jmp 0x698dd7
cmp esi, 0x19
jne case.0x695377.13
push 0x6b
lea ecx, [esp + 0x64]
call fcn.00694c69
mov ecx, edi
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6da
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov esi, eax
mov dword [esp + 0x14], edx
xor eax, eax
mov dword [esp + 0x10], esi
mov ecx, edi
lea ebx, [eax + 1]
mov dword [esp + 0x24], ebx
mov byte [esp + 0x18], bl
call fcn.00694a40
cmp eax, 4
jne 0x6965b8
push dword [esp + 0x14]
push esi
call fcn.0069b723
pop ecx
pop ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
push dword [esp + 0x14]
push dword [esp + 0x14]
call fcn.0069b654
pop ecx
pop ecx
test al, al
je 0x6965db
mov ecx, dword [esp + 0x58]
push 0x20
pop edx
call fcn.0069b684
test al, al
je 0x696602
push 2
lea ecx, [esp + 0x64]
call fcn.00694c77
mov ecx, edi
call fcn.00694a40
cmp eax, 2
setne al
lea eax, [eax*2 + 2]
mov dword [esp + 0x24], eax
mov byte [esp + 0x18], al
mov ecx, edi
call fcn.0066f789
mov dword [esp + 0x54], eax
jmp 0x695aac
cmp esi, 7
jbe case.0x695377.12
cmp esi, 9
jne 0x696680
xor edx, edx
mov ecx, edi
call fcn.00694b77
test al, al
je case.default.0x695377
mov ecx, ebx
call fcn.00694b17
test al, al
je case.default.0x695377
mov ecx, ebx
call fcn.0066f789
mov dword [esp + 0x54], eax
mov ecx, ebx
call fcn.00694b07
lea ecx, [esp + 0x58]
test al, al
jne 0x69666c
cmp dword [esp + 0x54], 4
sbb edx, edx
and edx, 0xc0000000
jmp 0x6961a4
mov edx, 0x80000000
call fcn.00694aa9
add dword [esp + 0x54], 4
jmp case.0x695377.63
cmp esi, 0x11
jne 0x69669b
xor edx, edx
mov ecx, edi
call fcn.00694b77
test al, al
je case.default.0x695377
jmp 0x698dd1
cmp esi, 0x49
jne 0x6966d7
mov ecx, ebx
call fcn.00694a40
mov ecx, edi
mov esi, eax
call fcn.00694a40
cmp eax, esi
jne case.default.0x695377
mov ecx, edi
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6f2
mov ecx, dword [esp + 0x1c]
call fcn.0066f789
jmp 0x695387
cmp esi, 0x89
jne case.default.0x695377
mov ecx, ebx
call fcn.00694a40
mov ecx, edi
mov esi, eax
call fcn.00694a40
cmp eax, esi
jne case.default.0x695377
mov ecx, edi
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6f2
mov esi, dword [esp + 0x1c]
jmp 0x698dd3
xor ebx, ebx
inc ebx
cmp esi, ebx
jne 0x69674e
mov ecx, edi
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6f2
mov ecx, edi
call fcn.0066f789
mov ecx, edi
mov dword [esp + 0x54], eax
call fcn.00694a40
cmp eax, ebx
jne case.0x695377.63
mov ecx, edi
jmp 0x69664d
cmp esi, eax
jne case.default.0x695377
mov ecx, edi
call fcn.00694a40
test eax, eax
je 0x69812b
mov ecx, edi
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6f2
jmp 0x6957b4
cmp esi, 0x19
jne 0x6967ef
mov ecx, edi
call fcn.0066f789
test eax, eax
jne case.default.0x695377
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0067e7e7
movzx eax, al
mov ecx, edi
cdq
mov dword [esp + 0x10], eax
xor eax, eax
inc eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x24], eax
mov byte [esp + 0x18], al
call fcn.00694a40
mov ecx, dword [esp + 0x30]
lea esi, [eax - 1]
neg esi
sbb esi, esi
neg esi
call fcn.00694da7
add eax, esi
push eax
lea ecx, [esp + 0x64]
call fcn.00694c69
mov ecx, edi
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b742
jmp case.0x695377.1
cmp esi, 9
jne case.default.0x695377
mov ecx, edi
call fcn.0066f789
test eax, eax
jne case.default.0x695377
mov ecx, ebx
call fcn.0066f789
cmp eax, 2
jne case.default.0x695377
mov ecx, edi
call fcn.00694a40
dec eax
lea ecx, [esp + 0x60]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.00694c2d
jmp 0x6967d9
cmp esi, 0xa
jne case.default.0x695377
push 7
pop edx
mov ecx, edi
call fcn.00694cc8
test al, al
je case.default.0x695377
mov ecx, ebx
call fcn.0066f789
cmp eax, 2
jne case.default.0x695377
mov ecx, edi
call fcn.00694a40
mov ebx, eax
test ebx, ebx
je 0x69812b
xor eax, eax
xor ecx, ecx
inc eax
mov esi, edi
cmp ebx, eax
setne cl
push ecx
lea ecx, [esp + 0x64]
call fcn.00694c2d
push ebx
lea ecx, [esp + 0x64]
call fcn.0069b742
jmp 0x695643
xor ebx, ebx
inc ebx
cmp esi, ebx
jne 0x69674e
mov ecx, edi
call fcn.0066f789
mov ecx, edi
mov dword [esp + 0x54], eax
call fcn.00694a40
cmp eax, ebx
jne 0x6968ba
mov eax, dword [edi]
jmp 0x696238
mov ecx, dword [esp + 0x2c]
call fcn.00694ab3
test al, al
je 0x6968de
mov ecx, dword [esp + 0x30]
call fcn.00694da7
mov ecx, dword [esp + 0x54]
and ecx, 7
add eax, ecx
jmp 0x6967cf
mov ecx, edi
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6f2
jmp case.0x695377.63
cmp esi, 3
jne case.default.0x695377
mov ecx, edi
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
jmp 0x695717
push 0x40
mov edx, 0x80
pop ecx
call fcn.00694aa4
mov ecx, dword [esp + 0x58]
mov edx, eax
call fcn.0069b684
test al, al
je 0x69695d
mov ecx, dword [esp + 0x2c]
push 0x10
call fcn.00694ac1
test al, al
je 0x69695d
mov ecx, dword [esp + 0x58]
push 0x40
pop edx
call fcn.0069b684
shl al, 4
lea ecx, [esp + 0x68]
add al, 0x2e
mov byte [esp + 0x28], al
push dword [esp + 0x28]
call fcn.0069b6b9
and dword [esp + 0x64], 0
mov esi, edi
mov dword [esp + 0xc], esi
mov ebx, dword [esp + 0x60]
or ebx, dword [esp + 0x58]
shr ebx, 0x18
cmp ebx, 0x80
ja 0x698ee4
and ebx, 0x7f
lea ecx, [esp + 0x68]
setne al
movzx eax, al
push eax
mov eax, ebx
or eax, 0x40
push eax
call fcn.0069b68a
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x68]
cmp eax, dword [edi + 0x6c]
jb 0x69ae59
sub eax, dword [edi + 0x6c]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x70], eax
movzx eax, byte [ecx + 7]
mov ecx, 0x1f00
mov eax, dword [eax*4 + 0x71d4d8]
mov dword [esp + 0x38], eax
test ecx, eax
jne 0x696ec5
push ecx
lea ecx, [esp + 0x64]
call fcn.00694c93
test eax, eax
je 0x696a99
push 0x1f00
lea ecx, [esp + 0x64]
call fcn.00694c93
cmp eax, 0x100
jne 0x69b183
jmp 0x696a99
mov esi, edi
mov ecx, edi
mov dword [esp + 0xc], esi
call fcn.0066f75d
test al, al
je 0x696a6e
xor eax, eax
mov ecx, edi
inc eax
mov edx, eax
call fcn.00694a64
test al, al
je case.default.0x695377
mov esi, dword [esp + 0x2c]
mov ecx, esi
call fcn.00694ab3
test al, al
je 0x696a40
mov ecx, edi
call fcn.00694a40
cmp eax, 2
je 0x696a57
mov ecx, esi
call fcn.00694ab9
test al, al
je 0x696a5c
mov ecx, edi
call fcn.00694a40
cmp eax, 4
jne 0x696a5c
xor eax, eax
inc eax
jmp 0x696a5e
xor al, al
push eax
lea ecx, [esp + 0x6c]
call fcn.0069b6c9
mov esi, ebx
mov dword [esp + 0xc], ebx
and dword [esp + 0x64], 0
jmp 0x696968
xor ecx, ecx
inc ecx
cmp esi, ecx
je 0x6957f8
mov dword [esp + 0xc], edi
cmp esi, eax
je 0x698991
push 0xe9
jmp 0x6960b3
xor eax, eax
lea ecx, [esp + 0x60]
cmp dword [esp + 0x64], eax
push 0x1f00
setne al
add eax, 5
mov dword [esp + 0x70], eax
call fcn.00694c93
sub eax, 0x100
mov ecx, esi
neg eax
sbb eax, eax
inc eax
add dword [esp + 0x6c], eax
call fcn.0066f77f
test al, al
je 0x696bc7
mov ecx, dword [esp + 0xc]
mov esi, dword [edi + 0x2c]
call fcn.0066f700
push eax
mov ecx, esi
call fcn.0067efb6
mov esi, eax
test esi, esi
je 0x69ad41
push dword [edi + 0x68]
mov ecx, esi
call fcn.0066f8e0
test al, al
je 0x696b18
mov ecx, esi
call fcn.0066f8f0
mov esi, eax
mov eax, dword [esp + 0x6c]
sub esi, eax
sub esi, dword [esp + 0x70]
jmp 0x696c75
mov ebx, dword [esp + 0x38]
test ebx, ebx
je 0x696b52
cmp dword [esp + 0x60], 0
je 0x696b37
mov ecx, dword [esp + 0x58]
push 0x10
pop edx
call fcn.0069b684
test al, al
je 0x696b52
push ebx
lea ecx, [esp + 0x6c]
call fcn.0069b6b9
xor eax, eax
or ebx, 0xffffffff
inc eax
mov cl, al
mov byte [esp + 0x3f], al
jmp 0x69adf7
cmp dword [esp + 0x60], 0
je 0x696c64
mov ecx, dword [esp + 0x58]
push 0x10
pop edx
call fcn.0069b684
test al, al
jne 0x696c64
push 0x1f00
lea ecx, [esp + 0x64]
call fcn.00694c93
test eax, eax
lea ecx, [esp + 0x68]
setne al
movzx eax, al
push eax
push 0xf
call fcn.0069b68a
push dword [esp + 0x60]
lea ecx, [esp + 0x6c]
call fcn.0069b6b9
mov edx, dword [esp + 0x64]
test edx, edx
push 0
push 3
pop ecx
setne bl
call fcn.00694d16
pop ecx
push ebx
push eax
lea ecx, [esp + 0x70]
call fcn.0069b68a
push 0xfffffffffffffffc
pop ebx
jmp 0x69adf1
mov ecx, esi
call fcn.0066f774
test al, al
je case.default.0x695377
mov ecx, edi
call fcn.006881c0
mov ecx, eax
call fcn.0066f8f7
mov ecx, esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x30], edx
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov esi, eax
mov eax, edx
mov edx, dword [esp + 0x28]
mov ecx, edx
and ecx, dword [esp + 0x30]
mov dword [esp + 0x40], esi
mov dword [esp + 0x18], eax
cmp ecx, 0xffffffff
je 0x696d54
sub esi, dword [esp + 0x6c]
mov ecx, edi
sbb eax, 0
sub esi, edx
sbb eax, dword [esp + 0x30]
sub esi, dword [esp + 0x70]
sbb eax, 0
mov dword [esp + 0x28], eax
call fcn.0066f925
mov cl, al
call fcn.0067ee77
test al, al
jne 0x696c71
push dword [esp + 0x28]
push esi
call fcn.0067971d
pop ecx
pop ecx
test al, al
jne 0x696c71
mov ecx, dword [esp + 0x4c]
call fcn.00694cb5
test al, al
jne 0x696d50
push 0x30
pop ecx
call fcn.0066f700
jmp 0x6955c9
mov eax, dword [esp + 0x6c]
add eax, 0xfffffffe
add eax, esi
mov ecx, eax
mov dword [esp + 0x28], eax
call fcn.0069b7d7
test al, al
je 0x696cc9
mov ebx, dword [esp + 0x38]
test ebx, ebx
je 0x696cc9
mov ecx, dword [esp + 0x58]
push 0x20
pop edx
call fcn.0069b684
test al, al
jne 0x696cc9
push 0x10
pop edx
lea ecx, [esp + 0x58]
call fcn.00694aa9
push ebx
lea ecx, [esp + 0x6c]
call fcn.0069b6b9
push dword [esp + 0x28]
lea ecx, [esp + 0x6c]
call fcn.0069b6b9
jmp 0x69543d
cmp dword [esp + 0x60], 0
je 0x696c64
mov ecx, dword [esp + 0x58]
push 0x10
pop edx
call fcn.0069b684
test al, al
jne 0x696c64
push 0x10
pop ecx
call fcn.00694a9f
mov edx, eax
lea ecx, [esp + 0x58]
call fcn.00694aae
push 0x1f00
lea ecx, [esp + 0x64]
call fcn.00694c93
test eax, eax
lea ecx, [esp + 0x68]
setne al
movzx eax, al
push eax
push 0xf
call fcn.0069b68a
push dword [esp + 0x60]
lea ecx, [esp + 0x6c]
call fcn.0069b6b9
mov edx, dword [esp + 0x64]
test edx, edx
push 0
push 3
pop ecx
setne bl
call fcn.00694d16
pop ecx
push ebx
push eax
lea ecx, [esp + 0x70]
call fcn.0069b68a
push esi
lea ecx, [esp + 0x6c]
call fcn.0067992f
jmp 0x69543d
mov esi, dword [esp + 0x40]
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x5c]
push 4
push eax
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_
test eax, eax
jne 0x6955c9
mov ecx, edi
call fcn.0066f929
mov ecx, dword [esp + 0x5c]
mov dword [ecx + 0x18], eax
and dword [ecx + 0x1c], 0
mov ecx, dword [edi + 0x68]
call fcn.0066f867
mov ecx, dword [esp + 0x5c]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x20], esi
mov dword [eax + 0x24], ecx
cmp dword [esp + 0x60], 0
je 0x696e7b
mov ecx, edi
call fcn.0066f925
mov cl, al
call fcn.0067e843
test al, al
je 0x696df3
mov ecx, dword [esp + 0x4c]
call fcn.00694cb5
test al, al
je 0x696df3
test ebx, ebx
jne 0x696dd3
push 0x40
lea ecx, [esp + 0x6c]
call fcn.0069b6b9
push dword [esp + 0x18]
mov ecx, dword [edi + 0x2c]
push esi
call sym.Trainer.exe_public:_unsigned_int___thiscall_asmjit::_abi_1_11::CodeHolder::addAddressToAddressTable_unsigned_long_long_unsigned___int64__
test eax, eax
jne 0x6955c9
mov eax, dword [esp + 0x5c]
mov dword [eax + 4], 5
push 0x1f00
lea ecx, [esp + 0x64]
call fcn.00694c93
test eax, eax
lea ecx, [esp + 0x68]
setne al
movzx eax, al
push eax
push 0xf
call fcn.0069b68a
push dword [esp + 0x60]
lea ecx, [esp + 0x6c]
call fcn.0069b6b9
mov edx, dword [esp + 0x64]
test edx, edx
push 0
push 3
pop ecx
setne bl
call fcn.00694d16
pop ecx
push ebx
push eax
lea ecx, [esp + 0x70]
call fcn.0069b68a
mov ecx, dword [esp + 0x5c]
xor ebx, ebx
push 4
push ebx
lea ecx, [ecx + 8]
call fcn.0067ef75
push dword [edi + 0x74]
mov esi, dword [esp + 0x60]
lea ecx, [esp + 0x6c]
call fcn.0066f9a2
push ebx
push eax
lea ecx, [esi + 8]
call fcn.00694a87
push ebx
lea ecx, [esp + 0x6c]
call fcn.0069b7e6
jmp 0x69543d
mov ebx, dword [esp + 0x38]
lea ecx, [esp + 0x68]
push ebx
call fcn.0069b6b9
mov ecx, dword [esp + 0x5c]
xor eax, eax
inc eax
xor ebx, ebx
push eax
push ebx
lea ecx, [ecx + 8]
call fcn.0067ef75
push dword [edi + 0x74]
mov esi, dword [esp + 0x60]
lea ecx, [esp + 0x6c]
call fcn.0066f9a2
push ebx
push eax
lea ecx, [esi + 8]
call fcn.00694a87
push ebx
lea ecx, [esp + 0x6c]
call fcn.0069b6b9
jmp 0x69543d
push str._opCode8__Opcode::kMM_Mask___0
push 0x12be
jmp 0x69b18d
cmp esi, eax
jne 0x696f23
mov esi, edi
mov ecx, edi
mov dword [esp + 0xc], esi
call fcn.0066f700
mov ecx, eax
call fcn.00694a40
mov edi, eax
test edi, edi
jne 0x696eff
mov ecx, dword [esp + 0x2c]
call fcn.0067efc8
mov edi, eax
jmp 0x696f1d
sub edi, 2
cmp edi, 2
je 0x696f1d
cmp edi, 4
je 0x696f1d
mov ecx, dword [esp + 0x2c]
call fcn.0067efc8
cmp edi, eax
jne 0x69762f
push edi
jmp 0x696540
cmp esi, 0x1b
jne case.default.0x695377
mov ecx, dword [esp + 0x2c]
call fcn.00694ab3
test al, al
je case.default.0x695377
mov ecx, edi
call fcn.0066f700
mov ecx, ebx
mov esi, eax
call fcn.0066f700
mov ecx, esi
mov edi, eax
call fcn.0066f830
test edx, edx
jg 0x695db9
jl 0x696f6b
cmp eax, 0xffff
ja 0x695db9
mov ecx, edi
call fcn.0066f830
test edx, edx
jg 0x695db9
jl 0x696f85
cmp eax, 0xffffffff
ja 0x695db9
mov ecx, dword [esp + 0x30]
call fcn.00694da7
push eax
lea ecx, [esp + 0x64]
call fcn.00694c69
mov ecx, esi
call fcn.0066f830
mov ecx, edi
mov esi, eax
call fcn.0066f830
mov dword [esp + 0x10], eax
or edx, esi
mov al, 6
jmp 0x69571e
cmp esi, 0x11
jne case.default.0x695377
mov ecx, edi
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6da
jmp 0x6959db
cmp esi, 9
jne 0x6971dc
mov ecx, edi
call fcn.00694a45
mov ecx, edi
test al, al
je 0x69716e
call fcn.0066f789
mov ecx, ebx
mov dword [esp + 0x54], eax
call fcn.0066f789
mov ecx, ebx
mov dword [esp + 0x64], eax
call fcn.00694a45
test al, al
je 0x6970cc
mov ecx, edi
call fcn.00694a40
mov ecx, ebx
mov esi, eax
call fcn.00694a40
cmp esi, eax
jne case.default.0x695377
xor eax, eax
inc eax
cmp esi, eax
jne 0x6970af
mov ecx, edi
call fcn.00694b07
lea ecx, [esp + 0x58]
mov esi, 0x80000000
mov edi, 0xc0000000
test al, al
jne 0x69705f
cmp dword [esp + 0x54], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.00694aa9
jmp 0x69706b
mov edx, esi
call fcn.00694aa9
add dword [esp + 0x54], 4
mov ecx, ebx
call fcn.00694b07
lea ecx, [esp + 0x58]
test al, al
jne 0x697090
cmp dword [esp + 0x64], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.00694aa9
jmp 0x69709c
mov edx, esi
call fcn.00694aa9
add dword [esp + 0x64], 4
push 0x88
lea ecx, [esp + 0x64]
call fcn.00694c69
jmp 0x695b9c
push 0x89
lea ecx, [esp + 0x64]
call fcn.00694c69
push esi
lea ecx, [esp + 0x64]
call fcn.0069b6da
jmp 0x695b9c
mov ecx, ebx
call fcn.00694b47
test al, al
je 0x6970ff
push 0x8c
lea ecx, [esp + 0x64]
call fcn.00694c69
mov ecx, edi
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6da
dec dword [esp + 0x64]
jmp case.0x695377.63
mov ecx, ebx
call fcn.00694b57
test al, al
je 0x69714c
push 0x120
lea ecx, [esp + 0x64]
call fcn.00694c69
test byte [esp + 0x64], 8
je case.0x695377.63
mov ecx, dword [esp + 0x2c]
call fcn.00694ab3
test al, al
je case.0x695377.63
push 0xf0
lea ecx, [esp + 0x6c]
call fcn.0069b6b9
and dword [esp + 0x64], 7
jmp case.0x695377.63
mov ecx, ebx
call fcn.00694b67
test al, al
je case.default.0x695377
push 0x121
lea ecx, [esp + 0x64]
call fcn.00694c69
jmp case.0x695377.63
call fcn.0066f789
mov ecx, ebx
mov dword [esp + 0x64], eax
call fcn.0066f789
mov ecx, ebx
mov dword [esp + 0x54], eax
call fcn.00694a45
test al, al
je case.default.0x695377
mov ecx, edi
call fcn.00694b47
test al, al
je 0x6971b1
push 0x8e
lea ecx, [esp + 0x64]
call fcn.00694c69
mov ecx, ebx
jmp 0x6970e7
mov ecx, edi
call fcn.00694b57
test al, al
je 0x6971c6
push 0x122
jmp 0x69710f
mov ecx, edi
call fcn.00694b67
test al, al
je case.default.0x695377
push 0x123
jmp 0x697160
cmp esi, 0x11
jne 0x6972f2
mov ecx, edi
call fcn.0066f789
mov esi, ebx
mov dword [esp + 0x64], eax
mov ecx, edi
mov dword [esp + 0xc], esi
call fcn.00694b47
lea ecx, [esp + 0x60]
test al, al
je 0x697229
push 0x8e
call fcn.00694c69
mov ecx, ebx
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6da
dec dword [esp + 0x64]
jmp 0x698dd7
push 0
call fcn.00694c69
mov ecx, edi
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6f2
cmp dword [esp + 0x64], 0
jne 0x6972a2
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0067b87f
test al, al
jne 0x6972a2
mov ecx, ebx
call fcn.0066f700
mov ebx, dword [esp + 0x20]
mov esi, eax
mov edi, dword [esp + 0x58]
mov ecx, ebx
call fcn.00694a40
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x68]
push esi
push edi
push eax
call fcn.00694f22
add esp, 0xc
test al, al
je 0x69729c
push 0xa0
lea ecx, [esp + 0x64]
call fcn.00694c2d
jmp 0x6976a4
mov esi, dword [esp + 0xc]
mov edi, ebx
mov ecx, edi
call fcn.00694a40
xor ecx, ecx
inc ecx
cmp eax, ecx
jne 0x6972e8
mov ecx, edi
call fcn.00694b07
lea ecx, [esp + 0x58]
test al, al
jne 0x6972d9
cmp dword [esp + 0x64], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.00694aa9
jmp 0x6972e8
mov edx, 0x80000000
call fcn.00694aa9
add dword [esp + 0x64], 4
push 0x8a
jmp 0x6962d8
cmp esi, 0xa
jne 0x6973ef
mov ecx, ebx
call fcn.0066f789
mov esi, edi
mov dword [esp + 0x64], eax
mov ecx, ebx
mov dword [esp + 0xc], esi
call fcn.00694b47
lea ecx, [esp + 0x60]
test al, al
je 0x69732c
push 0x8c
call fcn.00694c69
mov ecx, edi
jmp 0x697211
push 0
call fcn.00694c69
mov ecx, ebx
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6f2
cmp dword [esp + 0x64], 0
jne 0x69739f
mov ecx, edi
call fcn.0066f700
mov ecx, eax
call fcn.0067b87f
test al, al
jne 0x69739f
mov ecx, edi
call fcn.0066f700
mov edi, dword [esp + 0x58]
mov ecx, ebx
mov esi, eax
call fcn.00694a40
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x68]
push esi
push edi
push eax
call fcn.00694f22
add esp, 0xc
test al, al
je 0x69739b
push 0xa2
lea ecx, [esp + 0x64]
call fcn.00694c2d
jmp 0x6976a0
mov esi, dword [esp + 0xc]
mov ecx, ebx
call fcn.00694a40
xor ecx, ecx
inc ecx
cmp eax, ecx
jne 0x6973e5
mov ecx, ebx
call fcn.00694b07
lea ecx, [esp + 0x58]
test al, al
jne 0x6973d6
cmp dword [esp + 0x64], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.00694aa9
jmp 0x6973e5
mov edx, 0x80000000
call fcn.00694aa9
add dword [esp + 0x64], 4
push 0x88
jmp 0x6962d8
cmp esi, 0x19
jne 0x69752e
mov ecx, edi
call fcn.0066f789
mov ecx, edi
mov dword [esp + 0x64], eax
call fcn.00694a40
xor ecx, ecx
mov dword [esp + 0x24], eax
inc ecx
mov byte [esp + 0x18], al
cmp al, cl
jne 0x69747e
mov ecx, edi
call fcn.00694b07
lea ecx, [esp + 0x58]
test al, al
jne 0x697442
cmp dword [esp + 0x64], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.00694aa9
jmp 0x697451
mov edx, 0x80000000
call fcn.00694aa9
add dword [esp + 0x64], 4
push 0xb0
lea ecx, [esp + 0x64]
call fcn.00694c69
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0067e7e7
movzx eax, al
cdq
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
jmp 0x695fcc
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov ebx, edx
mov esi, eax
mov edx, dword [esp + 0x24]
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ebx
cmp dl, 8
jne 0x6974d9
mov ecx, dword [esp + 0x58]
push 0x20
pop edx
call fcn.0069b684
test al, al
jne 0x6974d9
push ebx
push esi
call fcn.0069b72c
pop ecx
pop ecx
test al, al
je 0x6974f9
mov ecx, dword [esp + 0x2c]
xor eax, eax
inc eax
push eax
call fcn.00694ac1
test al, al
je 0x6974f9
mov al, 4
mov dword [esp + 0x24], eax
mov byte [esp + 0x18], al
push 0xb8
lea ecx, [esp + 0x64]
call fcn.00694c69
push dword [esp + 0x18]
lea ecx, [esp + 0x64]
call fcn.0069b75b
jmp 0x695fcc
push dword [esp + 0x14]
push dword [esp + 0x14]
call fcn.0067971d
pop ecx
pop ecx
test al, al
je 0x6974d9
mov eax, dword [esp + 0x64]
lea ecx, [esp + 0x60]
push 0x80000c7
mov dword [esp + 0x58], eax
call fcn.00694c69
and dword [esp + 0x64], 0
mov bl, 4
jmp 0x6954da
cmp esi, 0x1a
jne case.default.0x695377
mov ecx, edi
call fcn.00694a40
mov dword [esp + 0x70], eax
test eax, eax
je 0x69812b
xor edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setne cl
add ecx, 0xc6
push ecx
lea ecx, [esp + 0x64]
call fcn.00694c69
push dword [esp + 0x70]
lea ecx, [esp + 0x64]
call fcn.0069b6da
and dword [esp + 0x64], 0
mov esi, edi
mov ecx, ebx
mov dword [esp + 0xc], esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov dword [esp + 0x14], edx
lea ecx, [esp + 0x70]
lea edx, [esp + 0x28]
mov dword [esp + 0x10], eax
mov dword [esp + 0x28], 4
call fcn.0069b64c
mov bl, al
mov dword [esp + 0x24], ebx
mov byte [esp + 0x18], bl
jmp 0x698dd7
cmp esi, 0x11
jne 0x697636
mov ecx, edi
call fcn.0066f789
push 0xa0
lea ecx, [esp + 0x64]
mov dword [esp + 0x68], eax
mov dword [esp + 0x10], ebx
call fcn.00694c69
mov ecx, edi
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6f2
mov ecx, edi
call fcn.0066f700
mov ecx, eax
call fcn.0066f7a7
test al, al
je case.default.0x695377
cmp dword [esp + 0x64], 0
jne case.default.0x695377
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0067b87f
test al, al
jne 0x69762f
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.00694bc3
cmp eax, 2
jne 0x6976a0
push 0x2b
jmp 0x696c66
cmp esi, 0xa
jne 0x6976f0
mov ecx, ebx
call fcn.0066f789
push 0xa2
lea ecx, [esp + 0x64]
mov dword [esp + 0x68], eax
mov dword [esp + 0x10], edi
call fcn.00694c69
mov ecx, ebx
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6f2
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066f7a7
test al, al
je case.default.0x695377
cmp dword [esp + 0x64], 0
jne case.default.0x695377
mov ecx, edi
call fcn.0066f700
mov ecx, eax
call fcn.0067b87f
test al, al
jne 0x69762f
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0xc]
call fcn.0066f700
mov ecx, eax
call fcn.0066f80c
mov ecx, dword [esp + 0x2c]
mov esi, eax
mov edi, edx
call fcn.0067efc8
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x24], eax
mov byte [esp + 0x18], al
call fcn.0066f700
mov ecx, eax
call fcn.00694be6
push eax
lea ecx, [esp + 0x6c]
call fcn.00694e33
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
jmp 0x69552d
cmp esi, 0x19
jne case.default.0x695377
mov ecx, edi
call fcn.0066f700
mov ecx, eax
call fcn.0066fca8
test al, al
je case.default.0x695377
mov ecx, edi
call fcn.0066f789
push 0xb8
lea ecx, [esp + 0x64]
mov dword [esp + 0x68], eax
call fcn.00694c69
push 8
pop eax
mov ecx, ebx
mov dword [esp + 0x24], eax
mov byte [esp + 0x18], al
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
push 8
lea ecx, [esp + 0x64]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
call fcn.0069b774
jmp 0x695fcc
mov ecx, ebx
call fcn.00694a40
dec eax
lea ecx, [esp + 0x60]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.00694c2d
mov ecx, edi
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6da
cmp esi, 9
jne 0x6959d2
mov ecx, edi
call fcn.0066f789
mov ecx, ebx
mov dword [esp + 0x64], eax
call fcn.0066f789
mov ecx, ebx
mov dword [esp + 0x54], eax
call fcn.00694a40
xor ecx, ecx
inc ecx
cmp eax, ecx
jne case.0x695377.63
jmp 0x696236
cmp esi, 0xa
jne case.default.0x695377
mov ecx, ebx
call fcn.0066fca8
movzx eax, al
lea ecx, [esp + 0x60]
push eax
call fcn.0069b77f
jmp 0x69600f
cmp esi, 0x12
jne case.default.0x695377
mov ecx, edi
call fcn.0066f700
mov ecx, ebx
mov esi, eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f7c5
mov ecx, esi
mov bl, al
call fcn.0066f7c5
cmp al, bl
jne case.default.0x695377
mov ecx, esi
call fcn.0066f7cd
test al, al
jne case.default.0x695377
mov ecx, esi
call fcn.0066f7f7
test al, al
jne case.default.0x695377
mov ecx, esi
call fcn.00694bdc
test al, al
je 0x697846
mov ecx, esi
call fcn.00694be6
xor ecx, ecx
inc ecx
cmp eax, ecx
jne case.default.0x695377
mov ecx, edi
call fcn.0066f700
mov ecx, eax
call fcn.0066f789
mov esi, dword [esp + 0x50]
mov dword [esp + 0x64], eax
jmp 0x698dd3
cmp esi, 0xb
jne 0x6978b0
mov ecx, ebx
call fcn.0066f789
test eax, eax
jne case.default.0x695377
mov ecx, ebx
call fcn.00694a40
mov ecx, dword [esp + 0x30]
lea esi, [eax - 1]
neg esi
sbb esi, esi
neg esi
call fcn.00694da7
add eax, esi
lea ecx, [esp + 0x60]
push eax
call fcn.00694c69
mov ecx, ebx
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b742
jmp 0x695705
cmp esi, 9
jne case.default.0x695377
mov ecx, edi
call fcn.0066f789
cmp eax, 2
jne case.default.0x695377
mov ecx, ebx
call fcn.0066f789
test eax, eax
jne case.default.0x695377
mov ecx, ebx
call fcn.00694a40
dec eax
lea ecx, [esp + 0x60]
neg eax
sbb eax, eax
neg eax
push eax
call fcn.00694c2d
mov ecx, ebx
jmp 0x6967db
cmp esi, 0x11
jne case.default.0x695377
mov ecx, edi
call fcn.0066f789
cmp eax, 2
jne case.default.0x695377
push 6
pop edx
mov ecx, ebx
call fcn.00694cc8
test al, al
je case.default.0x695377
mov ecx, ebx
call fcn.00694a40
mov edi, eax
test edi, edi
je 0x69812b
xor eax, eax
xor ecx, ecx
inc eax
mov esi, ebx
cmp edi, eax
setne cl
push ecx
lea ecx, [esp + 0x64]
call fcn.00694c2d
push edi
jmp 0x696884
xor ecx, ecx
inc ecx
cmp esi, ecx
jne 0x69798a
mov ecx, edi
call fcn.00694b47
test al, al
je 0x697a2a
mov ecx, edi
call fcn.0066f789
cmp eax, 7
jae 0x697a23
push dword [eax*4 + 0x7158f0]
lea ecx, [esp + 0x64]
call fcn.00694c69
jmp case.0x695377.1
cmp esi, 3
jne 0x697a6e
mov ecx, edi
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov esi, eax
mov bl, 4
mov eax, edx
mov dword [esp + 0x10], esi
push eax
push esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x20], bl
call fcn.0069b654
pop ecx
pop ecx
test al, al
je 0x6979e3
mov ecx, dword [esp + 0x58]
push 0x20
pop edx
call fcn.0069b684
test al, al
movzx ebx, bl
push 1
pop eax
cmove ebx, eax
mov dword [esp + 0x24], ebx
mov byte [esp + 0x18], bl
push 0x68
pop eax
xor edx, edx
push 0x6a
inc edx
pop ecx
cmp bl, dl
cmove eax, ecx
push eax
jmp 0x69797c
xor ecx, ecx
inc ecx
cmp esi, ecx
jne 0x697a6e
mov ecx, edi
call fcn.00694b47
test al, al
je 0x697a2a
mov ecx, edi
call fcn.0066f789
cmp eax, 2
je 0x697a23
cmp eax, 7
jae 0x697a23
push dword [eax*4 + 0x715dd8]
jmp 0x69797c
push 0x31
jmp 0x696c66
mov ecx, edi
call fcn.00694a40
cmp eax, 2
jb case.default.0x695377
mov ecx, dword [esp + 0x30]
call fcn.00694da7
push eax
lea ecx, [esp + 0x64]
call fcn.00694c69
mov ecx, edi
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b742
mov ecx, edi
call fcn.0066f789
mov dword [esp + 0x64], eax
jmp 0x695fcc
cmp esi, eax
jne case.default.0x695377
mov ecx, edi
call fcn.00694a40
test eax, eax
je 0x69812b
mov ecx, edi
call fcn.00694a40
cmp eax, 2
je 0x697aab
mov ecx, edi
call fcn.00694a40
mov ecx, dword [esp + 0x2c]
mov esi, eax
call fcn.0067efc8
cmp esi, eax
jne case.default.0x695377
mov ecx, edi
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b742
jmp 0x6957b4
test esi, esi
jne 0x697ad7
xor eax, eax
lea ecx, [esp + 0x60]
inc eax
push eax
call fcn.00694c2d
jmp case.0x695377.1
cmp esi, 3
jne case.default.0x695377
mov ecx, edi
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov esi, eax
mov eax, edx
mov dword [esp + 0x10], esi
or esi, eax
mov dword [esp + 0x14], eax
jne 0x697b0e
mov ecx, dword [esp + 0x58]
push 0x20
pop edx
call fcn.0069b684
test al, al
je 0x697ac5
push 2
pop eax
jmp 0x695722
mov ecx, edi
call fcn.0066f75d
mov ecx, edi
test al, al
je 0x697bf8
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6f2
mov ecx, edi
call fcn.0066f789
mov ecx, edi
mov dword [esp + 0x54], eax
call fcn.00694a40
xor ecx, ecx
inc ecx
cmp eax, ecx
jne 0x697b81
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x697b74
cmp dword [esp + 0x54], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or dword [esp + 0x58], eax
jmp 0x697b81
or dword [esp + 0x58], 0x80000000
add dword [esp + 0x54], 4
cmp esi, 9
jne 0x697b9f
mov ecx, ebx
call fcn.0066f789
xor ecx, ecx
inc ecx
cmp eax, ecx
jne case.default.0x695377
push 2
jmp 0x695ebd
cmp esi, 0x19
jne case.default.0x695377
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
xor bl, bl
movzx eax, al
mov dword [esp + 0x24], ebx
xor edx, edx
mov byte [esp + 0x18], bl
xor ebx, ebx
inc ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
cmp eax, ebx
jne 0x697be8
mov ecx, dword [esp + 0x58]
push 0x20
pop edx
call fcn.0069b684
test al, al
je case.0x695377.63
push 0x10
lea ecx, [esp + 0x64]
call fcn.00694c77
jmp 0x6954da
call fcn.00694a40
test eax, eax
je 0x69812b
mov ecx, edi
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6f2
cmp esi, 0xa
jne 0x697c3d
mov ecx, ebx
call fcn.0066f789
xor ecx, ecx
inc ecx
cmp eax, ecx
jne case.default.0x695377
push 2
lea ecx, [esp + 0x64]
call fcn.00694c2d
jmp 0x6957b4
cmp esi, 0x1a
jne case.default.0x695377
mov esi, edi
mov ecx, ebx
mov dword [esp + 0xc], esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
xor bl, bl
movzx eax, al
mov dword [esp + 0x24], ebx
xor edx, edx
mov byte [esp + 0x18], bl
xor ebx, ebx
inc ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
cmp eax, ebx
jne 0x697c8c
mov ecx, dword [esp + 0x58]
push 0x20
pop edx
call fcn.0069b684
test al, al
je 0x698dd7
push 0x10
lea ecx, [esp + 0x64]
call fcn.00694c77
mov cl, bl
mov dword [esp + 0x24], ecx
mov byte [esp + 0x18], cl
jmp 0x698dd7
xor ecx, ecx
inc ecx
cmp esi, ecx
jne case.0x695377.14
mov ecx, edi
call fcn.0066f789
mov ecx, dword [edi]
and ecx, 0xff000fff
mov dword [esp + 0x54], eax
cmp ecx, 0x1000021
je 0x697cd4
cmp eax, 4
jmp 0x696249
or dword [esp + 0x58], 0x80000000
add eax, 4
jmp 0x695387
cmp esi, 0xc9
jne 0x697d28
mov ecx, edi
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6da
mov ecx, ebx
call fcn.0066f789
mov ecx, edi
mov dword [esp + 0x64], eax
call fcn.0066f789
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x54], eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
jmp 0x6954cd
cmp esi, 0xca
jne 0x697d74
mov ecx, ebx
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6da
mov ecx, ebx
call fcn.0066f789
mov ecx, dword [esp + 0x1c]
mov esi, edi
mov dword [esp + 0x64], eax
mov dword [esp + 0xc], esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x14], edx
lea ecx, [eax + 1]
jmp 0x697c99
xor eax, eax
lea ecx, [esp + 0x60]
inc eax
push eax
call fcn.00694c2d
cmp esi, 0x49
jne 0x697da1
mov ecx, dword [esp + 0x1c]
call fcn.0066f789
xor ecx, ecx
inc ecx
cmp eax, ecx
jne case.default.0x695377
mov ecx, edi
jmp 0x695fdc
cmp esi, 0x4a
jne case.default.0x695377
mov ecx, dword [esp + 0x1c]
call fcn.0066f789
xor ecx, ecx
inc ecx
cmp eax, ecx
jne case.default.0x695377
mov ecx, ebx
jmp 0x696000
cmp esi, 0x11
jne case.default.0x695377
mov ecx, ebx
mov esi, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066f823
test eax, eax
jne case.default.0x695377
mov ecx, edi
call fcn.0066f700
xor edx, edx
mov ecx, eax
call fcn.00694a64
test al, al
je case.default.0x695377
mov ecx, edi
call fcn.00694a40
mov ecx, ebx
mov edi, eax
call fcn.00694a40
test eax, eax
je 0x697e21
mov ecx, ebx
call fcn.00694a40
cmp eax, edi
jne 0x69822d
push edi
lea ecx, [esp + 0x64]
call fcn.0069b6f2
jmp 0x695643
cmp esi, 0xa
jne case.default.0x695377
mov ecx, edi
mov esi, edi
call fcn.0066f700
mov ecx, eax
call fcn.0066f823
test eax, eax
jne case.default.0x695377
mov ecx, ebx
call fcn.0066f700
xor edx, edx
mov ecx, eax
call fcn.00694a64
test al, al
je case.default.0x695377
mov ecx, ebx
call fcn.00694a40
mov ecx, edi
mov ebx, eax
call fcn.00694a40
test eax, eax
je 0x697e8c
mov ecx, edi
call fcn.00694a40
cmp eax, ebx
jne 0x69822d
push ebx
jmp 0x697e22
cmp esi, 0x12
jne case.default.0x695377
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.00694a7c
mov ecx, edi
mov esi, eax
call fcn.0066f700
mov ecx, eax
call fcn.00694a7c
cmp eax, esi
jne case.default.0x695377
mov ecx, edi
mov esi, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066f7f7
test al, al
jne case.default.0x695377
mov ecx, ebx
call fcn.00694a40
mov ebx, eax
test ebx, ebx
je 0x69812b
jmp 0x697e7d
cmp esi, 9
jne 0x697f9c
mov ecx, ebx
call fcn.00694a40
mov ecx, edi
mov esi, eax
call fcn.00694a40
cmp eax, esi
jne 0x69822d
mov ecx, edi
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6f2
mov ecx, edi
call fcn.0066f789
mov ecx, ebx
mov dword [esp + 0x54], eax
call fcn.0066f789
mov ecx, edi
mov dword [esp + 0x64], eax
call fcn.00694a40
xor ecx, ecx
inc ecx
cmp eax, ecx
jne case.0x695377.63
mov eax, dword [edi]
lea ecx, [esp + 0x58]
and eax, 0xff000fff
mov esi, 0x80000000
mov edi, 0xc0000000
cmp eax, 0x1000021
je 0x697f75
cmp dword [esp + 0x54], 4
sbb edx, edx
and edx, edi
add edx, 0x40000000
call fcn.00694aa9
jmp 0x697f81
mov edx, esi
call fcn.00694aa9
add dword [esp + 0x54], 4
mov eax, dword [ebx]
lea ecx, [esp + 0x58]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x6961b4
jmp 0x69619b
cmp esi, 0xa
jne 0x697fdc
mov ecx, ebx
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6f2
mov ecx, ebx
call fcn.0066f789
mov esi, edi
mov dword [esp + 0x64], eax
mov ecx, ebx
mov dword [esp + 0xc], esi
call fcn.00694a40
xor ecx, ecx
inc ecx
cmp eax, ecx
jne 0x698dd7
mov eax, dword [ebx]
jmp 0x695c18
mov ecx, edx
call fcn.00694da7
push eax
lea ecx, [esp + 0x64]
call fcn.00694c69
lea ecx, [esp + 0x60]
call fcn.00694be6
mov dword [esp + 0x64], eax
cmp esi, 0x19
jne 0x698117
mov ecx, edi
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6f2
mov ecx, edi
call fcn.0066f789
mov ecx, edi
mov dword [esp + 0x54], eax
call fcn.00694a40
xor ecx, ecx
inc ecx
cmp eax, ecx
jne 0x698086
mov ecx, edi
call fcn.00694b07
lea ecx, [esp + 0x58]
test al, al
jne 0x698056
cmp dword [esp + 0x54], 4
sbb edx, edx
and edx, 0xc0000000
add edx, 0x40000000
call fcn.00694aa9
jmp 0x698065
mov edx, 0x80000000
call fcn.00694aa9
add dword [esp + 0x54], 4
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0067e7e7
movzx eax, al
xor ebx, ebx
cdq
inc ebx
mov dword [esp + 0x10], eax
mov al, bl
mov dword [esp + 0x14], edx
jmp 0x6980bf
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov ecx, edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x28], 4
call fcn.00694a40
lea edx, [esp + 0x28]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.0069b64c
xor ebx, ebx
inc ebx
cmp dword [esp + 0x54], 0
mov byte [esp + 0x18], al
mov dword [esp + 0x24], eax
jne case.0x695377.63
mov ecx, dword [esp + 0x58]
push 0x20
pop edx
call fcn.0069b684
test al, al
jne case.0x695377.63
push 0x8200000
lea ecx, [esp + 0x64]
call fcn.00694c85
mov ecx, edi
call fcn.00694a40
xor ecx, ecx
cmp eax, ebx
setne cl
add ecx, 0xa8
push ecx
lea ecx, [esp + 0x64]
call fcn.006702b8
jmp case.0x695377.1
cmp esi, 0x1a
jne case.default.0x695377
mov ecx, edi
call fcn.00694a40
test eax, eax
jne 0x698132
push 0x34
jmp 0x6955c8
mov ecx, edi
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6f2
mov esi, edi
mov ecx, ebx
mov dword [esp + 0xc], esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov ecx, edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x28], 4
call fcn.00694a40
lea edx, [esp + 0x28]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.0069b64c
mov dword [esp + 0x24], eax
mov byte [esp + 0x18], al
jmp 0x698dd7
cmp esi, 0x11
jne case.0x695377.61
mov ecx, edi
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b6f2
mov ecx, edi
call fcn.0066f789
mov esi, ebx
mov dword [esp + 0x64], eax
mov ecx, edi
mov dword [esp + 0xc], esi
call fcn.00694a40
xor ecx, ecx
inc ecx
cmp eax, ecx
jne 0x698dd7
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x6981ed
cmp dword [esp + 0x64], 4
sbb eax, eax
and eax, 0xc0000000
add eax, 0x40000000
or dword [esp + 0x58], eax
jmp 0x698dd7
or dword [esp + 0x58], 0x80000000
jmp 0x695c4f
cmp esi, 9
jne 0x698353
mov ecx, edi
call fcn.0066f789
mov ecx, ebx
mov dword [esp + 0x54], eax
call fcn.0066f789
mov ecx, edi
mov dword [esp + 0x64], eax
call fcn.00694a40
mov ecx, ebx
mov esi, eax
call fcn.00694a40
cmp esi, eax
je 0x698234
push 0x35
jmp 0x6955c8
xor eax, eax
inc eax
cmp esi, eax
je 0x697f43
cmp dword [esp + 0x4c], 0x6a3
jne 0x69834d
cmp dword [esp + 0x64], 0
je 0x69825f
cmp dword [esp + 0x54], 0
jne 0x69834d
mov edi, dword [esp + 0x2c]
mov ecx, edi
call fcn.00694ab9
test al, al
je 0x69828d
mov eax, dword [esp + 0x64]
cmp eax, dword [esp + 0x54]
jne 0x69828d
cmp esi, 4
jb 0x69828d
cmp esi, 8
jne 0x69834d
push 0x8000000
jmp 0x6982b8
mov ecx, dword [esp + 0x58]
push 0x20
pop edx
call fcn.0069b684
test al, al
jne 0x69834d
mov eax, dword [esp + 0x54]
lea ecx, [esp + 0x60]
add dword [esp + 0x64], eax
push esi
call fcn.0069b6f2
push 0x8200000
lea ecx, [esp + 0x64]
call fcn.00694c85
push 0x90
lea ecx, [esp + 0x64]
call fcn.006702b8
push dword [esp + 0x60]
lea ecx, [esp + 0x6c]
call fcn.00694db3
push dword [esp + 0x58]
lea ecx, [esp + 0x64]
call fcn.00694c56
mov ecx, dword [esp + 0x64]
mov esi, eax
shr ecx, 3
or esi, ecx
mov ecx, esi
call fcn.00694d9d
test al, al
jne 0x698ee4
and esi, 0x7f
lea ecx, [esp + 0x68]
setne al
or esi, 0x40
movzx eax, al
push eax
push esi
call fcn.0069b68a
mov eax, dword [esp + 0x64]
lea ecx, [esp + 0x60]
and eax, 7
push eax
mov dword [esp + 0x68], eax
call fcn.00694c2d
push dword [esp + 0x60]
lea ecx, [esp + 0x6c]
call fcn.00694dd7
push dword [esp + 0x18]
push dword [esp + 0x18]
push dword [esp + 0x18]
jmp 0x695947
push esi
jmp 0x6968e6
cmp esi, 0xa
jne case.default.0x695377
jmp 0x697fa1
cmp esi, 9
jne 0x6983aa
mov ecx, edi
call fcn.0066f789
mov ecx, ebx
mov dword [esp + 0x64], eax
call fcn.0066f789
mov ecx, dword [esp + 0x58]
mov edx, pe_nt_image_headers32
mov dword [esp + 0x54], eax
call fcn.0069b684
test al, al
je case.0x695377.63
mov ecx, dword [esp + 0x30]
call fcn.00694da7
push eax
lea ecx, [esp + 0x64]
call fcn.00694c69
jmp 0x695bbd
cmp esi, 0x11
je 0x6959db
cmp esi, 0xa
jne case.default.0x695377
mov ecx, edx
call fcn.00694da7
push eax
lea ecx, [esp + 0x64]
call fcn.00694c69
jmp 0x695abe
cmp esi, 9
jne 0x698474
mov ecx, edi
call fcn.0066f789
mov ecx, ebx
mov dword [esp + 0x64], eax
call fcn.0066f789
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x54], eax
test ecx, ecx
je 0x6984c9
test eax, eax
jne case.default.0x695377
mov dword [esp + 0x54], ecx
lea ecx, [esp + 0x60]
push 0xff
call fcn.00694c93
mov ecx, dword [esp + 0x54]
add ecx, 0x37000
add eax, ecx
push eax
lea ecx, [esp + 0x64]
call fcn.00694c69
mov ecx, dword [esp + 0x60]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x7158a8]
lea ecx, [esp + 0x6c]
push eax
call fcn.0069b68a
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x60]
shr ecx, 0xa
mov byte [eax], cl
mov eax, dword [esp + 0x68]
mov cl, byte [esp + 0x60]
inc eax
mov dword [esp + 0x68], eax
mov byte [eax], cl
inc dword [esp + 0x68]
jmp case.0x695377.0
cmp esi, eax
jne case.default.0x695377
mov ecx, edi
call fcn.00694a40
mov ecx, 0xdc
cmp eax, 4
lea edx, [ecx - 4]
cmove ecx, edx
push ecx
lea ecx, [esp + 0x64]
call fcn.00694c69
push 0xffff1fff
lea ecx, [esp + 0x64]
call fcn.00694c85
jmp 0x6957b4
test esi, esi
jne 0x6984b7
xor eax, eax
inc eax
jmp 0x6984c5
xor ecx, ecx
inc ecx
cmp esi, ecx
jne 0x698474
mov ecx, edi
call fcn.0066f789
mov dword [esp + 0x54], eax
push 0xa
lea ecx, [esp + 0x64]
call fcn.00694ca7
movzx ecx, al
mov eax, dword [esp + 0x54]
add eax, 0x36000
jmp 0x698421
cmp esi, eax
jne 0x69857f
mov esi, edi
mov ecx, edi
mov dword [esp + 0xc], esi
call fcn.00694a40
mov ebx, dword [esp + 0x38]
cmp eax, 4
jne 0x698517
push 0x1000
mov ecx, ebx
call fcn.00694c0c
test al, al
jne 0x698dd7
mov ecx, edi
call fcn.00694a40
cmp eax, 8
jne 0x69853a
push 0x2000
mov ecx, ebx
call fcn.00694c0c
test al, al
je 0x69853a
push 4
jmp 0x6962d8
mov ecx, edi
call fcn.00694a40
cmp eax, 0xa
jne case.default.0x695377
push 0x800
mov ecx, ebx
call fcn.00694c0c
test al, al
je case.default.0x695377
mov ecx, dword [esp + 0x30]
call fcn.00694da7
push eax
lea ecx, [esp + 0x64]
call fcn.00694c69
lea ecx, [esp + 0x60]
call fcn.00694be6
jmp 0x695acb
xor eax, eax
inc eax
cmp esi, eax
jne case.default.0x695377
mov edx, dword [esp + 0x4c]
cmp edx, 0xe2
jne 0x6985a7
mov ecx, edi
call fcn.0066f789
add eax, 0x364c0
jmp 0x698423
cmp edx, 0x100
jne 0x6985c0
mov ecx, edi
call fcn.0066f789
add eax, 0x374d0
jmp 0x698423
cmp edx, 0x103
jne case.default.0x695377
mov ecx, edi
call fcn.0066f789
add eax, 0x374d8
jmp 0x698423
cmp esi, eax
jne case.default.0x695377
push 0xffff1fff
lea ecx, [esp + 0x64]
call fcn.00694c85
mov esi, edi
mov ecx, edi
mov dword [esp + 0xc], esi
call fcn.00694a40
mov ebx, dword [esp + 0x38]
cmp eax, 2
jne 0x69861d
push 0x800
mov ecx, ebx
call fcn.00694c0c
test al, al
jne 0x698533
mov ecx, edi
call fcn.00694a40
cmp eax, 4
jne 0x69863d
push 0x1000
mov ecx, ebx
call fcn.00694c0c
test al, al
jne 0x698dd7
mov ecx, edi
call fcn.00694a40
cmp eax, 8
jne case.default.0x695377
push 0x2000
mov ecx, ebx
call fcn.00694c0c
test al, al
je case.default.0x695377
mov ecx, dword [esp + 0x30]
call fcn.00694da7
and eax, 0xffff1fff
jmp 0x698567
test esi, esi
jne case.0x695377.70
xor eax, eax
inc eax
push eax
lea ecx, [esp + 0x64]
call fcn.00694c2d
jmp case.0x695377.65
xor eax, eax
inc eax
cmp esi, eax
jne case.default.0x695377
mov ecx, edi
call fcn.0066f789
jmp 0x69867b
xor ecx, ecx
inc ecx
cmp esi, ecx
jne 0x6986c2
mov ecx, edi
call fcn.0066f789
test eax, eax
jne case.default.0x695377
mov ecx, dword [esp + 0x30]
call fcn.00694da7
jmp 0x698423
cmp esi, eax
jne case.default.0x695377
jmp 0x69849b
cmp esi, 0xc9
jne 0x69870b
mov ecx, ebx
call fcn.0066fcd8
movzx eax, al
lea ecx, [esp + 0x60]
push eax
call fcn.0069b791
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x14], edx
inc eax
jmp 0x6963bf
cmp esi, 0xca
jne case.default.0x695377
mov ecx, edx
call fcn.00694da7
push eax
lea ecx, [esp + 0x64]
call fcn.00694c69
mov ecx, ebx
call fcn.0066fcd8
movzx eax, al
lea ecx, [esp + 0x60]
push eax
call fcn.0069b791
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov dword [esp + 0x10], eax
xor eax, eax
inc eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x24], eax
mov byte [esp + 0x18], al
jmp 0x69600f
cmp esi, 0xc9
jne 0x6987a8
mov ecx, ebx
call fcn.0066fcd8
movzx eax, al
lea ecx, [esp + 0x60]
push eax
call fcn.0069b791
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov dword [esp + 0x10], eax
xor eax, eax
inc eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x24], eax
mov byte [esp + 0x18], al
jmp 0x695feb
cmp esi, 0xca
jne case.default.0x695377
jmp 0x698728
cmp esi, 9
jne 0x6987fd
mov ecx, edi
call fcn.0066f789
mov ecx, ebx
mov dword [esp + 0x64], eax
call fcn.0066f789
mov ecx, dword [esp + 0x58]
mov edx, pe_nt_image_headers32
mov dword [esp + 0x54], eax
call fcn.0069b684
test al, al
je case.0x695377.63
mov ecx, dword [esp + 0x30]
cmp byte [ecx + 7], 0
je case.0x695377.63
jmp 0x698396
cmp esi, 0x11
je 0x6959db
mov ecx, edx
call fcn.00694da7
push eax
lea ecx, [esp + 0x64]
call fcn.00694c69
cmp esi, 0xa
jne case.default.0x695377
jmp 0x69600f
cmp esi, 0x11
jne 0x698841
mov ecx, edi
call fcn.00694a40
xor ecx, ecx
inc ecx
cmp eax, ecx
je case.default.0x695377
jmp 0x696fbe
mov ecx, edx
call fcn.00694da7
push eax
lea ecx, [esp + 0x64]
call fcn.00694c69
cmp esi, 0xa
jne case.default.0x695377
mov ecx, ebx
call fcn.00694a40
xor ecx, ecx
inc ecx
cmp eax, ecx
je case.default.0x695377
jmp 0x697dbe
cmp esi, 9
jne 0x69891e
mov ecx, edi
call fcn.0066f789
mov ecx, ebx
mov dword [esp + 0x64], eax
call fcn.0066f789
mov ecx, edi
mov dword [esp + 0x54], eax
call fcn.00694b27
test al, al
je 0x6988d2
mov ecx, ebx
call fcn.00694b27
test al, al
je 0x6988d2
push 0x16f
lea ecx, [esp + 0x64]
call fcn.00694c69
mov ecx, dword [esp + 0x58]
mov edx, pe_nt_image_headers32
call fcn.0069b684
test al, al
je case.0x695377.63
push 0x10
jmp 0x695bb4
mov ecx, edi
call fcn.0066fcd8
test al, al
je 0x6989ac
mov ecx, ebx
call fcn.0066fcd8
test al, al
je 0x6989ac
push 0x40017e
lea ecx, [esp + 0x64]
call fcn.00694c69
mov ecx, dword [esp + 0x58]
mov edx, pe_nt_image_headers32
call fcn.0069b684
test al, al
je case.0x695377.63
push 0x2001d6
jmp 0x69839c
cmp esi, 0x11
jne 0x698964
mov ecx, edi
call fcn.0066f789
mov ecx, edi
mov dword [esp + 0x64], eax
mov dword [esp + 0xc], ebx
call fcn.00694b27
test al, al
je 0x698952
push 0x16f
lea ecx, [esp + 0x64]
call fcn.00694c69
mov esi, ebx
jmp 0x698dd7
mov ecx, edi
call fcn.0066fcd8
test al, al
je 0x6989ac
push 0x40017e
jmp 0x698942
cmp esi, 0xa
jne 0x6989ac
mov ecx, ebx
call fcn.0066f789
mov ecx, ebx
mov dword [esp + 0x64], eax
mov dword [esp + 0xc], edi
call fcn.00694b27
test al, al
je 0x69899a
push 0x17f
lea ecx, [esp + 0x64]
call fcn.00694c69
mov esi, dword [esp + 0xc]
jmp 0x698dd7
mov ecx, ebx
call fcn.0066fcd8
test al, al
je 0x6989ac
push 0x2001d6
jmp 0x698988
push 0x8000000
lea ecx, [esp + 0x64]
call fcn.006702b8
mov eax, dword [edi + 4]
xor ecx, ecx
mov dword [esp + 0x64], eax
mov edx, 0x200000
mov eax, dword [edi]
and eax, 0xff000fff
cmp eax, 0x10000161
cmove ecx, edx
or dword [esp + 0x60], ecx
cmp esi, 9
jne 0x6989f0
mov ecx, ebx
call fcn.00694a45
test al, al
je 0x6989f9
jmp 0x6963d2
cmp esi, 0x11
je 0x698dd1
push 0x8000000
lea ecx, [esp + 0x64]
call fcn.00694c85
mov ecx, dword [esp + 0x30]
call fcn.00694da7
push eax
lea ecx, [esp + 0x64]
call fcn.006702b8
mov ecx, ebx
call fcn.0066f789
mov ecx, ebx
mov dword [esp + 0x64], eax
call fcn.0066fcd8
movzx eax, al
lea ecx, [esp + 0x60]
push eax
call fcn.0069b791
cmp esi, 9
jne 0x695838
mov ecx, edi
call fcn.00694a45
jmp 0x695977
mov eax, dword [esp + 0x1c]
cmp dword [eax], 0
je 0x698a68
xor edx, edx
mov ecx, eax
call fcn.00694baa
test al, al
je case.default.0x695377
and esi, 0x3f
jmp case.0x695377.73
mov eax, dword [esp + 0x1c]
cmp dword [eax], 0
je 0x698a68
push 7
pop edx
mov ecx, eax
call fcn.00694cc8
jmp 0x698a60
xor eax, eax
mov ecx, 0x8000000
cmp byte [ebx + 3], 8
cmove eax, ecx
or dword [esp + 0xc], eax
mov eax, dword [edi]
xor ecx, ecx
and eax, 0xff000fff
cmp eax, 0x8000039
mov eax, 0x8000000
cmove ecx, eax
or ecx, dword [esp + 0xc]
mov dword [esp + 0x60], ecx
cmp esi, 9
je 0x6959c3
cmp esi, 0x11
jne case.default.0x695377
mov eax, dword [edi + 4]
jmp 0x6959e2
cmp esi, 9
jne 0x698b07
mov ecx, ebx
call fcn.0066fcd8
mov ecx, edi
mov bl, al
call fcn.0066fcd8
movzx eax, al
movzx ecx, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x64]
call fcn.0069b7a3
mov ecx, edi
call fcn.0066f789
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x64], eax
jmp 0x6966cd
cmp esi, 0x11
jne case.default.0x695377
mov ecx, edi
call fcn.0066fcd8
movzx eax, al
lea ecx, [esp + 0x60]
push eax
call fcn.0069b791
jmp 0x6959db
cmp esi, 9
je 0x6963c7
cmp esi, 0x11
je 0x6959db
mov ecx, edx
call fcn.00694da7
push eax
lea ecx, [esp + 0x64]
call fcn.00694c69
lea ecx, [esp + 0x60]
call fcn.00694be6
mov dword [esp + 0x64], eax
cmp esi, 0x19
jne case.default.0x695377
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x14], edx
lea ebx, [eax + 1]
mov dword [esp + 0x24], ebx
mov byte [esp + 0x18], bl
jmp 0x6957f8
cmp esi, 9
je 0x698ad1
cmp esi, 0x11
je 0x698b10
mov ecx, edx
call fcn.00694da7
push eax
lea ecx, [esp + 0x64]
call fcn.00694c69
lea ecx, [esp + 0x60]
call fcn.00694be6
mov dword [esp + 0x64], eax
cmp esi, 0x19
jne case.default.0x695377
mov ecx, edi
call fcn.0066fcd8
movzx eax, al
lea ecx, [esp + 0x60]
push eax
call fcn.0069b791
jmp 0x698b62
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov dword [esp + 0x10], eax
xor eax, eax
inc eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x24], eax
mov byte [esp + 0x18], al
cmp esi, 0xc9
je 0x6963c7
cmp esi, 0xd1
jmp 0x6959d5
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov dword [esp + 0x10], eax
xor eax, eax
inc eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x24], eax
mov byte [esp + 0x18], al
cmp esi, 0xc9
je 0x698ad1
cmp esi, 0xd1
jmp 0x698b0a
mov ecx, edi
call fcn.0066f789
mov ecx, ebx
mov dword [esp + 0x64], eax
call fcn.0066f789
mov dword [esp + 0x54], eax
cmp esi, 9
je case.0x695377.63
cmp esi, 0xd9
jne case.default.0x695377
mov ecx, dword [esp + 0x30]
call fcn.00694da7
push eax
lea ecx, [esp + 0x64]
call fcn.00694c69
mov eax, dword [esp + 0x64]
lea ecx, [esp + 0x60]
mov dword [esp + 0x54], eax
call fcn.00694be6
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x64], eax
call fcn.0066f700
mov ecx, eax
call fcn.0067e7e7
mov ecx, dword [esp + 0x50]
mov bl, al
call fcn.0066f700
mov ecx, eax
call fcn.0067e7e7
movzx eax, al
cdq
mov ecx, eax
mov esi, edx
movzx eax, bl
mov bl, 2
cdq
shld edx, eax, 8
shl eax, 8
add ecx, eax
mov dword [esp + 0x10], ecx
adc esi, edx
mov dword [esp + 0x14], esi
jmp 0x6954da
mov ecx, dword [esp + 0x34]
call fcn.0066f750
shl eax, 9
mov ecx, edi
add eax, esi
mov dword [esp + 0x28], eax
call fcn.0066f789
mov ecx, ebx
mov dword [esp + 0x64], eax
call fcn.0066f789
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x28]
cmp eax, 9
je case.0x695377.63
cmp eax, 0x6c9
jne case.default.0x695377
mov ecx, dword [esp + 0x30]
call fcn.00694da7
push eax
lea ecx, [esp + 0x64]
call fcn.00694c69
mov ecx, dword [esp + 0x34]
call fcn.0066f700
mov ecx, eax
call fcn.0067e7e7
mov ecx, dword [esp + 0x1c]
mov bl, al
call fcn.0066f700
mov ecx, eax
call fcn.0067e7e7
movzx eax, al
cdq
mov ecx, eax
mov esi, edx
movzx eax, bl
cdq
shld edx, eax, 8
shl eax, 8
add ecx, eax
mov al, 2
mov dword [esp + 0x10], ecx
adc esi, edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], esi
mov byte [esp + 0x18], al
jmp case.0x695377.63
mov edx, dword [esp + 0xc]
lea ecx, [esp + 0x60]
and dword [esp + 0x14], 0
movzx eax, dl
mov dword [esp + 0x10], eax
xor eax, eax
inc eax
push 0x10f
mov dword [esp + 0x28], eax
mov byte [esp + 0x1c], al
call fcn.00694c69
mov ecx, edi
call fcn.0066f789
mov dword [esp + 0x64], eax
cmp esi, 9
je 0x6963d2
cmp esi, 0x11
jne case.default.0x695377
mov esi, ebx
mov dword [esp + 0xc], esi
mov ecx, dword [esi]
mov eax, ecx
and al, 7
cmp al, 2
jne 0x698ed5
test dword [esp + 0x60], 0xe000
jne 0x698ec6
mov eax, ecx
shr ecx, 0x12
shr eax, 3
and ecx, 7
and eax, 0x3ff
push ecx
lea ecx, [esp + 0x6c]
movzx ebx, byte [eax + 0x715910]
call fcn.00694e33
mov edi, dword [esp + 0x2c]
lea ecx, [esp + 0x68]
mov eax, dword [esp + 0x68]
mov dword [esp + 0x40], eax
test dword [edi + 0x28], ebx
setne al
movzx eax, al
push eax
push 0x67
call fcn.0069b68a
mov ecx, dword [esp + 0x60]
shr ecx, 0x15
and ecx, 7
setne al
movzx eax, al
push eax
movzx eax, byte [ecx + 0x7158a8]
lea ecx, [esp + 0x6c]
push eax
call fcn.0069b68a
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
mov eax, edx
mov dword [esp + 0x54], ecx
and eax, 8
shr ecx, 1
and ecx, 4
mov dword [esp + 0x6c], edx
or ecx, eax
mov eax, dword [esp + 0x64]
shr ecx, 1
and eax, 8
or ecx, eax
mov eax, dword [esp + 0x60]
or eax, dword [esp + 0x58]
shr ecx, 1
and ecx, ebx
shr eax, 0x18
or ecx, eax
cmp ecx, 0x80
ja 0x698ee4
and ecx, 0x7f
setne al
or ecx, 0x40
movzx eax, al
push eax
push ecx
lea ecx, [esp + 0x70]
call fcn.0069b68a
push dword [esp + 0x60]
and dword [esp + 0x68], 7
lea ecx, [esp + 0x6c]
call fcn.00694dd7
xor ecx, ecx
inc ecx
jmp 0x69a50f
push str._opcode__Opcode::kCDSHL_Mask___0
push 0xfc0
jmp 0x69b18d
push str.rmRel__opType____OperandType::kMem
push 0xfbf
jmp 0x69b18d
mov ebx, dword [esp + 0x20]
push 0x25
pop eax
jmp 0x6955cd
push 0x8000000
lea ecx, [esp + 0x64]
call fcn.00694c93
test eax, eax
jne 0x698fb2
push 0x60000000
lea ecx, [esp + 0x64]
call fcn.00694c93
mov esi, eax
lea ecx, [esp + 0x60]
push 0x600000
shr esi, 6
call fcn.00694c93
mov edi, eax
lea ecx, [esp + 0x60]
or edi, esi
push 0x1f00
shr edi, 5
call fcn.00694c93
mov ecx, dword [esp + 0x58]
mov esi, eax
or esi, edi
mov edx, 0x400
shr esi, 8
call fcn.0069b684
test al, al
je 0x698f7c
push 0x18
lea ecx, [esp + 0x64]
call fcn.00694c9f
movzx ecx, si
or eax, 0x78e0c4
shl ecx, 8
xor eax, ecx
lea ecx, [esp + 0x68]
push eax
call fcn.0067992f
jmp case.0x695377.0
push 0xc5
lea ecx, [esp + 0x6c]
call fcn.0069b6b9
mov eax, esi
lea ecx, [esp + 0x68]
xor eax, 0xf900
shr eax, 8
xor eax, esi
push eax
call fcn.0069b6b9
push dword [esp + 0x60]
lea ecx, [esp + 0x6c]
call fcn.0069b6b9
jmp case.0x695377.0
push str._opcode__Opcode::kW___0
push 0x117d
jmp 0x69b18d
cmp esi, 9
jne 0x69904f
mov ecx, edi
call fcn.0066f789
mov ecx, ebx
mov dword [esp + 0x64], eax
call fcn.0066f789
mov ecx, ebx
mov dword [esp + 0x54], eax
call fcn.00694a45
test al, al
je 0x699003
mov ecx, dword [esp + 0x30]
call fcn.00694da7
push eax
lea ecx, [esp + 0x64]
call fcn.00694c69
jmp case.0x695377.93
mov ecx, edi
call fcn.00694a45
test al, al
je 0x69901a
mov ecx, dword [esp + 0x30]
call fcn.00694da7
inc eax
jmp 0x698ff4
mov ecx, dword [esp + 0x58]
mov edx, pe_nt_image_headers32
call fcn.0069b684
test al, al
je case.0x695377.93
xor ebx, ebx
lea ecx, [esp + 0x60]
inc ebx
push ebx
call fcn.00694c2d
lea edx, [esp + 0x54]
lea ecx, [esp + 0x64]
call fcn.0068b099
jmp 0x69af68
cmp esi, 0x11
jne 0x699062
mov ecx, edi
call fcn.0066f789
mov esi, ebx
jmp 0x699a27
cmp esi, 0xa
jne case.default.0x695377
xor eax, eax
lea ecx, [esp + 0x60]
inc eax
push eax
call fcn.00694c2d
jmp 0x699a1e
xor ebx, ebx
inc ebx
cmp esi, ebx
jne case.default.0x695377
mov ecx, edi
call fcn.0066f789
mov ecx, edi
mov dword [esp + 0x54], eax
call fcn.0066f700
mov ecx, eax
call fcn.0066fca8
movzx eax, al
lea ecx, [esp + 0x60]
push eax
call fcn.0069b77f
jmp 0x69af68
cmp esi, eax
jne case.default.0x695377
mov esi, edi
jmp 0x699a2b
movzx eax, byte [edi + 3]
movzx ecx, byte [ebx + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x715d18]
or eax, dword [esp + 0xc]
mov dword [esp + 0x60], eax
cmp esi, 9
jne case.0x695377.160
mov ecx, ebx
call fcn.0066f789
mov ecx, edi
jmp 0x69af58
cmp esi, 0xa
jne case.default.0x695377
mov ecx, ebx
call fcn.00694a40
mov ecx, eax
call fcn.00694d0b
mov ecx, edi
mov dword [esp + 0x28], eax
call fcn.00694cfb
lea edx, [esp + 0x28]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.0069b67c
push eax
lea ecx, [esp + 0x64]
call fcn.006702b8
jmp 0x699a1e
cmp esi, 0xc9
jne case.0x695377.100
push 0x2001c5
lea ecx, [esp + 0x64]
call fcn.00694c69
mov ecx, edi
call fcn.0066f789
mov ecx, ebx
mov dword [esp + 0x64], eax
call fcn.0066f789
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x54], eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov dword [esp + 0x14], edx
xor ebx, ebx
mov dword [esp + 0x10], eax
inc ebx
mov cl, bl
mov dword [esp + 0x24], ecx
mov byte [esp + 0x18], cl
jmp 0x69af68
cmp esi, 0x4a
jne case.default.0x695377
mov ecx, ebx
call fcn.0066fca8
movzx eax, al
lea ecx, [esp + 0x60]
push eax
call fcn.0069b7b4
mov ecx, dword [esp + 0x1c]
call fcn.0066f789
mov ecx, ebx
mov esi, eax
call fcn.0066f789
mov edx, esi
mov ecx, eax
call fcn.00694cf4
jmp 0x699a25
mov ecx, ebx
call fcn.00694a40
mov ecx, edi
mov esi, eax
call fcn.00694a40
or esi, eax
mov ecx, esi
call fcn.00694d0b
push eax
lea ecx, [esp + 0x64]
call fcn.006702b8
mov edx, dword [esp + 0x1c]
xor eax, eax
mov esi, dword [esp + 0x6c]
or eax, dword [edx + 8]
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x14], ecx
lea ecx, [eax + 1]
mov dword [esp + 0x24], ecx
mov byte [esp + 0x18], cl
cmp esi, 0xc9
jne 0x69922d
mov eax, dword [ebx + 4]
mov dword [esp + 0x64], eax
mov eax, dword [edi + 4]
jmp 0x69af61
cmp esi, 0xca
jmp 0x699a18
mov ecx, dword [esp + 0x1c]
call fcn.0066f756
test al, al
jne 0x699259
mov ecx, dword [esp + 0x1c]
push 7
pop edx
call fcn.00694cc8
test al, al
je case.default.0x695377
and esi, 0x3f
jmp case.0x695377.104
mov ecx, ebx
call fcn.0066fca8
mov ecx, edi
mov bl, al
call fcn.0066fca8
movzx eax, al
movzx ecx, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x64]
call fcn.0069b7b4
mov ebx, dword [esp + 0x50]
jmp case.0x695377.104
mov ecx, ebx
call fcn.00694a40
test eax, eax
je 0x6992a8
mov ecx, ebx
call fcn.00694a40
mov ecx, eax
call fcn.00694d0b
push eax
jmp 0x6992b9
mov ecx, edi
call fcn.00694a40
cmp eax, 0x20
jne case.0x695377.104
push 0x40000000
lea ecx, [esp + 0x64]
call fcn.006702b8
jmp case.0x695377.104
cmp esi, 9
jne case.0x695377.107
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.00694a45
test al, al
je case.0x695377.107
mov ecx, ebx
call fcn.00694a40
mov ecx, edi
mov esi, eax
call fcn.00694a40
or esi, eax
mov ecx, esi
call fcn.00694d0b
mov ecx, dword [esp + 0x30]
mov esi, eax
call fcn.00694da7
or esi, eax
lea ecx, [esp + 0x60]
push esi
call fcn.00694c69
mov ecx, edi
call fcn.0066f789
jmp 0x69af56
movzx eax, byte [edi + 3]
movzx ecx, byte [ebx + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x715d18]
or dword [esp + 0x60], eax
cmp esi, 9
jne 0x699343
mov eax, dword [edi + 4]
mov dword [esp + 0x64], eax
mov eax, dword [ebx + 4]
jmp 0x69af61
cmp esi, 0x11
jne case.default.0x695377
mov eax, dword [edi + 4]
jmp 0x69905b
cmp esi, 0x11
jne case.default.0x695377
mov ecx, edi
call fcn.00694a40
mov ecx, eax
call fcn.00694d0b
mov ecx, ebx
mov dword [esp + 0x28], eax
call fcn.00694cfb
lea edx, [esp + 0x28]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.0069b67c
push eax
lea ecx, [esp + 0x64]
call fcn.006702b8
jmp 0x699054
mov esi, dword [esp + 0x34]
mov ecx, edi
add esi, 0x20
mov dword [esp + 0xc], esi
call fcn.00694a54
test al, al
je case.default.0x695377
mov ecx, ebx
call fcn.00694a54
test al, al
je case.default.0x695377
mov ecx, dword [esp + 0x1c]
call fcn.00694a54
test al, al
je case.default.0x695377
mov ecx, dword [esp + 0x34]
call fcn.00694a54
test al, al
je case.default.0x695377
mov ecx, dword [esp + 0x34]
lea ecx, [ecx + 0x10]
call fcn.00694a54
test al, al
je case.default.0x695377
mov ecx, esi
call fcn.0066f76a
test al, al
je case.default.0x695377
mov ecx, ebx
call fcn.0066f789
mov ecx, dword [esp + 0x1c]
mov ebx, eax
call fcn.0066f789
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x28], eax
call fcn.0066f789
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x40], eax
lea ecx, [ecx + 0x10]
call fcn.0066f789
mov edx, eax
test bl, 3
jne 0x69946c
lea ecx, [ebx + 1]
cmp dword [esp + 0x28], ecx
jne 0x69946c
lea ecx, [ebx + 2]
cmp dword [esp + 0x40], ecx
jne 0x69946c
lea eax, [ebx + 3]
cmp edx, eax
jne 0x69946c
mov ecx, edi
call fcn.0066f789
mov edx, ebx
mov ecx, eax
call fcn.00694cf4
mov dword [esp + 0x64], eax
jmp 0x69a03b
push 0x3c
jmp 0x696c66
mov ecx, ebx
call fcn.0066fca8
mov ecx, edi
mov bl, al
call fcn.0066fca8
movzx eax, al
movzx ecx, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x64]
call fcn.0069b7b4
mov ebx, dword [esp + 0x50]
jmp case.0x695377.112
mov ecx, ebx
call fcn.00694a40
mov ecx, edi
mov esi, eax
call fcn.00694a40
or esi, eax
mov ecx, esi
call fcn.00694d0b
push eax
lea ecx, [esp + 0x64]
call fcn.006702b8
mov edx, dword [esp + 0x1c]
xor eax, eax
mov esi, dword [esp + 0x6c]
or eax, dword [edx + 8]
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x14], ecx
lea ecx, [eax + 1]
mov dword [esp + 0x24], ecx
mov byte [esp + 0x18], cl
cmp esi, 0xc9
je 0x699334
cmp esi, 0xd1
jne case.default.0x695377
jmp 0x699054
mov ecx, dword [esp + 0x34]
call fcn.0066f756
test al, al
jne case.0x695377.116
mov ecx, dword [esp + 0x34]
push 2
pop edx
call fcn.00694a64
test al, al
je case.default.0x695377
mov eax, dword [esp + 0x1c]
xor edx, edx
cmp byte [eax + 3], 8
mov eax, 0x8000000
cmove edx, eax
mov eax, dword [edi]
and eax, 0xff000fff
xor ecx, ecx
cmp eax, 0x8000039
mov eax, 0x8000000
cmove ecx, eax
or edx, ecx
or dword [esp + 0x60], edx
jmp case.0x695377.115
mov ecx, edi
call fcn.00694b37
movzx eax, al
lea ecx, [esp + 0x60]
push eax
call fcn.0069b7c5
movzx eax, byte [edi + 3]
movzx ecx, byte [ebx + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x715d18]
or dword [esp + 0x60], eax
cmp esi, 0x49
je 0x69975e
cmp esi, 0x89
jne case.default.0x695377
mov eax, dword [ebx + 4]
shl eax, 7
add eax, dword [edi + 4]
mov esi, dword [esp + 0x1c]
jmp 0x699a27
cmp esi, 0x49
jne case.default.0x695377
mov ecx, edi
call fcn.0066f789
xor ecx, ecx
inc ecx
test cl, al
jne 0x699636
mov ecx, edi
call fcn.0066f789
mov ecx, ebx
lea esi, [eax + 1]
call fcn.0066f789
cmp esi, eax
jne 0x699636
mov ecx, dword [esp + 0x1c]
call fcn.00694a40
mov ecx, eax
call fcn.00694d0b
push eax
lea ecx, [esp + 0x64]
call fcn.006702b8
mov ecx, dword [esp + 0x1c]
call fcn.0066f789
mov ecx, edi
mov esi, eax
call fcn.0066f789
mov edx, esi
mov ecx, eax
call fcn.00694cf4
mov edi, dword [esp + 0x34]
mov ecx, edi
mov dword [esp + 0x64], eax
call fcn.0066f75d
mov ecx, edi
test al, al
jne 0x69af5c
call fcn.0066f76a
test al, al
je case.default.0x695377
mov esi, edi
mov dword [esp + 0xc], esi
jmp 0x69a03b
push 0x1d
jmp 0x696c66
mov ecx, ebx
call fcn.00694a40
mov ecx, edi
mov esi, eax
call fcn.00694a40
or esi, eax
mov ecx, esi
call fcn.00694d0b
push eax
lea ecx, [esp + 0x64]
call fcn.006702b8
mov eax, dword [esp + 0x34]
and dword [esp + 0x14], 0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
and ecx, 7
shl eax, 4
shl ecx, 9
add ecx, dword [esp + 0x6c]
mov dword [esp + 0x10], eax
xor eax, eax
inc eax
mov dword [esp + 0x24], eax
mov byte [esp + 0x18], al
cmp ecx, 0x249
jne 0x6996b4
mov ecx, ebx
call fcn.0066f789
mov ecx, edi
mov esi, eax
call fcn.0066f789
mov edx, esi
mov ecx, eax
call fcn.00694cf4
mov ecx, dword [esp + 0x1c]
jmp 0x69af58
cmp ecx, 0x289
jne case.default.0x695377
mov ecx, ebx
call fcn.0066f789
mov ecx, edi
mov esi, eax
call fcn.0066f789
mov edx, esi
mov ecx, eax
call fcn.00694cf4
jmp 0x69959b
mov ecx, edi
call fcn.00694b37
movzx eax, al
shl eax, 0xc
or dword [esp + 0x60], eax
jmp case.0x695377.123
mov eax, dword [edi]
xor ecx, ecx
and eax, 0xff000fff
cmp eax, 0x289
mov eax, 0x1000
cmove ecx, eax
or dword [esp + 0xc], ecx
movzx eax, byte [edi + 3]
movzx ecx, byte [ebx + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x715d18]
or eax, dword [esp + 0xc]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x34]
xor eax, eax
mov edx, dword [ecx]
mov ecx, dword [ecx + 0xc]
and edx, 7
shl edx, 9
add edx, esi
mov dword [esp + 0x14], ecx
mov esi, dword [esp + 0x34]
or eax, dword [esi + 8]
mov dword [esp + 0x10], eax
xor eax, eax
lea ecx, [eax + 1]
mov dword [esp + 0x24], ecx
mov byte [esp + 0x18], cl
cmp edx, 0x649
jne 0x699777
mov eax, dword [ebx + 4]
shl eax, 7
add eax, dword [edi + 4]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 4]
jmp 0x69af61
cmp edx, 0x689
jmp 0x69958c
mov eax, dword [edi]
mov ecx, 0xff000fff
and eax, ecx
xor edx, edx
cmp eax, 0x8000039
mov eax, 0x8000000
cmove edx, eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
and eax, ecx
xor ecx, ecx
cmp eax, 0x8000039
mov eax, 0x8000000
cmove ecx, eax
or edx, ecx
or edx, dword [esp + 0xc]
mov dword [esp + 0x60], edx
cmp esi, 0x49
jne 0x6997d2
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 4]
shl eax, 7
add eax, dword [edi + 4]
jmp 0x69af56
cmp esi, 0x51
jne case.default.0x695377
mov ecx, dword [esp + 0x1c]
call fcn.0066f789
mov ecx, edi
mov esi, eax
call fcn.0066f789
mov edx, esi
mov ecx, eax
call fcn.00694cf4
jmp 0x69905b
cmp esi, 0x11
jne case.0x695377.129
mov ecx, edx
call fcn.00694da7
push eax
lea ecx, [esp + 0x64]
call fcn.00694c69
jmp 0x69935d
cmp esi, 0x51
jne case.default.0x695377
mov ecx, dword [esp + 0x1c]
call fcn.00694a40
mov ecx, edi
mov esi, eax
call fcn.00694a40
or esi, eax
mov ecx, esi
call fcn.00694d0b
mov ecx, ebx
mov dword [esp + 0x28], eax
call fcn.00694cfb
lea edx, [esp + 0x28]
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x40]
call fcn.0069b67c
push eax
lea ecx, [esp + 0x64]
call fcn.006702b8
jmp 0x6997db
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx]
and eax, 7
shl eax, 9
add eax, esi
mov dword [esp + 0x28], eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov dword [esp + 0x10], eax
xor eax, eax
inc eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x24], eax
mov byte [esp + 0x18], al
mov eax, dword [esp + 0x28]
cmp eax, 0x649
je 0x69af3b
cmp eax, 0x651
jmp 0x6997d5
cmp esi, 9
jne 0x699940
mov ecx, edi
call fcn.00694a45
test al, al
je 0x6998ec
mov ecx, dword [esp + 0x30]
call fcn.00694da7
push eax
lea ecx, [esp + 0x64]
call fcn.00694c69
mov ecx, edi
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b70a
jmp 0x6990e7
mov ecx, ebx
call fcn.00694a45
test al, al
je 0x69990d
mov ecx, ebx
call fcn.00694a40
push eax
lea ecx, [esp + 0x64]
call fcn.0069b70a
jmp 0x69930b
push 0x10000000
lea ecx, [esp + 0x64]
call fcn.00694c93
test eax, eax
je 0x699973
push 0xff9fe000
lea ecx, [esp + 0x64]
call fcn.00694c85
push 0x40017e
lea ecx, [esp + 0x64]
call fcn.006702b8
jmp 0x69930b
cmp esi, 0x11
jne 0x699977
push 0x10000000
lea ecx, [esp + 0x64]
call fcn.00694c93
test eax, eax
je 0x699054
push 0xff9fe000
lea ecx, [esp + 0x64]
call fcn.00694c85
push 0x40017e
jmp 0x699388
mov edx, dword [esp + 0x30]
mov ecx, edx
call fcn.00694da7
push eax
lea ecx, [esp + 0x64]
call fcn.00694c69
cmp esi, 0xa
jne case.default.0x695377
push 0x10000000
lea ecx, [esp + 0x64]
call fcn.00694c93
test eax, eax
je 0x699a1e
push 0xff9fe000
lea ecx, [esp + 0x64]
call fcn.00694c85
push 0x2001d6
jmp 0x699129
mov ecx, ebx
call fcn.00694a40
mov ecx, edi
mov esi, eax
call fcn.00694a40
or esi, eax
mov ecx, esi
call fcn.00694d0b
push eax
lea ecx, [esp + 0x64]
call fcn.006702b8
mov esi, dword [esp + 0x6c]
cmp esi, 9
je 0x69930b
cmp esi, 0x11
je 0x699054
push 0x60000000
lea ecx, [esp + 0x64]
call fcn.00694c85
mov ecx, dword [esp + 0x30]
call fcn.00694da7
push eax
lea ecx, [esp + 0x64]
call fcn.006702b8
cmp esi, 0xa
jne case.default.0x695377
mov ecx, ebx
call fcn.0066f789
mov esi, edi
mov dword [esp + 0x64], eax
mov dword [esp + 0xc], esi
mov ecx, dword [esi]
mov eax, ecx
and al, 7
cmp al, 2
jne 0x69af23
mov eax, ecx
shr ecx, 0x12
shr eax, 3
and ecx, 7
and eax, 0x3ff
push ecx
lea ecx, [esp + 0x6c]
movzx edi, byte [eax + 0x715910]
mov dword [esp + 0x2c], edi
call fcn.00694e33
mov ebx, dword [esp + 0x2c]
lea ecx, [esp + 0x68]
mov eax, dword [esp + 0x68]
mov dword [esp + 0x40], eax
test dword [ebx + 0x28], edi
setne al
movzx eax, al
push eax
push 0x67
call fcn.0069b68a
mov edi, dword [esi]
mov eax, edi
and eax, 0xf8
cmp eax, 8
jbe 0x69a203
mov eax, dword [esi + 4]
jmp 0x69a205
cmp esi, 0x49
jne 0x699af0
mov ecx, dword [esp + 0x1c]
call fcn.0066f789
mov ecx, edi
mov esi, eax
call fcn.0066f789
mov edx, esi
mov ecx, eax
call fcn.00694cf4
mov ecx, ebx
mov dword [esp + 0x64], eax
call fcn.0066f789
mov ecx, dword [esp + 0x58]
mov edx, pe_nt_image_headers32
mov dword [esp + 0x54], eax
call fcn.0069b684
test al, al
je case.0x695377.93
lea ecx, [esp + 0x60]
call fcn.00694c3b
jmp 0x699692
cmp esi, 0x51
je 0x6997db
cmp esi, 0x89
jne case.default.0x695377
lea ecx, [esp + 0x60]
call fcn.00694c3b
jmp 0x6996c0
mov ecx, ebx
call fcn.00694a40
mov ecx, edi
mov esi, eax
call fcn.00694a40
or esi, eax
mov ecx, esi
call fcn.00694d0b
push eax
lea ecx, [esp + 0x64]
call fcn.006702b8
mov esi, dword [esp + 0x6c]
cmp esi, 0x49
je 0x699692
cmp esi, 0x89
je 0x6996c0
push 0x60000000
lea ecx, [esp + 0x64]
call fcn.00694c85
mov ecx, dword [esp + 0x30]
call fcn.00694da7
push eax
lea ecx, [esp + 0x64]
call fcn.006702b8
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov dword [esp + 0x10], eax
xor eax, eax
inc eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x24], eax
mov byte [esp + 0x18], al
cmp esi, 0xc9
jne 0x6994ef
jmp 0x69930b
cmp esi, 0x49
je 0x699aa2
cmp esi, 0x51
je 0x6997db
cmp esi, 0x89
je 0x699b05
mov ecx, edx
call fcn.00694da7
push eax
lea ecx, [esp + 0x64]
call fcn.00694c69
jmp 0x699b70
cmp esi, 0x49
je 0x699692
cmp esi, 0x89
je 0x6996c0
mov ecx, edx
call fcn.00694da7
push eax
lea ecx, [esp + 0x64]
call fcn.00694c69
jmp 0x6990de
mov ecx, ebx
call fcn.00694a40
mov ecx, edi
mov esi, eax
call fcn.00694a40
or esi, eax
mov ecx, esi
call fcn.00694d0b
push eax
lea ecx, [esp + 0x64]
call fcn.006702b8
mov esi, dword [esp + 0x6c]
cmp esi, 0x49
je 0x699692
cmp esi, 0x89
je 0x6996c0
push 0x60000000
lea ecx, [esp + 0x64]
call fcn.00694c85
mov ecx, dword [esp + 0x30]
call fcn.00694da7
push eax
lea ecx, [esp + 0x64]
call fcn.006702b8
cmp esi, 0x4a
jne case.default.0x695377
mov ecx, ebx
call fcn.0066f789
mov ecx, dword [esp + 0x1c]
jmp 0x6991b9
mov ecx, ebx
call fcn.0066f76a
movzx eax, al
lea ecx, [esp + 0x60]
push eax
call fcn.0069b7c5
movzx eax, byte [edi + 3]
movzx ecx, byte [ebx + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x715d18]
or dword [esp + 0x60], eax
cmp esi, 0x49
je 0x69975e
cmp esi, 0x89
je 0x6996c0
push 0x60001000
lea ecx, [esp + 0x64]
call fcn.00694c85
mov ecx, dword [esp + 0x30]
call fcn.00694da7
push eax
lea ecx, [esp + 0x64]
call fcn.006702b8
lea ecx, [esp + 0x60]
call fcn.00694be6
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x64], eax
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov dword [esp + 0x10], eax
xor eax, eax
inc eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x24], eax
mov byte [esp + 0x18], al
cmp esi, 0xc9
jne 0x699d22
mov ecx, edi
call fcn.0066f789
mov ecx, dword [esp + 0x64]
mov edx, eax
jmp 0x69af51
cmp esi, 0xd1
jne case.default.0x695377
mov ecx, edi
call fcn.0066f789
mov ecx, dword [esp + 0x64]
mov edx, eax
jmp 0x6997f1
mov ecx, ebx
call fcn.0066fca8
mov ecx, edi
mov bl, al
call fcn.0066fca8
movzx eax, al
movzx ecx, bl
or ecx, eax
push ecx
lea ecx, [esp + 0x64]
call fcn.0069b7b4
mov ebx, dword [esp + 0x50]
cmp esi, 9
je 0x699d10
cmp esi, 0x11
jmp 0x699d28
cmp esi, 0xd1
jne case.0x695377.147
lea ecx, [esp + 0x60]
call fcn.00694c44
movzx eax, byte [edi + 3]
movzx ecx, byte [ebx + 3]
or ecx, eax
shr ecx, 4
mov eax, dword [ecx*4 + 0x715d18]
or dword [esp + 0x60], eax
mov edx, dword [esp + 0x1c]
xor eax, eax
or eax, dword [edx + 8]
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x14], ecx
inc eax
jmp 0x699df4
mov ecx, edi
call fcn.0066fca8
test al, al
jne 0x699dcd
mov ecx, ebx
call fcn.00694a40
cmp eax, 8
je 0x699dcd
xor al, al
jmp 0x699dd0
xor eax, eax
inc eax
push eax
lea ecx, [esp + 0x64]
call fcn.0069b77f
mov ecx, dword [esp + 0x1c]
call fcn.0066f700
mov ecx, eax
call fcn.0066f830
mov dword [esp + 0x10], eax
mov al, 4
mov dword [esp + 0x14], edx
mov byte [esp + 0x18], al
mov dword [esp + 0x24], eax
cmp esi, 0xc9
jne 0x699d22
mov eax, dword [edi + 4]
shl eax, 7
add dword [esp + 0x64], eax
jmp 0x69933b
mov ecx, ebx
call fcn.00694a40
mov ecx, edi
mov esi, eax
call fcn.00694a40
or esi, eax
mov ecx, esi
call fcn.00694d0b
push eax
lea ecx, [esp + 0x64]
call fcn.006702b8
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
and eax, 7
shl eax, 9
add eax, dword [esp + 0x6c]
cmp eax, 0x249
jne 0x699e91
mov ecx, ebx
call fcn.0066f789
mov ecx, edi
mov esi, eax
call fcn.0066f789
mov edx, esi
mov ecx, eax
call fcn.00694cf4
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x64], eax
call fcn.0066f789
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x54], eax
call fcn.0066f789
shl eax, 4
and dword [esp + 0x14], 0
jmp 0x69917b
cmp eax, 0x449
jne 0x699eed
lea ecx, [esp + 0x60]
call fcn.00694c3b
mov ecx, ebx
call fcn.0066f789
mov ecx, edi
mov esi, eax
call fcn.0066f789
mov edx, esi
mov ecx, eax
call fcn.00694cf4
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xc], esi
mov dword [esp + 0x64], eax
call fcn.0066f789
and dword [esp + 0x14], 0
shl eax, 4
mov dword [esp + 0x10], eax
xor eax, eax
lea ecx, [eax + 1]
mov dword [esp + 0x24], ecx
mov byte [esp + 0x18], cl
jmp 0x699a2f
cmp eax, 0x289
jne case.default.0x695377
mov ecx, ebx
call fcn.0066f789
mov ecx, edi
mov esi, eax
call fcn.0066f789
mov edx, esi
mov ecx, eax
call fcn.00694cf4
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
jmp 0x699ec2
mov edi, dword [esp + 0x34]
lea ecx, [edi + 0x10]
call fcn.0066f774
test al, al
je case.default.0x695377
mov ecx, edi
call fcn.0066f750
shl eax, 9
mov ecx, edi
add eax, esi
mov dword [esp + 0x28], eax
call fcn.00694a40
mov ecx, dword [esp + 0x1c]
mov esi, eax
call fcn.00694a40
mov edi, eax
mov ecx, ebx
or edi, esi
call fcn.00694a40
mov esi, eax
or esi, edi
mov edi, dword [esp + 0x20]
mov ecx, edi
call fcn.00694a40
or eax, esi
mov ecx, eax
call fcn.00694d0b
push eax
lea ecx, [esp + 0x64]
call fcn.006702b8
mov ecx, dword [esp + 0x34]
lea ecx, [ecx + 0x10]
call fcn.0066f700
mov ecx, eax
call fcn.0067e7e7
and al, 0xf
movzx eax, al
cdq
mov esi, eax
mov dword [esp + 0x14], edx
xor eax, eax
mov dword [esp + 0x10], esi
inc eax
mov dword [esp + 0x24], eax
mov byte [esp + 0x18], al
mov eax, dword [esp + 0x28]
cmp eax, 0x249
jne 0x699ff6
mov ecx, ebx
call fcn.0066f789
mov ecx, edi
mov esi, eax
call fcn.0066f789
mov edx, esi
mov ecx, eax
call fcn.00694cf4
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x64], eax
call fcn.0066f789
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x54], eax
call fcn.0066f789
shl eax, 4
or dword [esp + 0x10], eax
jmp case.0x695377.93
cmp eax, 0x449
jne 0x69a052
lea ecx, [esp + 0x60]
call fcn.00694c3b
mov ecx, ebx
call fcn.0066f789
mov ecx, edi
mov esi, eax
call fcn.0066f789
mov edx, esi
mov ecx, eax
call fcn.00694cf4
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x64], eax
mov dword [esp + 0xc], esi
call fcn.0066f789
shl eax, 4
or dword [esp + 0x10], eax
test esi, esi
jne 0x699a2f
push str.rmRel___nullptr
push 0x1216
jmp 0x69b18d
cmp eax, 0x289
jne case.default.0x695377
mov ecx, ebx
call fcn.0066f789
mov ecx, edi
mov esi, eax
call fcn.0066f789
mov edx, esi
mov ecx, eax
call fcn.00694cf4
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x64], eax
mov dword [esp + 0xc], esi
call fcn.0066f789
shl eax, 4
or dword [esp + 0x10], eax
jmp 0x699a2f
cmp esi, 0x49
je 0x69975e
cmp esi, 0x11
je 0x699054
cmp esi, 0xa
jne case.default.0x695377
mov ecx, edx
call fcn.00694da7
push eax
lea ecx, [esp + 0x64]
call fcn.00694c69
jmp 0x699a1e
mov ecx, ebx
call fcn.00694a40
mov ecx, edi
mov esi, eax
call fcn.00694a40
or esi, eax
mov ecx, esi
call fcn.00694d0b
push eax
lea ecx, [esp + 0x64]
call fcn.006702b8
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
and eax, 7
shl eax, 9
add eax, dword [esp + 0x6c]
cmp eax, 0x249
jne 0x69a180
mov ecx, ebx
call fcn.0066f789
mov ecx, edi
mov esi, eax
call fcn.0066f789
mov edx, esi
mov ecx, eax
call fcn.00694cf4
mov ecx, dword [esp + 0x58]
mov edx, pe_nt_image_headers32
mov dword [esp + 0x64], eax
call fcn.0069b684
test al, al
jne 0x69a14c
lea ecx, [esp + 0x60]
call fcn.00694c3b
mov ecx, dword [esp + 0x34]
call fcn.0066f789
mov ecx, dword [esp + 0x1c]
jmp 0x699e7b
mov ecx, dword [esp + 0x1c]
call fcn.0066f789
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x54], eax
call fcn.0066f789
and dword [esp + 0x14], 0
xor ebx, ebx
shl eax, 4
inc ebx
mov dword [esp + 0x10], eax
mov al, bl
mov dword [esp + 0x24], eax
mov byte [esp + 0x18], al
jmp 0x69af68
cmp eax, 0x449
je 0x699e98
cmp eax, 0x289
jne case.default.0x695377
mov ecx, ebx
call fcn.0066f789
mov ecx, edi
mov esi, eax
call fcn.0066f789
mov edx, esi
mov ecx, eax
call fcn.00694cf4
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x64], eax
mov dword [esp + 0xc], esi
call fcn.0066f789
and dword [esp + 0x14], 0
shl eax, 4
mov dword [esp + 0x10], eax
xor eax, eax
inc eax
mov dword [esp + 0x24], eax
mov byte [esp + 0x18], al
jmp 0x699a2f
xor ebx, ebx
inc ebx
cmp esi, ebx
jne case.default.0x695377
mov ecx, edi
call fcn.0066f789
mov dword [esp + 0x64], eax
jmp 0x69af68
cmp esi, 0x11
jmp 0x6994f5
xor eax, eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x54], eax
mov eax, edi
and eax, 0x1f00
cmp eax, 0x100
jbe 0x69a220
mov ecx, dword [esi + 8]
jmp 0x69a222
xor ecx, ecx
mov edx, dword [esp + 0x64]
and edi, 0xe00000
neg edi
mov dword [esp + 0x6c], ecx
mov eax, ecx
sbb edi, edi
and eax, 0x10
and edi, 0x10
and ecx, 8
or edi, dword [ebx + 0x4c]
mov ebx, dword [esp + 0x58]
add edi, edi
or edi, eax
mov eax, edx
shl edi, 0xb
and eax, 0xf98
or edi, eax
and edx, 7
mov eax, dword [esp + 0x70]
add edi, edi
or edi, ecx
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x38]
add edi, edi
and eax, 8
mov ecx, ebx
or edi, eax
mov eax, 0x1000
and ecx, eax
shl edi, 2
mov eax, dword [esp + 0x60]
or ecx, eax
mov edx, dword [edx]
shr ecx, 8
and ecx, 0x60001f
or edi, ecx
mov ecx, edx
not ecx
and ecx, 0xffc00000
shl ecx, 9
or edi, ecx
test ebx, 0x8c0000
je 0x69a2ba
test ebx, 0xc0000
jne 0x69b009
and ebx, 0x800000
or edi, ebx
xor ebx, ebx
shr edx, 0x18
inc ebx
test bl, dl
je 0x69a2f1
test edi, 0x80df8110
jne 0x69a2fd
mov edx, 0x400
mov ecx, 0x800
call fcn.00694aa4
mov ecx, dword [esp + 0x58]
mov edx, eax
call fcn.0069b684
test al, al
mov eax, dword [esp + 0x60]
jne 0x69a2f1
or edi, 0x10
test edi, 0x80df8110
je 0x69a446
mov ebx, edi
mov ecx, eax
and ebx, 0x8000
shr ecx, 1
shl ebx, 4
and ecx, 0x8300000
or ebx, edi
and eax, 0x8000000
and ebx, 0xffff78ef
and edi, 0x100
shl ebx, 4
or ecx, eax
or ebx, edi
shr ecx, 4
shl ebx, 4
or ebx, ecx
xor ebx, 0x87cf062
mov dword [esp + 0x48], ebx
test ebx, 0x10000000
je 0x69a3eb
mov ecx, dword [esp + 0x38]
call fcn.00694c23
mov ecx, esi
mov edi, eax
call fcn.0066f700
mov ecx, eax
call fcn.00694bf7
mov edx, edi
mov ecx, eax
shl edx, cl
test edi, edi
je 0x69a3e4
mov eax, ebx
mov ecx, edx
push 4
and eax, 0x60000000
pop ebx
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], ebx
call fcn.006798f0
lea edx, [esp + 0x70]
mov dword [esp + 0x30], eax
lea ecx, [esp + 0x30]
call fcn.0069b67c
sub eax, ebx
shl eax, 0x1d
mov dword [esp + 0x78], eax
cmp eax, 0x40000000
ja 0x69a3e4
lea edx, [esp + 0x78]
lea ecx, [esp + 0x74]
call fcn.0069b67c
mov ebx, dword [esp + 0x48]
lea ecx, [esp + 0x60]
and ebx, 0x9fffffff
push 0xffff1fff
or ebx, eax
call fcn.00694c85
mov ecx, edi
call fcn.006798f0
shl eax, 0xd
lea ecx, [esp + 0x60]
push eax
call fcn.006702b8
jmp 0x69a429
push 0x29
jmp 0x696c66
push 0x19
lea ecx, [esp + 0x64]
call fcn.00694ca7
mov esi, eax
lea ecx, [esp + 0x60]
push 0xd
and esi, 4
call fcn.00694ca7
mov ecx, ebx
and eax, 0x18
shr ecx, 0x1d
add eax, esi
and ecx, 3
add ecx, eax
push dword [ecx*4 + 0x7157e0]
lea ecx, [esp + 0x64]
call fcn.00694c2d
mov esi, dword [esp + 0xc]
push ebx
lea ecx, [esp + 0x6c]
call fcn.0067992f
mov ecx, dword [esp + 0x68]
mov al, byte [esp + 0x60]
mov byte [ecx], al
inc dword [esp + 0x68]
jmp 0x69a4f3
mov edx, eax
mov ecx, eax
shr edx, 1
and ecx, 0x8000000
and edx, 0x300000
and eax, 0xffff1fff
or edx, ecx
mov dword [esp + 0x60], eax
shr edx, 1
mov ecx, edi
and ecx, 0x200000
or edx, ecx
mov ecx, dword [esp + 0x58]
and ecx, 0xfffffc00
shr edx, 0xb
shl ecx, 0x15
or edx, ecx
or edi, edx
test edi, 0x8000807e
je 0x69a4b6
push 0x18
lea ecx, [esp + 0x64]
call fcn.00694c9f
mov ecx, edi
and ecx, 0xf
or eax, dword [ecx*4 + 0x7158b0]
movzx ecx, di
shl ecx, 8
xor ecx, eax
push ecx
lea ecx, [esp + 0x6c]
call fcn.0067992f
jmp 0x69a4f3
mov eax, edi
and al, 0x1f
cmp al, bl
jne 0x69af14
push 0xc5
lea ecx, [esp + 0x6c]
call fcn.0069b6b9
mov eax, edi
lea ecx, [esp + 0x68]
xor eax, 0xf900
shr eax, 8
xor eax, edi
push eax
call fcn.0069b6b9
push dword [esp + 0x60]
lea ecx, [esp + 0x6c]
call fcn.0069b6b9
mov eax, dword [esp + 0x38]
xor ecx, ecx
mov ebx, dword [esp + 0x28]
inc ecx
mov eax, dword [eax]
shr eax, 0x14
test cl, al
jne 0x69ab66
mov edi, dword [esp + 0x2c]
test bl, 0x42
jne 0x69aa68
test cl, bl
je 0x69a683
and dword [esp + 0x54], 7
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f823
push dword [esp + 0x54]
mov edx, dword [esp + 0x68]
xor ecx, ecx
mov edi, eax
call fcn.00694d16
pop ecx
mov ecx, dword [esp + 0x38]
mov esi, eax
call fcn.00694c1b
cmp dword [esp + 0x54], 4
je 0x69a5ae
test al, al
jne 0x69a5ae
cmp dword [esp + 0x54], 5
je 0x69a569
test edi, edi
jne 0x69a569
push esi
jmp 0x69a5dc
push 0xe000
lea ecx, [esp + 0x64]
call fcn.00694c93
shr eax, 0xd
mov ebx, edi
mov ecx, eax
mov dword [esp + 0x48], eax
sar ebx, cl
mov ecx, ebx
call fcn.0069b7d7
test al, al
je 0x69a5a3
mov ecx, dword [esp + 0x48]
mov eax, ebx
shl eax, cl
cmp edi, eax
jne 0x69a5a3
lea eax, [esi + 0x40]
jmp 0x69a638
lea eax, [esi + 0x80]
jmp 0x69a673
and esi, 0xf8
or esi, 4
cmp dword [esp + 0x54], 5
je 0x69a5ea
test edi, edi
jne 0x69a5ea
push esi
lea ecx, [esp + 0x6c]
call fcn.0069b6b9
push dword [esp + 0x54]
xor ecx, ecx
push 4
pop edx
call fcn.00694d51
pop ecx
push eax
lea ecx, [esp + 0x6c]
call fcn.0069b6b9
jmp 0x695424
push 0xe000
lea ecx, [esp + 0x64]
call fcn.00694c93
shr eax, 0xd
mov ebx, edi
mov ecx, eax
mov dword [esp + 0x48], eax
sar ebx, cl
mov ecx, ebx
call fcn.0069b7d7
test al, al
je 0x69a654
mov ecx, dword [esp + 0x48]
mov eax, ebx
shl eax, cl
cmp edi, eax
jne 0x69a654
lea eax, [esi + 0x40]
push eax
lea ecx, [esp + 0x6c]
call fcn.0069b6b9
push dword [esp + 0x54]
xor ecx, ecx
push 4
pop edx
call fcn.00694d51
pop ecx
push eax
lea ecx, [esp + 0x6c]
call fcn.0069b6b9
movzx eax, bl
lea ecx, [esp + 0x68]
push eax
call fcn.0069b6b9
jmp 0x695424
lea eax, [esi + 0x80]
push eax
lea ecx, [esp + 0x6c]
call fcn.0069b6b9
push dword [esp + 0x54]
xor ecx, ecx
push 4
pop edx
call fcn.00694d51
pop ecx
push eax
lea ecx, [esp + 0x6c]
call fcn.0069b6b9
push edi
jmp 0x69a895
test bl, 0x30
jne 0x69a9c4
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.00694bc3
mov ebx, eax
mov ecx, esi
mov dword [esp + 0x48], ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066f823
mov ecx, edi
mov dword [esp + 0x28], eax
call fcn.00694ab3
test al, al
je 0x69a6d8
cmp ebx, 2
je 0x69762f
mov edx, dword [esp + 0x64]
xor ecx, ecx
push 5
call fcn.00694d16
jmp 0x69a9b0
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f789
mov ebx, dword [esp + 0x28]
mov ecx, esi
sar ebx, 0x1f
mov dword [esp + 0x6c], eax
mov dword [esp + 0x78], ebx
call fcn.0066f700
mov ecx, eax
call fcn.0066f789
mov ecx, edi
mov dword [esp + 0x38], eax
call fcn.006881c0
mov ecx, eax
call fcn.0066f8f7
mov ecx, eax
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x48]
mov dword [esp + 0x70], ecx
test eax, eax
jne 0x69a7e1
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x69a7a6
cmp dword [esp + 0x6c], ebx
je 0x69a98c
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x69a7ea
mov ebx, dword [esp + 0x40]
mov al, byte [ebx]
cmp al, 0x67
je 0x69a98c
cmp dword [esp + 0x4c], 0x193
jne 0x69a980
movzx eax, al
test al, 0x40
je 0x69a98c
and eax, 0xf7
mov byte [ebx], al
cmp eax, 0x40
jne 0x69a98c
mov ecx, dword [esp + 0x58]
mov edx, 0x40000000
call fcn.0069b684
test al, al
jne 0x69a98c
push ebx
lea ecx, [esp + 0x6c]
call fcn.00694ad1
jmp 0x69a98c
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.00694be6
cmp dword [esp + 0x4c], 0x193
mov ecx, eax
jne 0x69a7d2
cmp dword [esp + 0x6c], ebx
je 0x69a7cd
cmp dword [esp + 0x38], 0
jne 0x69a7d2
xor eax, eax
inc eax
jmp 0x69a7d4
xor al, al
cmp ecx, 5
jae 0x69a8bd
test al, al
jmp 0x69a7e4
cmp eax, 2
jne 0x69a8bd
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x68]
push dword [edi + 0x6c]
movzx esi, dl
mov dword [esp + 0x78], esi
call fcn.0066f9a2
mov ecx, dword [esp + 0x70]
mov ebx, eax
mov eax, esi
cdq
add ebx, eax
push 0
pop eax
adc eax, edx
and ecx, dword [esp + 0x30]
mov dword [esp + 0x48], eax
cmp ecx, 0xffffffff
je 0x69a8da
mov ecx, dword [edi + 0x68]
call fcn.0066f867
test eax, eax
jne 0x69a8da
mov ecx, dword [edi + 0x68]
call fcn.0068174d
mov esi, eax
mov edi, edx
add esi, ebx
mov ebx, dword [esp + 0xc]
mov ecx, ebx
adc edi, dword [esp + 0x48]
add esi, dword [esp + 0x70]
adc edi, dword [esp + 0x30]
add esi, 5
adc edi, 0
call fcn.0066f700
mov ecx, eax
call fcn.0066f80c
sub eax, esi
mov dword [esp + 0x48], eax
sbb edx, edi
push edx
push eax
call fcn.0067971d
pop ecx
pop ecx
test al, al
je 0x69a8a3
mov edx, dword [esp + 0x64]
xor ecx, ecx
push 5
call fcn.00694d16
pop ecx
push eax
lea ecx, [esp + 0x6c]
call fcn.0069b6b9
push dword [esp + 0x48]
lea ecx, [esp + 0x6c]
call fcn.0067992f
jmp 0x695424
mov ecx, ebx
call fcn.0066f700
mov ecx, eax
call fcn.00694bcc
test al, al
jne 0x69762f
mov ebx, dword [esp + 0x78]
cmp dword [esp + 0x6c], ebx
je 0x69a98c
mov eax, dword [esp + 0x38]
test eax, eax
je 0x69a74a
push 0x2e
jmp 0x696c66
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x5c]
push 4
push eax
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_
test eax, eax
jne 0x6955c9
mov edx, dword [esp + 0x64]
xor ecx, ecx
push 5
call fcn.00694d16
pop ecx
push eax
lea ecx, [esp + 0x6c]
call fcn.0069b6b9
mov ecx, dword [edi + 0x68]
call fcn.0066f867
mov ecx, dword [esp + 0x5c]
mov dword [ecx + 0x10], eax
mov ecx, edi
call fcn.0066f929
mov ecx, dword [esp + 0x5c]
xor ebx, ebx
push 4
push ebx
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], ebx
mov ecx, dword [esp + 0x64]
lea ecx, [ecx + 8]
call fcn.0067ef75
push dword [edi + 0x74]
mov esi, dword [esp + 0x60]
lea ecx, [esp + 0x6c]
call fcn.0066f9a2
push dword [esp + 0x74]
lea ecx, [esi + 8]
push eax
call fcn.00694a87
mov ecx, dword [esp + 0xc]
call fcn.0066f700
mov ecx, eax
call fcn.0066f80c
mov ecx, dword [esp + 0x5c]
push ebx
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
lea ecx, [esp + 0x6c]
call fcn.0069b7e6
jmp 0x69833c
push 0x67
push ebx
lea ecx, [esp + 0x70]
call fcn.0069b7f1
mov edx, dword [esp + 0x64]
xor ecx, ecx
push 4
call fcn.00694d16
pop ecx
push eax
lea ecx, [esp + 0x6c]
call fcn.0069b6b9
push 5
push 4
pop edx
xor ecx, ecx
call fcn.00694d51
pop ecx
push eax
lea ecx, [esp + 0x6c]
call fcn.0069b6b9
push dword [esp + 0x28]
jmp 0x69a895
mov edx, dword [esp + 0x64]
xor ecx, ecx
push 5
call fcn.00694d16
pop ecx
push eax
lea ecx, [esp + 0x6c]
call fcn.0069b6b9
mov ecx, edi
call fcn.00694ab3
test al, al
jne 0x69acfa
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f823
mov dword [esp + 0x48], eax
test bl, 0x10
je 0x69aa62
mov ecx, dword [esp + 0xc]
mov esi, dword [edi + 0x2c]
call fcn.0066f700
mov ecx, eax
call fcn.0066f789
push eax
mov ecx, esi
call fcn.0066f8fe
mov esi, eax
test esi, esi
je 0x69ad41
mov ebx, dword [esp + 0x24]
push 0xfffffffffffffffc
movzx eax, bl
mov ebx, dword [esp + 0x4c]
pop ecx
push dword [edi + 0x68]
sub ecx, eax
add ebx, ecx
mov ecx, esi
call fcn.0066f8e0
test al, al
je 0x69adf1
push dword [edi + 0x6c]
lea ecx, [esp + 0x6c]
call fcn.0066f9a2
mov ecx, esi
sub ebx, eax
call fcn.0066f8f0
add eax, ebx
push eax
jmp 0x69a895
test bl, 0x40
jne 0x69aa81
mov edi, dword [esp + 0x6c]
cmp edi, 4
jne 0x69ab73
push 0x2c
jmp 0x696c66
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f823
mov edx, ebx
movsx ecx, ax
mov dword [esp + 0x38], ecx
and edx, 3
je 0x69ab3a
mov eax, dword [esp + 0x54]
mov edi, dword [esp + 0x6c]
and eax, 7
and edi, 7
mov dword [esp + 0x54], eax
cmp edx, 3
jne 0x69aadf
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.00694bef
test eax, eax
jne 0x69762f
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x38]
mov al, byte [edi + eax*8 + 0x715d58]
jmp 0x69aaf0
test bl, 2
je 0x69aaea
mov dword [esp + 0x54], edi
mov eax, edi
mov al, byte [eax + 0x715860]
movzx edx, al
cmp edx, 0xff
je 0x69762f
mov eax, dword [esp + 0x64]
lea esi, [edx + eax*8]
test ecx, ecx
jne 0x69ab13
cmp esi, 6
jne 0x69a566
call fcn.0069b7d7
lea ecx, [esp + 0x68]
test al, al
je 0x69ab32
lea eax, [esi + 0x40]
push eax
call fcn.0069b6b9
push dword [esp + 0x38]
jmp 0x69a5dc
lea eax, [esi + 0x80]
jmp 0x69ab4e
test bl, 0x30
jne 0x69762f
mov eax, dword [esp + 0x64]
lea ecx, [esp + 0x68]
or eax, 6
push eax
call fcn.0069b6b9
push dword [esp + 0x38]
lea ecx, [esp + 0x6c]
call fcn.0069b80e
jmp 0x695424
test bl, 2
je case.default.0x695377
mov edi, dword [esp + 0x6c]
and edi, 7
mov dword [esp + 0x6c], edi
test cl, bl
je 0x69ac55
and dword [esp + 0x54], 7
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f823
mov edx, dword [esp + 0x64]
xor ecx, ecx
push 4
mov ebx, eax
call fcn.00694d16
mov esi, dword [esp + 0x58]
pop ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x6c], eax
call fcn.0066f700
mov ecx, eax
call fcn.00694bef
push esi
mov edx, edi
mov ecx, eax
call fcn.00694d51
mov esi, eax
mov dword [esp + 0x2c], esi
pop ecx
test ebx, ebx
jne 0x69abec
cmp dword [esp + 0x54], 5
je 0x69abec
mov eax, dword [esp + 0x6c]
push eax
lea ecx, [esp + 0x6c]
call fcn.0069b6b9
jmp 0x69a566
push 0xe000
lea ecx, [esp + 0x64]
call fcn.00694c93
mov edi, eax
mov esi, ebx
shr edi, 0xd
mov ecx, edi
sar esi, cl
mov ecx, esi
call fcn.0069b7d7
test al, al
je 0x69ac31
mov eax, esi
mov ecx, edi
shl eax, cl
cmp ebx, eax
jne 0x69ac31
mov eax, dword [esp + 0x6c]
lea ecx, [esp + 0x68]
add eax, 0x40
push eax
call fcn.0069b6b9
push dword [esp + 0x28]
jmp 0x69abde
mov eax, dword [esp + 0x6c]
lea ecx, [esp + 0x68]
sub eax, 0xffffff80
push eax
call fcn.0069b6b9
push dword [esp + 0x28]
lea ecx, [esp + 0x6c]
call fcn.0069b6b9
push ebx
jmp 0x69a895
test bl, 0x30
jne 0x69aca9
mov edx, dword [esp + 0x64]
xor ecx, ecx
push 4
call fcn.00694d16
pop ecx
push eax
lea ecx, [esp + 0x6c]
call fcn.0069b6b9
push 5
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.00694bef
mov edx, edi
mov ecx, eax
call fcn.00694d51
pop ecx
push eax
lea ecx, [esp + 0x6c]
call fcn.0069b6b9
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.0066f823
jmp 0x69aa62
mov edi, dword [esp + 0x2c]
mov ecx, edi
call fcn.00694ab3
test al, al
je 0x69762f
mov edx, dword [esp + 0x64]
xor ecx, ecx
push 4
call fcn.00694d16
pop ecx
push eax
lea ecx, [esp + 0x6c]
call fcn.0069b6b9
push 5
mov ecx, esi
call fcn.0066f700
mov ecx, eax
call fcn.00694bef
mov edx, dword [esp + 0x70]
mov ecx, eax
call fcn.00694d51
pop ecx
push eax
lea ecx, [esp + 0x6c]
call fcn.0069b6b9
mov esi, dword [edi + 0x2c]
mov ecx, esi
call fcn.00681754
xor ecx, ecx
inc ecx
push ecx
push eax
lea ecx, [esi + 0xa8]
call fcn.006830d3
test eax, eax
jne 0x69af0c
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x28], ecx
mov ecx, dword [edi + 0x2c]
test bl, 0x10
je 0x69ae6a
push dword [eax + 4]
call fcn.0066f8fe
mov esi, eax
test esi, esi
jne 0x69ad48
push 0xc
jmp 0x6955c8
mov ecx, dword [edi + 0x2c]
lea eax, [esp + 0x5c]
push 3
push eax
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_
test eax, eax
jne 0x6955c9
mov eax, dword [edi + 0x68]
push 4
mov ecx, dword [eax]
mov eax, dword [esp + 0x60]
mov dword [eax + 0x10], ecx
mov eax, dword [esp + 0x60]
mov ecx, dword [edi + 0x74]
sub ecx, dword [edi + 0x6c]
mov dword [eax + 0x18], ecx
and dword [eax + 0x1c], 0
xor eax, eax
mov ecx, dword [esp + 0x60]
inc eax
push eax
lea ecx, [ecx + 8]
call fcn.0067ef75
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x5c]
cmp ecx, dword [edi + 0x74]
jb 0x69ae59
sub cl, byte [edi + 0x74]
mov dl, byte [eax + 0xb]
mov ebx, dword [esp + 0x24]
add dl, cl
mov byte [eax + 0xc], cl
add dl, bl
mov byte [eax + 0xa], dl
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x28]
cdq
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
cmp dword [esi + 0x20], 0
je 0x69ade9
mov ecx, dword [esp + 0x5c]
mov eax, dword [esi + 0x18]
add dword [ecx + 0x20], eax
mov eax, dword [esi + 0x1c]
adc dword [ecx + 0x24], eax
mov eax, dword [esi + 0x20]
mov ecx, dword [eax]
mov eax, dword [esp + 0x5c]
mov dword [eax + 0x14], ecx
jmp 0x69aefc
movzx eax, bl
push 0xfffffffffffffffc
pop ebx
sub ebx, eax
mov cl, 4
mov byte [esp + 0x3f], cl
mov eax, dword [esp + 0x68]
cmp eax, dword [edi + 0x6c]
jb 0x69ae59
sub eax, dword [edi + 0x6c]
mov dword [esp + 0x48], eax
movzx eax, cl
lea ecx, [esp + 0x78]
push eax
push 0
mov dword [esp + 0x7c], eax
call fcn.0067ef75
mov eax, dword [edi + 0x68]
lea ecx, [esp + 0x78]
push ecx
mov ecx, dword [edi + 0x2c]
push ebx
push dword [esp + 0x50]
push dword [eax]
push esi
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
je 0x69af0c
mov ecx, dword [esp + 0x5c]
test ecx, ecx
je 0x69ae47
mov ecx, dword [ecx]
mov dword [eax + 8], ecx
push dword [esp + 0x74]
lea ecx, [esp + 0x6c]
call fcn.0066f9c5
jmp 0x69833c
push str._cursor___from
push 0x2e
push str.C:UsersUserDesktopTrainer2AsmJitcorecodewriter_p.h
jmp 0x69b192
push 3
lea eax, [esp + 0x60]
push eax
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_
test eax, eax
jne 0x6955c9
mov eax, dword [edi + 0x68]
push 4
mov ecx, dword [eax]
mov eax, dword [esp + 0x60]
mov dword [eax + 0x10], ecx
mov eax, dword [edi + 0x68]
mov ecx, dword [eax]
mov eax, dword [esp + 0x60]
mov dword [eax + 0x14], ecx
xor eax, eax
mov ecx, dword [esp + 0x60]
inc eax
push eax
lea ecx, [ecx + 8]
call fcn.0067ef75
mov eax, dword [esp + 0x68]
mov esi, dword [esp + 0x5c]
cmp eax, dword [edi + 0x74]
jb 0x69ae59
sub al, byte [edi + 0x74]
mov cl, byte [esi + 0xb]
mov edx, dword [esp + 0x24]
add cl, al
mov byte [esi + 0xc], al
add cl, dl
mov byte [esi + 0xa], cl
mov ecx, dword [edi + 0x74]
sub ecx, dword [edi + 0x6c]
mov eax, dword [esp + 0x5c]
mov dword [eax + 0x18], ecx
and dword [eax + 0x1c], 0
mov edi, dword [esp + 0x5c]
movzx eax, byte [edi + 0xa]
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [edi + 0x18]
mov eax, dword [esp + 0x28]
adc esi, dword [edi + 0x1c]
cdq
add ecx, eax
mov dword [edi + 0x20], ecx
adc esi, edx
mov dword [edi + 0x24], esi
push 0
lea ecx, [esp + 0x6c]
call fcn.0069b7e6
jmp 0x695424
xor eax, eax
inc eax
jmp 0x6955c9
push str._x__0x1F___0x01
push 0x1296
jmp 0x69b18d
push str.rmRel__opType____OperandType::kMem
push 0x1217
jmp 0x69b18d
cmp esi, 0x49
jne case.default.0x695377
mov ecx, dword [esp + 0x1c]
call fcn.0066f789
mov ecx, edi
mov esi, eax
call fcn.0066f789
mov ecx, eax
mov edx, esi
call fcn.00694cf4
mov ecx, ebx
mov dword [esp + 0x64], eax
call fcn.0066f789
mov dword [esp + 0x54], eax
xor ebx, ebx
inc ebx
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x58]
and eax, 0xf98
and dword [esp + 0x64], 7
mov esi, dword [edi + 0x4c]
shl esi, 0xc
or esi, eax
mov eax, dword [esp + 0x54]
and eax, 0x18
shl esi, 2
or esi, eax
mov eax, ecx
and eax, 0x1000
shl esi, 2
or eax, dword [esp + 0x60]
shr eax, 8
and eax, 0x60001f
or esi, eax
test ecx, 0x8c0000
je 0x69b01c
mov eax, ecx
and eax, 0x800000
or esi, eax
test ecx, 0xc0000
je 0x69b01c
mov eax, esi
and eax, 0x600000
cmp eax, 0x400000
mov eax, dword [esp + 0x38]
je 0x69afdb
test byte [eax + 4], 0x70
jne 0x69b009
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x58]
mov eax, ecx
shr eax, 0x12
test bl, al
je 0x69b002
shr edx, 2
test bl, dl
je 0x69b009
and esi, 0xff9fffff
and ecx, 0x600000
or esi, ecx
jmp 0x69b016
shr edx, 3
test bl, dl
jne 0x69b010
push 0x2a
jmp 0x6955c8
and esi, 0xff9fffff
or esi, 0x100000
mov eax, dword [esp + 0x38]
mov ecx, 0xd78150
test byte [eax + 3], bl
je 0x69b03b
test ecx, esi
jne 0x69b043
test dword [esp + 0x58], 0xc00
jne 0x69b03b
or esi, 0x10
test ecx, esi
je 0x69b0d9
mov eax, dword [esp + 0x60]
mov edx, esi
and edx, 0x8000
mov ecx, eax
shl edx, 4
and eax, 0x8000000
or edx, esi
shr ecx, 1
and edx, 0xffff78ef
and ecx, 0x8300000
shl edx, 4
and esi, 0x100
or edx, esi
or ecx, eax
shl edx, 4
shr ecx, 4
or edx, ecx
lea ecx, [esp + 0x68]
xor edx, 0x87cf062
push edx
call fcn.0067992f
mov ecx, dword [esp + 0x68]
mov al, byte [esp + 0x60]
mov byte [ecx], al
inc dword [esp + 0x68]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x64]
and eax, 7
push eax
push 3
pop ecx
mov dword [esp + 0x58], eax
call fcn.00694d16
pop ecx
mov ecx, dword [esp + 0x68]
push dword [esp + 0x18]
push dword [esp + 0x18]
mov byte [ecx], al
lea ecx, [esp + 0x70]
push dword [esp + 0x18]
inc dword [esp + 0x74]
call fcn.00694e71
jmp 0x69543d
mov eax, dword [esp + 0x60]
mov edx, eax
shr edx, 1
mov ecx, eax
and edx, 0x300000
and ecx, 0x8000000
or edx, ecx
mov ecx, esi
shr edx, 1
and ecx, 0x200000
or edx, ecx
mov ecx, dword [esp + 0x58]
and ecx, 0xfffffc00
shr edx, 0xb
shl ecx, 0x15
or edx, ecx
or edx, esi
test edx, 0x8000803e
je 0x69b13f
mov ecx, edx
shl eax, 0x18
and ecx, 0xf
or eax, dword [ecx*4 + 0x7158b0]
movzx ecx, dx
shl ecx, 8
xor eax, ecx
lea ecx, [esp + 0x68]
push eax
call fcn.0067992f
jmp 0x69b09c
mov eax, edx
and al, 0x1f
cmp al, bl
jne 0x69b177
mov eax, dword [esp + 0x68]
mov ecx, edx
shr ecx, 8
xor cl, dl
xor cl, 0xf9
mov byte [eax], 0xc5
mov eax, dword [esp + 0x68]
inc eax
mov dword [esp + 0x68], eax
mov byte [eax], cl
mov eax, dword [esp + 0x68]
mov cl, byte [esp + 0x60]
inc eax
mov dword [esp + 0x68], eax
mov byte [eax], cl
jmp 0x69b098
push str._x__0x1F___0x01
push 0x1204
jmp 0x69b18d
push str._opcode__Opcode::kMM_Mask___0___opcode__Opcode::kMM_Mask___Opcode::kMM_0F
push 0x12c0
push str.C:UsersUserDesktopTrainer2AsmJitx86x86assembler.cpp
call sym.Trainer.exe_void___cdecl_asmjit::_abi_1_11::DebugUtils::assertionFailed_char_const___int__char_const__
cmp dword [ecx + ebp*2], edx
sub dword [ebp + 105], edx
add byte [esi + 83], bh
imul eax, dword [eax], case.0x695377.3
out 0x54, eax
imul eax, dword [eax], case.0x695377.5
pop es
push esi
imul eax, dword [eax], case.0x695377.7
add byte [edi + 0x69], dl
add byte [esi + 87], dl
imul eax, dword [eax], case.0x695377.10
push edi
imul eax, dword [eax], case.0x695377.12
adc ah, byte [esi + 0x69]
add byte [ebx - 1962907305], bh
push edi
imul eax, dword [eax], case.0x695377.16
cwde
pop ecx
imul eax, dword [eax], case.0x695377.18
push ebp
pop ecx
imul eax, dword [eax], case.0x695377.20
jmp 0x69b246
add ah, dl
outsd dx, dword [esi]
imul eax, dword [eax], case.0x695377.45
pop ecx
ja 6927035
add byte [eax - 0x25ff9689], bh
ja 0x69b2c3
add byte [ecx + 0x78], ah
imul eax, dword [eax], case.0x695377.50
dec edi
jns 6927055
add ah, dh
jns 0x69b2d3
add cl, al
jp 0x69b2d7
add byte [esi], dl
jnp 0x69b2db
add byte [esi - 0x1bff9684], ah
jl 0x69b2e3
add ch, al
jge 0x69b2e7
add byte [eax], dh
jle 0x69b2eb
add byte [edi - 0x16ff9682], cl
jle 0x69b2f3
add dl, bh
sub dword [ecx], case.0x695377.62
mov edx, dword [ebx + 0x69]
add byte [ecx - 125], ah
imul eax, dword [eax], case.0x695377.65
rol byte [ebx - 0x7b51ff97], cl
imul eax, dword [eax], case.0x695377.68
fld qword [ebp - 0x7975ff97]
imul eax, dword [eax], case.0x695377.71
sahf
xchg byte [ecx], ch
mov dl, 0x8a
imul eax, dword [eax], case.0x695377.74
insd dword es:[edi], dx
mov ch, byte [ecx]
int3
xchg esp, eax
mov ch, byte [ecx]
sub dword [ebx - 0x7475ff97], ecx
imul eax, dword [eax], case.0x695377.81
adc ecx, dword [ecx + ebp*2 + 0x6986cf00]
add byte [edi + eax*4 + 105], ah
add byte [ecx + 0x25006987], bh
mov cl, byte [ebx - 0x7426ff97]
imul eax, dword [eax], case.0x695377.82
invalid
iretd
xchg dword fs:[ecx], ebp
mov ecx, 0x25006987
mov byte [ecx], ch
mov edx, 0x72006989
mov byte [ecx], ch
dec ebp
mov word [ecx], gs
call 0x8b6a1c90
lea ebp, [ecx]
invalid