Function at 0x140017780
Capabilities:
Read file on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x198
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x100], xmm14
movaps xmmword [rbp + 0xf0], xmm13
movaps xmmword [rbp + 0xe0], xmm12
movaps xmmword [rbp + 0xd0], xmm11
movaps xmmword [rbp + 0xc0], xmm10
movaps xmmword [rbp + 0xb0], xmm9
movaps xmmword [rbp + 0xa0], xmm8
movaps xmmword [rbp + 0x90], xmm7
movaps xmmword [rbp + 0x80], xmm6
mov qword [rbp - 0x78], rcx
xorps xmm0, xmm0
movaps xmmword [rbp - 0x30], xmm0
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x10], xmm0
movaps xmmword [rbp + 0x40], xmm0
movaps xmmword [rbp + 0x30], xmm0
movaps xmmword [rbp + 0x20], xmm0
movaps xmmword [rbp + 0x10], xmm0
movaps xmmword [rbp], xmm0
mov eax, dword [0x140027c80]
mov edi, dword [0x140027c84]
cmp edi, 0xa
setl cl
lea ebx, [rax + 1]
imul ebx, eax
and ebx, 1
sete al
mov edx, ecx
and dl, al
cmp edi, 9
setg byte [rbp + 0x7c]
or bl, cl
xor cl, al
and al, byte [rbp + 0x7c]
xor bl, cl
xor bl, al
not bl
or bl, dl
and bl, 1
mov byte [rbp + 0x6f], bl
xor al, 1
mov byte [rbp + 0x6e], al
xor dword [rbp - 0x30], 0x1e27
movups xmm0, xmmword [rbp - 0x28]
movaps xmm1, xmmword [0x140022fd0]
xorps xmm0, xmm1
movups xmmword [rbp - 0x28], xmm0
movups xmm0, xmmword [rbp - 0x18]
xorps xmm0, xmm1
movups xmmword [rbp - 0x18], xmm0
movups xmm0, xmmword [rbp - 8]
xorps xmm0, xmm1
movups xmmword [rbp - 8], xmm0
movups xmm0, xmmword [rbp + 8]
xorps xmm0, xmm1
movups xmmword [rbp + 8], xmm0
movups xmm0, xmmword [rbp + 0x18]
xorps xmm0, xmm1
movups xmmword [rbp + 0x18], xmm0
movups xmm0, xmmword [rbp + 0x28]
xorps xmm0, xmm1
movups xmmword [rbp + 0x28], xmm0
movups xmm0, xmmword [rbp + 0x38]
xorps xmm0, xmm1
movups xmmword [rbp + 0x38], xmm0
xor dword [rbp + 0x48], 0x1e27
xor dword [rbp + 0x4c], 0x1e27
mov eax, 0x348
mov dword [rbp - 0x70], 0
movaps xmm6, xmmword [0x140023060]
movaps xmm8, xmmword [0x140023020]
movaps xmm9, xmmword [0x140023030]
movaps xmm7, xmmword [0x140023050]
movaps xmm10, xmmword [0x140023000]
movaps xmm11, xmmword [0x140022fe0]
movaps xmm12, xmmword [0x140023040]
movaps xmm13, xmmword [0x140023010]
movaps xmm14, xmmword [0x140022ff0]
mov edi, 0
mov r14d, 0
mov dword [rbp - 0x6c], 0
mov r13d, 0
mov esi, 0
xor r15d, r15d
mov dword [rbp - 0x68], 0
xor r12d, r12d
mov dword [rbp - 0x4c], 0
mov dword [rbp - 0x50], 0
mov dword [rbp - 0x64], 0
mov dword [rbp - 0x60], 0
mov dword [rbp - 0x5c], 0
mov dword [rbp - 0x54], 0
mov dword [rbp - 0x58], 0
jmp 0x140017980
mov rax, qword [rbp + 0x60]
mov rax, qword [rbp + 0x58]
mov eax, dword [rbp + 0x48]
mov ecx, 0x4a79
xor eax, ecx
nop word cs:[rax + rax]
nop
cmp eax, 0x3737
jle 0x140017af0
cmp eax, 0x5c3a
jg 0x140017be0
cmp eax, 0x4b3f
jg 0x140017cea
cmp eax, 0x42a9
jg 0x140017ec0
cmp eax, 0x3738
je 0x14001821e
cmp eax, 0x420b
jne 0x140017980
mov eax, 0x10
call fcn.14001cf30
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x38], rax
mov eax, 0x10
call fcn.14001cf30
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x70], rax
mov eax, 0x10
call fcn.14001cf30
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x48], rax
mov eax, 0x10
call fcn.14001cf30
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x58], rax
mov eax, 0x10
call fcn.14001cf30
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x60], rax
mov eax, 0x10
call fcn.14001cf30
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x40], rax
mov rax, qword [rbp + 0x70]
sub rsp, 0x20
mov rcx, qword [rbp - 0x78]
lea rdx, [0x140023185]
call sub.msvcrt.dll_fopen
add rsp, 0x20
mov rcx, qword [rbp + 0x70]
mov qword [rcx], rax
mov rax, qword [rbp + 0x70]
cmp qword [rax], 0
sete byte [rbp + 0x7f]
cmp dword [0x140027c88], 0xa
mov eax, dword [0x140027c8c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
test dil, dil
jne 0x140017ad5
movups xmm0, xmmword [rbp - 0x24]
movups xmm1, xmmword [rbp - 0x14]
movups xmm2, xmmword [rbp - 4]
movups xmm3, xmmword [rbp + 0xc]
xorps xmm0, xmm7
movups xmmword [rbp - 0x24], xmm0
xorps xmm1, xmm7
movups xmmword [rbp - 0x14], xmm1
xorps xmm2, xmm7
movups xmmword [rbp - 4], xmm2
xorps xmm3, xmm7
movups xmmword [rbp + 0xc], xmm3
movups xmm0, xmmword [rbp + 0x1c]
xorps xmm0, xmm7
movups xmmword [rbp + 0x1c], xmm0
movaps xmm0, xmmword [rbp + 0x30]
xorps xmm0, xmm7
movaps xmmword [rbp + 0x30], xmm0
movaps xmm0, xmmword [rbp + 0x40]
xorps xmm0, xmm7
movaps xmmword [rbp + 0x40], xmm0
test al, al
mov eax, 0x3380
mov ecx, 0x4cf4
cmovne eax, ecx
xor eax, dword [rbp - 0x28]
mov dil, 1
jmp 0x140017980
cmp eax, 0x1dcc
jle 0x140017c70
cmp eax, 0x3028
jg 0x140017d4b
cmp eax, 0x2fb3
jg 0x140017f62
cmp eax, 0x1dcd
je 0x14001825d
cmp eax, 0x2d81
jne 0x140017980
mov eax, 0x10
call fcn.14001cf30
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x38], rax
mov eax, 0x10
call fcn.14001cf30
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x70], rax
mov eax, 0x10
call fcn.14001cf30
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x48], rax
mov eax, 0x10
call fcn.14001cf30
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x58], rax
mov eax, 0x10
call fcn.14001cf30
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x60], rax
mov eax, 0x10
call fcn.14001cf30
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x40], rax
mov rax, qword [rbp + 0x70]
sub rsp, 0x20
mov rcx, qword [rbp - 0x78]
lea rdx, [0x140023185]
call sub.msvcrt.dll_fopen
add rsp, 0x20
mov rcx, qword [rbp + 0x70]
mov qword [rcx], rax
mov rax, qword [rbp + 0x70]
cmp qword [rax], 0
sete byte [rbp + 0x7f]
mov eax, dword [rbp + 0x2c]
mov ecx, 0x5c0a
xor eax, ecx
jmp 0x140017980
cmp eax, 0x72db
jle 0x140017dee
cmp eax, 0x7986
jg 0x140017fe3
cmp eax, 0x72dc
je 0x1400182ab
cmp eax, 0x735d
jne 0x140017980
movzx eax, byte [rbp + 0x7e]
test r15b, r15b
jne 0x140017c55
movups xmm0, xmmword [rbp - 0xc]
movups xmm1, xmmword [rbp + 4]
movups xmm2, xmmword [rbp + 0x38]
xorps xmm0, xmm13
movups xmmword [rbp - 0xc], xmm0
xorps xmm1, xmm13
movups xmmword [rbp + 4], xmm1
xor dword [rbp + 0x14], 0x28d2
xor dword [rbp + 0x18], 0x28d2
xor dword [rbp + 0x1c], 0x28d2
xorps xmm2, xmm13
movups xmmword [rbp + 0x38], xmm2
xor dword [rbp + 0x48], 0x28d2
test al, 1
mov eax, 0x5e1d
mov ecx, 0x11c
cmovne eax, ecx
xor eax, dword [rbp - 0x10]
mov r15b, 1
jmp 0x140017980
cmp eax, 0x91a
jle 0x140017e81
cmp eax, 0x1c07
jg 0x140018099
cmp eax, 0x91b
je 0x1400182e1
cmp eax, 0x1ade
jne 0x140017980
cmp dword [0x140027c90], 0xa
mov eax, dword [0x140027c94]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x68], 0
jne 0x140017cce
xor dword [rbp - 8], 0x7794
xor dword [rbp + 0x38], 0x7794
test al, al
mov eax, 0x3a0b
mov ecx, 0x5d2f
cmovne eax, ecx
xor eax, dword [rbp - 0xc]
mov cl, 1
mov dword [rbp - 0x68], ecx
jmp 0x140017980
cmp eax, 0x52f4
jg 0x140018106
cmp eax, 0x4b40
je 0x14001831e
cmp eax, 0x5068
jne 0x140017980
movzx eax, byte [rbp + 0x7d]
cmp byte [rbp - 0x50], 0
jne 0x140017d2f
movups xmm0, xmmword [rbp + 8]
xorps xmm0, xmm11
movups xmmword [rbp + 8], xmm0
xor dword [rbp + 0x40], 0x119
xor dword [rbp + 0x44], 0x119
test al, 1
mov eax, 0x4738
mov ecx, 0x7516
cmovne eax, ecx
xor eax, dword [rbp + 4]
mov cl, 1
mov dword [rbp - 0x50], ecx
jmp 0x140017980
cmp eax, 0x3148
jg 0x140018138
cmp eax, 0x3029
je 0x14001836c
cmp eax, 0x30a8
jne 0x140017980
cmp dword [0x140027c98], 0xa
mov eax, dword [0x140027c9c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
test r13b, r13b
jne 0x140017dd4
movups xmm0, xmmword [rbp - 0x14]
movups xmm1, xmmword [rbp - 4]
movups xmm2, xmmword [rbp + 0xc]
movups xmm3, xmmword [rbp + 0x34]
xorps xmm0, xmm9
movups xmmword [rbp - 0x14], xmm0
xorps xmm1, xmm9
movups xmmword [rbp - 4], xmm1
xorps xmm2, xmm9
movups xmmword [rbp + 0xc], xmm2
xor dword [rbp + 0x1c], 0x20ad
xorps xmm3, xmm9
movups xmmword [rbp + 0x34], xmm3
xor dword [rbp + 0x44], 0x20ad
xor dword [rbp + 0x48], 0x20ad
test al, al
mov eax, 0x597a
mov ecx, 0x4611
cmovne eax, ecx
xor eax, dword [rbp - 0x18]
mov r13b, 1
jmp 0x140017980
cmp eax, 0x692f
jle 0x1400181c5
cmp eax, 0x6930
je 0x140017963
cmp eax, 0x6e3f
jne 0x140017980
mov rax, qword [rbp + 0x70]
mov rcx, qword [rax]
sub rsp, 0x20
call sub.msvcrt.dll_fclose
call sym.anti_debug_1
add rsp, 0x20
mov rax, qword [rbp - 0x38]
mov qword [rax], 0
mov rax, qword [rbp - 0x48]
mov dword [rax], 1
mov eax, dword [0x140027ca0]
cmp dword [0x140027ca4], 0xa
setl bl
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete al
mov edx, ebx
and dl, al
mov ecx, ebx
xor cl, al
or bl, al
xor bl, cl
xor cl, 1
or cl, dl
xor cl, bl
mov eax, 0x5949
mov ecx, 0x4d9f
cmovne eax, ecx
xor eax, dword [rbp - 8]
jmp 0x140017980
cmp eax, 0x348
je 0x14001839d
cmp eax, 0x363
je 0x14001841e
cmp eax, 0x44e
jne 0x140017980
mov rax, qword [rbp + 0x70]
mov rax, qword [rbp - 0x38]
mov rax, qword [rax]
mov qword [rbp - 0x80], rax
mov eax, dword [rbp + 0x4c]
mov ecx, 0x2043
xor eax, ecx
jmp 0x140017980
cmp eax, 0x42aa
je 0x14001851f
cmp eax, 0x45df
jne 0x140017980
mov ecx, dword [0x140027ca8]
cmp dword [0x140027cac], 0xa
setl al
mov edx, ecx
or edx, 0xafd885aa
lea ebx, [rdx - 0x5fb10b55]
not ebx
add edx, ecx
add edx, 0xa04ef4ab
add edx, ebx
add edx, 0xfffffffe
imul edx, ecx
test dl, 1
sete cl
mov edx, eax
xor dl, cl
or al, cl
or al, dl
test r12b, r12b
jne 0x140017f48
movaps xmm0, xmmword [rbp]
xorps xmm0, xmm10
movaps xmmword [rbp], xmm0
xor dword [rbp + 0x10], 0x6dc4
xor dword [rbp + 0x14], 0x6dc4
xor dword [rbp + 0x3c], 0x6dc4
xor dword [rbp + 0x40], 0x6dc4
xor dword [rbp + 0x44], 0x6dc4
test al, al
mov eax, 0x7850
mov ecx, 0x487d
cmovne eax, ecx
xor eax, dword [rbp - 4]
mov r12b, 1
jmp 0x140017980
cmp eax, 0x2fb4
je 0x140018581
cmp eax, 0x2ff7
jne 0x140017980
mov ecx, dword [0x140027cb0]
mov edx, dword [0x140027cb4]
cmp edx, 9
setg al
cmp edx, 0xa
setl dl
lea ebx, [rcx + 1]
imul ebx, ecx
and ebx, 1
sete cl
and bl, dl
xor bl, dl
and dl, cl
xor bl, cl
or al, cl
xor al, bl
xor al, 1
or al, dl
cmp byte [rbp - 0x54], 0
jne 0x140017fc7
xor dword [rbp + 0x24], 0x51f0
xor dword [rbp + 0x28], 0x51f0
xor dword [rbp + 0x4c], 0x51f0
test al, al
mov eax, 0x413c
mov ecx, 0x71b3
cmovne eax, ecx
xor eax, dword [rbp + 0x20]
mov cl, 1
mov dword [rbp - 0x54], ecx
jmp 0x140017980
cmp eax, 0x7987
je 0x1400185d9
cmp eax, 0x7b6d
jne 0x140017980
mov rax, qword [rbp - 0x40]
mov rax, qword [rbp + 0x60]
mov rcx, qword [rax]
mov rax, qword [rbp + 0x58]
mov rdx, qword [rax]
mov rax, qword [rbp + 0x70]
mov r9, qword [rax]
sub rsp, 0x20
mov r8d, 1
call sub.msvcrt.dll_fread
add rsp, 0x20
mov rcx, qword [rbp - 0x40]
mov qword [rcx], rax
mov rax, qword [rbp - 0x40]
cmp qword [rax], 0
sete byte [rbp + 0x7d]
cmp dword [0x140027cb8], 0xa
mov eax, dword [0x140027cbc]
setl cl
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x4c], 0
jne 0x14001807d
movups xmm0, xmmword [rbp + 4]
xorps xmm0, xmm14
movups xmmword [rbp + 4], xmm0
xor dword [rbp + 0x14], 0x476
xor dword [rbp + 0x40], 0x476
xor dword [rbp + 0x44], 0x476
test al, al
mov eax, 0x1594
mov ecx, 0xebc
cmovne eax, ecx
xor eax, dword [rbp]
mov cl, 1
mov dword [rbp - 0x4c], ecx
jmp 0x140017980
cmp eax, 0x1c08
je 0x140018614
cmp eax, 0x1d9a
jne 0x140017980
mov eax, dword [0x140027cc0]
cmp dword [0x140027cc4], 0xa
setl cl
mov edx, eax
not edx
lea ebx, [rax + rax]
add edx, ebx
add edx, 0xfffffffe
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x60], 0
jne 0x1400180ea
xor dword [rbp + 0x14], 0x22f1
xor dword [rbp + 0x44], 0x22f1
test al, al
mov eax, 0x6c83
mov ecx, 0x1911
cmovne eax, ecx
xor eax, dword [rbp + 0x10]
mov cl, 1
mov dword [rbp - 0x60], ecx
jmp 0x140017980
cmp eax, 0x52f5
je 0x1400186a4
cmp eax, 0x5662
jne 0x140017980
sub rsp, 0x20
call sym.anti_debug_1
add rsp, 0x20
mov eax, dword [rbp + 0x40]
mov ecx, 0x7205
xor eax, ecx
jmp 0x140017980
cmp eax, 0x3149
je 0x140018724
cmp eax, 0x34c1
jne 0x140017980
mov rax, qword [rbp + 0x70]
mov rax, qword [rbp - 0x38]
mov rax, qword [rax]
mov qword [rbp - 0x80], rax
mov ebx, dword [0x140027cc8]
cmp dword [0x140027ccc], 0xa
setl cl
mov edx, ebx
xor edx, 0xa13da6b2
mov eax, ebx
and eax, 0x5ec2594d
add edx, ebx
sub edx, eax
lea eax, [rdx + rdx]
add eax, 2
add edx, 1
sub edx, eax
add edx, 0xdec2594c
imul edx, ebx
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x58], 0
jne 0x1400181a9
xor dword [rbp + 0x28], 0x7c93
test al, al
mov eax, 0x10cc
mov ecx, 0x4bc6
cmovne eax, ecx
xor eax, dword [rbp + 0x24]
mov cl, 1
mov dword [rbp - 0x58], ecx
jmp 0x140017980
cmp eax, 0x5c3b
jne 0x14001877e
cmp dword [0x140027cd0], 0xa
mov eax, dword [0x140027cd4]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x6c], 0
jne 0x140018202
xor dword [rbp - 0x1c], 0x2297
xor dword [rbp + 0x30], 0x2297
test al, al
mov eax, 0x755b
mov ecx, 0x743b
cmovne eax, ecx
xor eax, dword [rbp - 0x20]
mov cl, 1
mov dword [rbp - 0x6c], ecx
jmp 0x140017980
mov rax, qword [rbp + 0x70]
mov rcx, qword [rax]
sub rsp, 0x20
call sub.msvcrt.dll_fclose
add rsp, 0x20
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
mov rcx, qword [rbp - 0x38]
mov qword [rcx], rax
mov rax, qword [rbp - 0x48]
mov dword [rax], 1
mov rax, qword [rbp - 0x40]
mov eax, dword [rbp + 0x44]
mov ecx, 0x3be0
xor eax, ecx
jmp 0x140017980
cmp dword [0x140027cd8], 0xa
mov eax, dword [0x140027cdc]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp - 0x5c], 0
jne 0x14001828f
xor dword [rbp + 0x1c], 0xbb5
xor dword [rbp + 0x48], 0xbb5
test al, al
mov eax, 0x5a20
mov ecx, 0x41cc
cmovne eax, ecx
xor eax, dword [rbp + 0x18]
mov cl, 1
mov dword [rbp - 0x5c], ecx
jmp 0x140017980
mov rax, qword [rbp + 0x60]
mov rax, qword [rbp + 0x58]
mov eax, dword [0x140027ce0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x5195
mov ecx, 0x1752
cmove eax, ecx
cmp dword [0x140027ce4], 0xa
cmovl eax, ecx
xor eax, dword [rbp + 0x1c]
jmp 0x140017980
mov rax, qword [rbp + 0x70]
mov rcx, qword [rax]
sub rsp, 0x20
call sub.msvcrt.dll_fclose
call sym.anti_debug_1
add rsp, 0x20
mov rax, qword [rbp - 0x38]
mov qword [rax], 0
mov rax, qword [rbp - 0x48]
mov dword [rax], 1
mov eax, dword [rbp + 0x38]
mov ecx, 0x2abb
xor eax, ecx
jmp 0x140017980
mov rax, qword [rbp - 0x40]
mov rax, qword [rbp + 0x60]
mov rcx, qword [rax]
mov rax, qword [rbp + 0x58]
mov rdx, qword [rax]
mov rax, qword [rbp + 0x70]
mov r9, qword [rax]
sub rsp, 0x20
mov r8d, 1
call sub.msvcrt.dll_fread
add rsp, 0x20
mov rcx, qword [rbp - 0x40]
mov qword [rcx], rax
mov rax, qword [rbp - 0x40]
cmp qword [rax], 0
sete byte [rbp + 0x7d]
mov eax, dword [rbp + 0x3c]
mov ecx, 0x25b9
xor eax, ecx
jmp 0x140017980
sub rsp, 0x20
call sym.anti_debug_1
add rsp, 0x20
mov rax, qword [rbp - 0x38]
mov qword [rax], 0
mov rax, qword [rbp - 0x48]
mov dword [rax], 1
mov eax, dword [rbp + 0x30]
mov ecx, 0x56ac
xor eax, ecx
jmp 0x140017980
movzx eax, byte [rbp + 0x7c]
movzx eax, byte [rbp + 0x6e]
cmp byte [rbp - 0x70], 0
jne 0x140018400
movups xmm0, xmmword [rbp - 0x28]
movups xmm1, xmmword [rbp - 0x18]
movups xmm2, xmmword [rbp - 8]
movups xmm3, xmmword [rbp + 8]
xorps xmm0, xmm6
movups xmmword [rbp - 0x28], xmm0
xorps xmm1, xmm6
movups xmmword [rbp - 0x18], xmm1
xorps xmm2, xmm6
movups xmmword [rbp - 8], xmm2
xorps xmm3, xmm6
movups xmmword [rbp + 8], xmm3
movups xmm0, xmmword [rbp + 0x18]
xorps xmm0, xmm6
movups xmmword [rbp + 0x18], xmm0
movups xmm0, xmmword [rbp + 0x28]
xorps xmm0, xmm6
movups xmmword [rbp + 0x28], xmm0
movups xmm0, xmmword [rbp + 0x38]
xorps xmm0, xmm6
movups xmmword [rbp + 0x38], xmm0
xor byte [rbp + 0x48], 0x26
xor byte [rbp + 0x4c], 0x26
cmp byte [rbp + 0x6f], 0
mov eax, 0x33a6
mov ecx, 0x5c2c
cmovne eax, ecx
xor eax, dword [rbp - 0x30]
mov cl, 1
mov dword [rbp - 0x70], ecx
jmp 0x140017980
mov rax, qword [rbp + 0x70]
mov rcx, qword [rax]
sub rsp, 0x20
xor edx, edx
mov r8d, 2
call sub.msvcrt.dll_fseek
add rsp, 0x20
mov rax, qword [rbp + 0x58]
mov rax, qword [rbp + 0x70]
mov rcx, qword [rax]
sub rsp, 0x20
call sub.msvcrt.dll_ftell
add rsp, 0x20
cdqe
mov rcx, qword [rbp + 0x58]
mov qword [rcx], rax
mov rax, qword [rbp + 0x70]
mov rcx, qword [rax]
sub rsp, 0x20
xor edx, edx
xor r8d, r8d
call sub.msvcrt.dll_fseek
add rsp, 0x20
mov rax, qword [rbp + 0x60]
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax]
sub rsp, 0x20
call sub.msvcrt.dll_malloc
add rsp, 0x20
mov rcx, qword [rbp + 0x60]
mov qword [rcx], rax
mov rax, qword [rbp + 0x60]
cmp qword [rax], 0
sete byte [rbp + 0x7e]
mov ecx, dword [0x140027ce8]
mov eax, dword [0x140027cec]
cmp eax, 9
setg dl
cmp eax, 0xa
setl bl
mov eax, ecx
not eax
add eax, 0xb771a350
imul eax, ecx
and al, 1
or al, bl
xor al, dl
test sil, sil
jne 0x140018505
movaps xmm0, xmmword [rbp - 0x10]
xorps xmm0, xmm8
movaps xmmword [rbp - 0x10], xmm0
movaps xmm0, xmmword [rbp]
xorps xmm0, xmm8
movaps xmmword [rbp], xmm0
movaps xmm0, xmmword [rbp + 0x10]
xorps xmm0, xmm8
movaps xmmword [rbp + 0x10], xmm0
movups xmm0, xmmword [rbp + 0x38]
xorps xmm0, xmm8
movups xmmword [rbp + 0x38], xmm0
xor dword [rbp + 0x48], 0x7e1d
test al, al
mov eax, 0x79d7
mov ecx, 0x1682
cmovne eax, ecx
xor eax, dword [rbp - 0x14]
mov sil, 1
jmp 0x140017980
mov rax, qword [rbp + 0x70]
mov rcx, qword [rax]
sub rsp, 0x20
call sub.msvcrt.dll_fclose
add rsp, 0x20
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
mov rcx, qword [rbp - 0x38]
mov qword [rcx], rax
mov rax, qword [rbp - 0x48]
mov dword [rax], 1
mov rax, qword [rbp - 0x40]
mov eax, dword [0x140027cf0]
mov ecx, 1
sub ecx, eax
imul ecx, eax
test cl, 1
mov eax, 0x4e72
mov ecx, 0x6487
cmove eax, ecx
cmp dword [0x140027cf4], 0xa
cmovl eax, ecx
xor eax, dword [rbp + 0x14]
jmp 0x140017980
mov ecx, dword [0x140027cf8]
cmp dword [0x140027cfc], 0xa
setl dl
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
sete cl
and cl, dl
or al, dl
xor al, dl
xor al, cl
xor al, 1
or al, cl
cmp byte [rbp - 0x64], 0
jne 0x1400185bd
xor dword [rbp + 0xc], 0x5039
xor dword [rbp + 0x40], 0x5039
test al, 1
mov eax, 0xdd9
mov ecx, 0x223c
cmovne eax, ecx
xor eax, dword [rbp + 8]
mov cl, 1
mov dword [rbp - 0x64], ecx
jmp 0x140017980
sub rsp, 0x20
call sym.anti_debug_1
add rsp, 0x20
mov eax, dword [0x140027d00]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x5de0
mov ecx, 0x1618
cmove eax, ecx
cmp dword [0x140027d04], 0xa
cmovl eax, ecx
xor eax, dword [rbp + 0xc]
jmp 0x140017980
mov rax, qword [rbp + 0x70]
mov rcx, qword [rax]
sub rsp, 0x20
xor edx, edx
mov r8d, 2
call sub.msvcrt.dll_fseek
add rsp, 0x20
mov rax, qword [rbp + 0x58]
mov rax, qword [rbp + 0x70]
mov rcx, qword [rax]
sub rsp, 0x20
call sub.msvcrt.dll_ftell
add rsp, 0x20
cdqe
mov rcx, qword [rbp + 0x58]
mov qword [rcx], rax
mov rax, qword [rbp + 0x70]
mov rcx, qword [rax]
sub rsp, 0x20
xor edx, edx
xor r8d, r8d
call sub.msvcrt.dll_fseek
add rsp, 0x20
mov rax, qword [rbp + 0x60]
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax]
sub rsp, 0x20
call sub.msvcrt.dll_malloc
add rsp, 0x20
mov rcx, qword [rbp + 0x60]
mov qword [rcx], rax
mov rax, qword [rbp + 0x60]
cmp qword [rax], 0
sete byte [rbp + 0x7e]
mov eax, dword [rbp + 0x34]
mov ecx, 0x66bc
xor eax, ecx
jmp 0x140017980
movzx eax, byte [rbp + 0x7f]
test r14b, r14b
jne 0x14001870a
movaps xmm0, xmmword [rbp - 0x20]
xorps xmm0, xmm12
movaps xmmword [rbp - 0x20], xmm0
movaps xmm0, xmmword [rbp - 0x10]
xorps xmm0, xmm12
movaps xmmword [rbp - 0x10], xmm0
movaps xmm0, xmmword [rbp]
xorps xmm0, xmm12
movaps xmmword [rbp], xmm0
movaps xmm0, xmmword [rbp + 0x10]
xorps xmm0, xmm12
movaps xmmword [rbp + 0x10], xmm0
xor dword [rbp + 0x20], 0x985
xor dword [rbp + 0x24], 0x985
xor dword [rbp + 0x28], 0x985
movaps xmm0, xmmword [rbp + 0x30]
xorps xmm0, xmm12
movaps xmmword [rbp + 0x30], xmm0
movaps xmm0, xmmword [rbp + 0x40]
xorps xmm0, xmm12
movaps xmmword [rbp + 0x40], xmm0
test al, 1
mov eax, 0x7c5f
mov ecx, 0x10cc
cmovne eax, ecx
xor eax, dword [rbp - 0x24]
mov r14b, 1
jmp 0x140017980
sub rsp, 0x20
call sym.anti_debug_1
add rsp, 0x20
mov rax, qword [rbp - 0x38]
mov qword [rax], 0
mov rax, qword [rbp - 0x48]
mov dword [rax], 1
mov eax, dword [0x140027d08]
lea ecx, [rax + 0x3e04afb8]
lea edx, [rax + rax]
not ecx
add ecx, edx
imul ecx, eax
test cl, 1
mov eax, 0x57cc
mov ecx, 0x4812
cmove eax, ecx
cmp dword [0x140027d0c], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x1c]
jmp 0x140017980
cmp eax, 0x5f44
jne 0x140017980
mov rax, qword [rbp - 0x80]
movaps xmm6, xmmword [rbp + 0x80]
movaps xmm7, xmmword [rbp + 0x90]
movaps xmm8, xmmword [rbp + 0xa0]
movaps xmm9, xmmword [rbp + 0xb0]
movaps xmm10, xmmword [rbp + 0xc0]
movaps xmm11, xmmword [rbp + 0xd0]
movaps xmm12, xmmword [rbp + 0xe0]
movaps xmm13, xmmword [rbp + 0xf0]
movaps xmm14, xmmword [rbp + 0x100]
lea rsp, [rbp + 0x118]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret