Function at 0x140005c10
Capabilities:
Allocate or change rwx memory
Read file via mapping

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x38]
sub rsp, 0x110
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
mov rax, qword [0x140041040]
xor rax, rsp
mov qword [rbp - 0x30], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov qword [rbp - 0x78], rax
xorps xmm0, xmm0
mov rdi, rax
lea rdx, [rsp + 0x50]
xor eax, eax
mov qword [rbp - 0x40], rax
movups xmmword [rbp - 0x50], xmm0
call fcn.140007800
movsd xmm6, qword [0x14003afd8]
mov rsi, rax
movsd xmm7, qword [0x14003afd0]
movsd xmm8, qword [0x14003afc8]
cmp byte [rax], 0
jne 0x140006745
mov dword [rbp - 0x38], 0
mov ecx, dword [rbp - 0x38]
call fcn.140002410
movsx r9d, al
call fcn.140002400
movsx ecx, al
imul r9d, ecx
call fcn.140002440
movsx r10d, al
lea eax, [r10 + r9*8]
add eax, r9d
mov dword [rsp + 0x40], eax
call fcn.140002420
movsx r11d, al
call fcn.140002450
movsx ebx, al
call fcn.140002430
movsd xmm3, qword [0x14003afe0]
mov r15d, dword [rsp + 0x40]
mov r12d, dword [rsp + 0x40]
mov r13d, dword [rsp + 0x40]
movsx edi, al
nop word [rax + rax]
movsx ecx, byte [0x140043d60]
imul ecx, r11d
imul edx, ecx, 7
movsx ecx, byte [0x140041c64]
sub edx, ebx
add edx, edi
add ecx, edx
je 0x140005ef8
movsx eax, byte [0x140041c62]
xor edx, edx
movd xmm1, eax
movsx eax, byte [0x140041c64]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
lea eax, [r9 + r9*4]
lea r14d, [r10 + rax*2]
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm3
movsd qword [rsp + 0x48], xmm1
movsx eax, byte [0x140041c61]
movsx ecx, byte [0x140041c60]
add eax, r14d
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x140005da0
movsx ecx, byte [0x140043d60]
imul ecx, r11d
lea edx, [rcx + rcx*4]
movsx ecx, byte [0x140041c64]
sub edx, ebx
add edx, edi
add ecx, edx
je 0x140005da0
mov dword [rsp + 0x68], 0xa
jmp 0x140005dff
movsx eax, byte [0x140041c61]
xor edx, edx
movsx ecx, byte [0x140041c60]
add eax, r10d
lea eax, [rax + r9*2]
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x140005dff
movsx eax, byte [0x140041c61]
lea edx, [r9 + r9*2]
movsx ecx, byte [0x140041c60]
add eax, r10d
xorps xmm0, xmm0
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [0x140041c63]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x48]
cvttsd2si eax, xmm0
mov dword [rsp + 0x68], eax
movsx eax, byte [0x140041c62]
xor edx, edx
movd xmm1, eax
movsx eax, byte [0x140041c64]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm3
movsd qword [rsp + 0x48], xmm1
movsx eax, byte [0x140041c61]
movsx ecx, byte [0x140041c60]
add eax, r14d
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x140005e74
movsx ecx, byte [0x140043d60]
imul ecx, r11d
lea edx, [rcx + rcx*4]
movsx ecx, byte [0x140041c64]
sub edx, ebx
add edx, edi
add ecx, edx
je 0x140005e74
mov r15d, 0xa
jmp 0x140005ed0
movsx eax, byte [0x140041c61]
xor edx, edx
movsx ecx, byte [0x140041c60]
add eax, r10d
lea eax, [rax + r9*2]
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x140005ed0
movsx eax, byte [0x140041c61]
lea edx, [r9 + r9*2]
movsx ecx, byte [0x140041c60]
add eax, r10d
xorps xmm0, xmm0
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [0x140041c63]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x48]
cvttsd2si r15d, xmm0
movsxd rax, dword [rbp - 0x38]
movzx r8d, byte [rax + rsi + 1]
movsxd rax, dword [rbp - 0x38]
and r8b, r15b
add r8b, r8b
movzx edx, byte [rax + rsi + 1]
movsxd rax, dword [rbp - 0x38]
sub dl, r8b
add dl, byte [rsp + 0x68]
mov byte [rax + rsi + 1], dl
movsx eax, byte [0x140041c61]
xor edx, edx
add eax, dword [rsp + 0x40]
movsx ecx, byte [0x140041c60]
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x14000652c
movsx edx, byte [0x140043d60]
movsx ecx, byte [0x140041c64]
imul edx, r11d
shl edx, 3
sub edx, ebx
add edx, edi
add ecx, edx
je 0x140006115
movsx eax, byte [0x140041c62]
xor edx, edx
movd xmm1, eax
movsx eax, byte [0x140041c64]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
lea eax, [r9 + r9*4]
lea r14d, [r10 + rax*2]
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rsp + 0x48], xmm1
movsx eax, byte [0x140041c61]
movsx ecx, byte [0x140041c60]
add eax, r14d
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x140005fbd
movsx ecx, byte [0x140043d60]
imul ecx, r11d
lea edx, [rcx + rcx*4]
movsx ecx, byte [0x140041c64]
sub edx, ebx
add edx, edi
add ecx, edx
je 0x140005fbd
mov dword [rsp + 0x6c], 0xa
jmp 0x14000601c
movsx eax, byte [0x140041c61]
xor edx, edx
movsx ecx, byte [0x140041c60]
add eax, r10d
lea eax, [rax + r9*2]
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x14000601c
movsx eax, byte [0x140041c61]
lea edx, [r9 + r9*2]
movsx ecx, byte [0x140041c60]
add eax, r10d
xorps xmm0, xmm0
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [0x140041c63]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x48]
cvttsd2si eax, xmm0
mov dword [rsp + 0x6c], eax
movsx eax, byte [0x140041c62]
xor edx, edx
movd xmm1, eax
movsx eax, byte [0x140041c64]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rsp + 0x48], xmm1
movsx eax, byte [0x140041c61]
movsx ecx, byte [0x140041c60]
add eax, r14d
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x140006091
movsx ecx, byte [0x140043d60]
imul ecx, r11d
lea edx, [rcx + rcx*4]
movsx ecx, byte [0x140041c64]
sub edx, ebx
add edx, edi
add ecx, edx
je 0x140006091
mov r12d, 0xa
jmp 0x1400060ed
movsx eax, byte [0x140041c61]
xor edx, edx
movsx ecx, byte [0x140041c60]
add eax, r10d
lea eax, [rax + r9*2]
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x1400060ed
movsx eax, byte [0x140041c61]
lea edx, [r9 + r9*2]
movsx ecx, byte [0x140041c60]
add eax, r10d
xorps xmm0, xmm0
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [0x140041c63]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x48]
cvttsd2si r12d, xmm0
movsxd rax, dword [rbp - 0x38]
movzx r8d, byte [rax + rsi + 1]
movsxd rax, dword [rbp - 0x38]
and r8b, r12b
add r8b, r8b
movzx edx, byte [rax + rsi + 1]
movsxd rax, dword [rbp - 0x38]
sub dl, r8b
add dl, byte [rsp + 0x6c]
mov byte [rax + rsi + 1], dl
movsx ecx, byte [0x140043d60]
imul ecx, r11d
lea edx, [rcx + rcx*2]
movsx ecx, byte [0x140041c64]
sub edx, ebx
add edx, edi
add ecx, edx
je 0x14000630d
movsx eax, byte [0x140041c62]
xor edx, edx
movd xmm1, eax
movsx eax, byte [0x140041c64]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
lea eax, [r9 + r9*4]
lea r14d, [r10 + rax*2]
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x48], xmm1
movsx eax, byte [0x140041c61]
movsx ecx, byte [0x140041c60]
add eax, r14d
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x1400061b5
movsx ecx, byte [0x140043d60]
imul ecx, r11d
lea edx, [rcx + rcx*4]
movsx ecx, byte [0x140041c64]
sub edx, ebx
add edx, edi
add ecx, edx
je 0x1400061b5
mov dword [rsp + 0x70], 0xa
jmp 0x140006214
movsx eax, byte [0x140041c61]
xor edx, edx
movsx ecx, byte [0x140041c60]
add eax, r10d
lea eax, [rax + r9*2]
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x140006214
movsx eax, byte [0x140041c61]
lea edx, [r9 + r9*2]
movsx ecx, byte [0x140041c60]
add eax, r10d
xorps xmm0, xmm0
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [0x140041c63]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x48]
cvttsd2si eax, xmm0
mov dword [rsp + 0x70], eax
movsx eax, byte [0x140041c62]
xor edx, edx
movd xmm1, eax
movsx eax, byte [0x140041c64]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x48], xmm1
movsx eax, byte [0x140041c61]
movsx ecx, byte [0x140041c60]
add eax, r14d
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x140006289
movsx ecx, byte [0x140043d60]
imul ecx, r11d
lea edx, [rcx + rcx*4]
movsx ecx, byte [0x140041c64]
sub edx, ebx
add edx, edi
add ecx, edx
je 0x140006289
mov r13d, 0xa
jmp 0x1400062e5
movsx eax, byte [0x140041c61]
xor edx, edx
movsx ecx, byte [0x140041c60]
add eax, r10d
lea eax, [rax + r9*2]
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x1400062e5
movsx eax, byte [0x140041c61]
lea edx, [r9 + r9*2]
movsx ecx, byte [0x140041c60]
add eax, r10d
xorps xmm0, xmm0
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [0x140041c63]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x48]
cvttsd2si r13d, xmm0
movsxd rax, dword [rbp - 0x38]
movzx r8d, byte [rax + rsi + 1]
movsxd rax, dword [rbp - 0x38]
and r8b, r13b
add r8b, r8b
movzx edx, byte [rax + rsi + 1]
movsxd rax, dword [rbp - 0x38]
sub dl, r8b
add dl, byte [rsp + 0x70]
mov byte [rax + rsi + 1], dl
movsx eax, byte [0x140041c61]
xor edx, edx
movsx ecx, byte [0x140041c60]
add eax, r10d
lea eax, [rax + r9*8]
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x14000652c
mov eax, dword [rbp - 0x38]
xor edx, edx
sub eax, 8
movd xmm2, eax
movsx eax, byte [0x140041c62]
cvtdq2pd xmm2, xmm2
movd xmm1, eax
movsx eax, byte [0x140041c64]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
lea eax, [r9 + r9*4]
lea r14d, [r10 + rax*2]
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x48], xmm1
movsx eax, byte [0x140041c61]
movsx ecx, byte [0x140041c60]
add eax, r14d
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x1400063c1
movsx ecx, byte [0x140043d60]
imul ecx, r11d
lea edx, [rcx + rcx*4]
movsx ecx, byte [0x140041c64]
sub edx, ebx
add edx, edi
add ecx, edx
je 0x1400063c1
mov dword [rbp - 0x80], 0xa
jmp 0x14000641f
movsx eax, byte [0x140041c61]
xor edx, edx
movsx ecx, byte [0x140041c60]
add eax, r10d
lea eax, [rax + r9*2]
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x14000641f
movsx eax, byte [0x140041c61]
lea edx, [r9 + r9*2]
movsx ecx, byte [0x140041c60]
add eax, r10d
xorps xmm0, xmm0
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [0x140041c63]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x48]
cvttsd2si eax, xmm0
mov dword [rbp - 0x80], eax
mov eax, dword [rbp - 0x38]
xor edx, edx
sub eax, 8
movd xmm2, eax
movsx eax, byte [0x140041c62]
cvtdq2pd xmm2, xmm2
movd xmm1, eax
movsx eax, byte [0x140041c64]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x48], xmm1
movsx eax, byte [0x140041c61]
movsx ecx, byte [0x140041c60]
add eax, r14d
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x1400064a4
movsx ecx, byte [0x140043d60]
imul ecx, r11d
lea edx, [rcx + rcx*4]
movsx ecx, byte [0x140041c64]
sub edx, ebx
add edx, edi
add ecx, edx
je 0x1400064a4
mov dword [rsp + 0x78], 0xa
jmp 0x140006503
movsx eax, byte [0x140041c61]
xor edx, edx
movsx ecx, byte [0x140041c60]
add eax, r10d
lea eax, [rax + r9*2]
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x140006503
movsx eax, byte [0x140041c61]
lea edx, [r9 + r9*2]
movsx ecx, byte [0x140041c60]
add eax, r10d
xorps xmm0, xmm0
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [0x140041c63]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x48]
cvttsd2si eax, xmm0
mov dword [rsp + 0x78], eax
movsxd rax, dword [rbp - 0x38]
movzx r8d, byte [rax + rsi + 1]
movsxd rax, dword [rbp - 0x38]
and r8b, byte [rsp + 0x78]
add r8b, r8b
movzx edx, byte [rax + rsi + 1]
movsxd rax, dword [rbp - 0x38]
sub dl, r8b
add dl, byte [rbp - 0x80]
mov byte [rax + rsi + 1], dl
movsx edx, byte [0x140043d60]
movsx ecx, byte [0x140041c64]
imul edx, r11d
shl edx, 2
sub edx, ebx
add edx, edi
add ecx, edx
je 0x14000672d
movsx eax, byte [0x140041c62]
xor edx, edx
movd xmm1, eax
movsx eax, byte [0x140041c64]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
lea eax, [r9 + r9*4]
lea r14d, [r10 + rax*2]
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x48], xmm1
movsx eax, byte [0x140041c61]
movsx ecx, byte [0x140041c60]
add eax, r14d
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x1400065cd
movsx ecx, byte [0x140043d60]
imul ecx, r11d
lea edx, [rcx + rcx*4]
movsx ecx, byte [0x140041c64]
sub edx, ebx
add edx, edi
add ecx, edx
je 0x1400065cd
mov dword [rsp + 0x64], 0xa
jmp 0x14000662c
movsx eax, byte [0x140041c61]
xor edx, edx
movsx ecx, byte [0x140041c60]
add eax, r10d
lea eax, [rax + r9*2]
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x14000662c
movsx eax, byte [0x140041c61]
lea edx, [r9 + r9*2]
movsx ecx, byte [0x140041c60]
add eax, r10d
xorps xmm0, xmm0
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [0x140041c63]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x48]
cvttsd2si eax, xmm0
mov dword [rsp + 0x64], eax
movsx eax, byte [0x140041c62]
xor edx, edx
movd xmm1, eax
movsx eax, byte [0x140041c64]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x48], xmm1
movsx eax, byte [0x140041c61]
movsx ecx, byte [0x140041c60]
add eax, r14d
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x1400066a4
movsx ecx, byte [0x140043d60]
imul ecx, r11d
lea edx, [rcx + rcx*4]
movsx ecx, byte [0x140041c64]
sub edx, ebx
add edx, edi
add ecx, edx
je 0x1400066a4
mov dword [rsp + 0x60], 0xa
jmp 0x140006703
movsx eax, byte [0x140041c61]
xor edx, edx
movsx ecx, byte [0x140041c60]
add eax, r10d
lea eax, [rax + r9*2]
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x140006703
movsx eax, byte [0x140041c61]
lea edx, [r9 + r9*2]
movsx ecx, byte [0x140041c60]
add eax, r10d
xorps xmm0, xmm0
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [0x140041c63]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x48]
cvttsd2si eax, xmm0
mov dword [rsp + 0x60], eax
movsxd rax, dword [rbp - 0x38]
movzx r8d, byte [rax + rsi + 1]
movsxd rax, dword [rbp - 0x38]
and r8b, byte [rsp + 0x60]
add r8b, r8b
movzx edx, byte [rax + rsi + 1]
movsxd rax, dword [rbp - 0x38]
sub dl, r8b
add dl, byte [rsp + 0x64]
mov byte [rax + rsi + 1], dl
mov eax, dword [rbp - 0x38]
inc eax
mov dword [rbp - 0x38], eax
mov eax, dword [rbp - 0x38]
cmp eax, 0xa
jb 0x140005d00
mov rdi, qword [rbp - 0x78]
lea rcx, [rsi + 1]
mov byte [rsi], 1
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov r9d, 0x18
lea r8, [rbp - 0x50]
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_K32GetModuleInformation]
mov rax, qword [rbp - 0x50]
lea rdx, [rbp - 0x70]
mov qword [rsp + 0x48], rax
call fcn.140007980
mov rsi, rax
cmp byte [rax], 0
jne 0x140007231
mov dword [rbp - 0x38], 0
mov ecx, dword [rbp - 0x38]
call fcn.140002410
movsx r9d, al
call fcn.140002400
movsx ecx, al
imul r9d, ecx
call fcn.140002440
movsx r10d, al
lea eax, [r10 + r9*8]
add eax, r9d
mov dword [rsp + 0x40], eax
call fcn.140002420
movsx r11d, al
call fcn.140002450
movsx ebx, al
call fcn.140002430
movsd xmm3, qword [0x14003afc0]
mov r15d, dword [rsp + 0x40]
mov r12d, dword [rsp + 0x40]
mov r13d, dword [rsp + 0x40]
movsx edi, al
nop dword [rax]
movsx ecx, byte [0x140043d60]
imul ecx, r11d
imul edx, ecx, 7
movsx ecx, byte [0x140041c64]
sub edx, ebx
add edx, edi
add ecx, edx
je 0x1400069e8
movsx eax, byte [0x140041c62]
xor edx, edx
movd xmm1, eax
movsx eax, byte [0x140041c64]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
lea eax, [r9 + r9*4]
lea r14d, [r10 + rax*2]
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rsp + 0x50], xmm1
movsx eax, byte [0x140041c61]
movsx ecx, byte [0x140041c60]
add eax, r14d
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x140006890
movsx ecx, byte [0x140043d60]
imul ecx, r11d
lea edx, [rcx + rcx*4]
movsx ecx, byte [0x140041c64]
sub edx, ebx
add edx, edi
add ecx, edx
je 0x140006890
mov dword [rsp + 0x64], 0xa
jmp 0x1400068ef
movsx eax, byte [0x140041c61]
xor edx, edx
movsx ecx, byte [0x140041c60]
add eax, r10d
lea eax, [rax + r9*2]
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x1400068ef
movsx eax, byte [0x140041c61]
lea edx, [r9 + r9*2]
movsx ecx, byte [0x140041c60]
add eax, r10d
xorps xmm0, xmm0
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [0x140041c63]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x50]
cvttsd2si eax, xmm0
mov dword [rsp + 0x64], eax
movsx eax, byte [0x140041c62]
xor edx, edx
movd xmm1, eax
movsx eax, byte [0x140041c64]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm6
movsd qword [rsp + 0x50], xmm1
movsx eax, byte [0x140041c61]
movsx ecx, byte [0x140041c60]
add eax, r14d
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x140006964
movsx ecx, byte [0x140043d60]
imul ecx, r11d
lea edx, [rcx + rcx*4]
movsx ecx, byte [0x140041c64]
sub edx, ebx
add edx, edi
add ecx, edx
je 0x140006964
mov r15d, 0xa
jmp 0x1400069c0
movsx eax, byte [0x140041c61]
xor edx, edx
movsx ecx, byte [0x140041c60]
add eax, r10d
lea eax, [rax + r9*2]
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x1400069c0
movsx eax, byte [0x140041c61]
lea edx, [r9 + r9*2]
movsx ecx, byte [0x140041c60]
add eax, r10d
xorps xmm0, xmm0
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [0x140041c63]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x50]
cvttsd2si r15d, xmm0
movsxd rax, dword [rbp - 0x38]
movzx r8d, byte [rax + rsi + 1]
movsxd rax, dword [rbp - 0x38]
and r8b, r15b
add r8b, r8b
movzx edx, byte [rax + rsi + 1]
movsxd rax, dword [rbp - 0x38]
sub dl, r8b
add dl, byte [rsp + 0x64]
mov byte [rax + rsi + 1], dl
movsx eax, byte [0x140041c61]
xor edx, edx
add eax, dword [rsp + 0x40]
movsx ecx, byte [0x140041c60]
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x14000701e
movsx edx, byte [0x140043d60]
movsx ecx, byte [0x140041c64]
imul edx, r11d
shl edx, 3
sub edx, ebx
add edx, edi
add ecx, edx
je 0x140006c05
movsx eax, byte [0x140041c62]
xor edx, edx
movd xmm1, eax
movsx eax, byte [0x140041c64]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
lea eax, [r9 + r9*4]
lea r14d, [r10 + rax*2]
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x50], xmm1
movsx eax, byte [0x140041c61]
movsx ecx, byte [0x140041c60]
add eax, r14d
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x140006aad
movsx ecx, byte [0x140043d60]
imul ecx, r11d
lea edx, [rcx + rcx*4]
movsx ecx, byte [0x140041c64]
sub edx, ebx
add edx, edi
add ecx, edx
je 0x140006aad
mov dword [rsp + 0x60], 0xa
jmp 0x140006b0c
movsx eax, byte [0x140041c61]
xor edx, edx
movsx ecx, byte [0x140041c60]
add eax, r10d
lea eax, [rax + r9*2]
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x140006b0c
movsx eax, byte [0x140041c61]
lea edx, [r9 + r9*2]
movsx ecx, byte [0x140041c60]
add eax, r10d
xorps xmm0, xmm0
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [0x140041c63]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x50]
cvttsd2si eax, xmm0
mov dword [rsp + 0x60], eax
movsx eax, byte [0x140041c62]
xor edx, edx
movd xmm1, eax
movsx eax, byte [0x140041c64]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm7
movsd qword [rsp + 0x50], xmm1
movsx eax, byte [0x140041c61]
movsx ecx, byte [0x140041c60]
add eax, r14d
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x140006b81
movsx ecx, byte [0x140043d60]
imul ecx, r11d
lea edx, [rcx + rcx*4]
movsx ecx, byte [0x140041c64]
sub edx, ebx
add edx, edi
add ecx, edx
je 0x140006b81
mov r12d, 0xa
jmp 0x140006bdd
movsx eax, byte [0x140041c61]
xor edx, edx
movsx ecx, byte [0x140041c60]
add eax, r10d
lea eax, [rax + r9*2]
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x140006bdd
movsx eax, byte [0x140041c61]
lea edx, [r9 + r9*2]
movsx ecx, byte [0x140041c60]
add eax, r10d
xorps xmm0, xmm0
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [0x140041c63]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x50]
cvttsd2si r12d, xmm0
movsxd rax, dword [rbp - 0x38]
movzx r8d, byte [rax + rsi + 1]
movsxd rax, dword [rbp - 0x38]
and r8b, r12b
add r8b, r8b
movzx edx, byte [rax + rsi + 1]
movsxd rax, dword [rbp - 0x38]
sub dl, r8b
add dl, byte [rsp + 0x60]
mov byte [rax + rsi + 1], dl
movsx ecx, byte [0x140043d60]
imul ecx, r11d
lea edx, [rcx + rcx*2]
movsx ecx, byte [0x140041c64]
sub edx, ebx
add edx, edi
add ecx, edx
je 0x140006dfc
movsx eax, byte [0x140041c62]
xor edx, edx
movd xmm1, eax
movsx eax, byte [0x140041c64]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
lea eax, [r9 + r9*4]
lea r14d, [r10 + rax*2]
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x50], xmm1
movsx eax, byte [0x140041c61]
movsx ecx, byte [0x140041c60]
add eax, r14d
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x140006ca5
movsx ecx, byte [0x140043d60]
imul ecx, r11d
lea edx, [rcx + rcx*4]
movsx ecx, byte [0x140041c64]
sub edx, ebx
add edx, edi
add ecx, edx
je 0x140006ca5
mov dword [rbp - 0x80], 0xa
jmp 0x140006d03
movsx eax, byte [0x140041c61]
xor edx, edx
movsx ecx, byte [0x140041c60]
add eax, r10d
lea eax, [rax + r9*2]
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x140006d03
movsx eax, byte [0x140041c61]
lea edx, [r9 + r9*2]
movsx ecx, byte [0x140041c60]
add eax, r10d
xorps xmm0, xmm0
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [0x140041c63]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x50]
cvttsd2si eax, xmm0
mov dword [rbp - 0x80], eax
movsx eax, byte [0x140041c62]
xor edx, edx
movd xmm1, eax
movsx eax, byte [0x140041c64]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm8
movsd qword [rsp + 0x50], xmm1
movsx eax, byte [0x140041c61]
movsx ecx, byte [0x140041c60]
add eax, r14d
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x140006d79
movsx ecx, byte [0x140043d60]
imul ecx, r11d
lea edx, [rcx + rcx*4]
movsx ecx, byte [0x140041c64]
sub edx, ebx
add edx, edi
add ecx, edx
je 0x140006d79
mov r13d, 0xa
jmp 0x140006dd5
movsx eax, byte [0x140041c61]
xor edx, edx
movsx ecx, byte [0x140041c60]
add eax, r10d
lea eax, [rax + r9*2]
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x140006dd5
movsx eax, byte [0x140041c61]
lea edx, [r9 + r9*2]
movsx ecx, byte [0x140041c60]
add eax, r10d
xorps xmm0, xmm0
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [0x140041c63]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x50]
cvttsd2si r13d, xmm0
movsxd rax, dword [rbp - 0x38]
movzx r8d, byte [rax + rsi + 1]
movsxd rax, dword [rbp - 0x38]
and r8b, r13b
add r8b, r8b
movzx edx, byte [rax + rsi + 1]
movsxd rax, dword [rbp - 0x38]
sub dl, r8b
add dl, byte [rbp - 0x80]
mov byte [rax + rsi + 1], dl
movsx eax, byte [0x140041c61]
xor edx, edx
movsx ecx, byte [0x140041c60]
add eax, r10d
lea eax, [rax + r9*8]
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x14000701e
mov eax, dword [rbp - 0x38]
xor edx, edx
sub eax, 7
movd xmm2, eax
movsx eax, byte [0x140041c62]
cvtdq2pd xmm2, xmm2
movd xmm1, eax
movsx eax, byte [0x140041c64]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
lea eax, [r9 + r9*4]
lea r14d, [r10 + rax*2]
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x50], xmm1
movsx eax, byte [0x140041c61]
movsx ecx, byte [0x140041c60]
add eax, r14d
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x140006eb1
movsx ecx, byte [0x140043d60]
imul ecx, r11d
lea edx, [rcx + rcx*4]
movsx ecx, byte [0x140041c64]
sub edx, ebx
add edx, edi
add ecx, edx
je 0x140006eb1
mov dword [rsp + 0x70], 0xa
jmp 0x140006f10
movsx eax, byte [0x140041c61]
xor edx, edx
movsx ecx, byte [0x140041c60]
add eax, r10d
lea eax, [rax + r9*2]
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x140006f10
movsx eax, byte [0x140041c61]
lea edx, [r9 + r9*2]
movsx ecx, byte [0x140041c60]
add eax, r10d
xorps xmm0, xmm0
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [0x140041c63]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x50]
cvttsd2si eax, xmm0
mov dword [rsp + 0x70], eax
mov eax, dword [rbp - 0x38]
xor edx, edx
sub eax, 7
movd xmm2, eax
movsx eax, byte [0x140041c62]
cvtdq2pd xmm2, xmm2
movd xmm1, eax
movsx eax, byte [0x140041c64]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x50], xmm1
movsx eax, byte [0x140041c61]
movsx ecx, byte [0x140041c60]
add eax, r14d
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x140006f95
movsx ecx, byte [0x140043d60]
imul ecx, r11d
lea edx, [rcx + rcx*4]
movsx ecx, byte [0x140041c64]
sub edx, ebx
add edx, edi
add ecx, edx
je 0x140006f95
mov dword [rsp + 0x78], 0xa
jmp 0x140006ff4
movsx eax, byte [0x140041c61]
xor edx, edx
movsx ecx, byte [0x140041c60]
add eax, r10d
lea eax, [rax + r9*2]
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x140006ff4
movsx eax, byte [0x140041c61]
lea edx, [r9 + r9*2]
movsx ecx, byte [0x140041c60]
add eax, r10d
xorps xmm0, xmm0
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [0x140041c63]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x50]
cvttsd2si eax, xmm0
mov dword [rsp + 0x78], eax
movsxd rax, dword [rbp - 0x38]
movzx r8d, byte [rax + rsi + 1]
movsxd rax, dword [rbp - 0x38]
and r8b, byte [rsp + 0x78]
add r8b, r8b
movzx edx, byte [rax + rsi + 1]
movsxd rax, dword [rbp - 0x38]
sub dl, r8b
add dl, byte [rsp + 0x70]
mov byte [rax + rsi + 1], dl
movsx edx, byte [0x140043d60]
movsx ecx, byte [0x140041c64]
imul edx, r11d
shl edx, 2
sub edx, ebx
add edx, edi
add ecx, edx
je 0x14000721d
movsx eax, byte [0x140041c62]
xor edx, edx
movd xmm1, eax
movsx eax, byte [0x140041c64]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
lea eax, [r9 + r9*4]
lea r14d, [r10 + rax*2]
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm3
movsd qword [rsp + 0x50], xmm1
movsx eax, byte [0x140041c61]
movsx ecx, byte [0x140041c60]
add eax, r14d
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x1400070be
movsx ecx, byte [0x140043d60]
imul ecx, r11d
lea edx, [rcx + rcx*4]
movsx ecx, byte [0x140041c64]
sub edx, ebx
add edx, edi
add ecx, edx
je 0x1400070be
mov dword [rsp + 0x68], 0xa
jmp 0x14000711d
movsx eax, byte [0x140041c61]
xor edx, edx
movsx ecx, byte [0x140041c60]
add eax, r10d
lea eax, [rax + r9*2]
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x14000711d
movsx eax, byte [0x140041c61]
lea edx, [r9 + r9*2]
movsx ecx, byte [0x140041c60]
add eax, r10d
xorps xmm0, xmm0
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [0x140041c63]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x50]
cvttsd2si eax, xmm0
mov dword [rsp + 0x68], eax
movsx eax, byte [0x140041c62]
xor edx, edx
movd xmm1, eax
movsx eax, byte [0x140041c64]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm3
movsd qword [rsp + 0x50], xmm1
movsx eax, byte [0x140041c61]
movsx ecx, byte [0x140041c60]
add eax, r14d
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x140007194
movsx ecx, byte [0x140043d60]
imul ecx, r11d
lea edx, [rcx + rcx*4]
movsx ecx, byte [0x140041c64]
sub edx, ebx
add edx, edi
add ecx, edx
je 0x140007194
mov dword [rsp + 0x6c], 0xa
jmp 0x1400071f3
movsx eax, byte [0x140041c61]
xor edx, edx
movsx ecx, byte [0x140041c60]
add eax, r10d
lea eax, [rax + r9*2]
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x1400071f3
movsx eax, byte [0x140041c61]
lea edx, [r9 + r9*2]
movsx ecx, byte [0x140041c60]
add eax, r10d
xorps xmm0, xmm0
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [0x140041c63]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x50]
cvttsd2si eax, xmm0
mov dword [rsp + 0x6c], eax
movsxd rax, dword [rbp - 0x38]
movzx r8d, byte [rax + rsi + 1]
movsxd rax, dword [rbp - 0x38]
and r8b, byte [rsp + 0x6c]
add r8b, r8b
movzx edx, byte [rax + rsi + 1]
movsxd rax, dword [rbp - 0x38]
sub dl, r8b
add dl, byte [rsp + 0x68]
mov byte [rax + rsi + 1], dl
mov eax, dword [rbp - 0x38]
inc eax
mov dword [rbp - 0x38], eax
mov eax, dword [rbp - 0x38]
cmp eax, 0x1e
jb 0x1400067f0
mov byte [rsi], 1
lea rcx, [rsi + 1]
xor esi, esi
xor r9d, r9d
mov qword [rsp + 0x30], rsi
mov edx, 0x80000000
mov dword [rsp + 0x28], esi
mov r8d, 1
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov qword [rsp + 0x28], rsi
xor r9d, r9d
mov rcx, rax
mov qword [rsp + 0x78], rax
xor edx, edx
mov dword [rsp + 0x20], esi
mov r8d, 0x1000002
call qword [sym.imp.KERNEL32.dll_CreateFileMappingA]
xor r9d, r9d
mov qword [rsp + 0x20], rsi
mov rcx, rax
mov qword [rsp + 0x70], rax
xor r8d, r8d
mov edx, 4
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov r10, qword [rsp + 0x48]
xor ebx, ebx
mov qword [rbp - 0x80], rax
mov r9d, ebx
mov dword [rsp + 0x60], ebx
movsxd r14, dword [r10 + 0x3c]
add r14, r10
call fcn.140002410
movsx esi, al
call fcn.140002400
movsx ecx, al
imul esi, ecx
call fcn.140002440
movsx r15d, al
lea r11, str..text
lea eax, [rsi + rsi*4]
lea ecx, [r15 + rsi*4]
add ecx, esi
lea r13d, [r15 + rax*2]
mov dword [rsp + 0x40], ecx
mov r12d, dword [rsp + 0x40]
movsx eax, byte [0x140041c61]
xor edx, edx
add eax, ecx
xorps xmm2, xmm2
movsx ecx, byte [0x140041c60]
div ecx
movsx ecx, byte [0x140041c63]
xor edx, edx
sub eax, ecx
cvtsi2sd xmm2, rax
movsx eax, byte [0x140041c62]
movd xmm1, eax
movsx eax, byte [0x140041c64]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x50], xmm1
movsx eax, byte [0x140041c61]
movsx ecx, byte [0x140041c60]
add eax, r13d
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x1400073a9
call fcn.140002420
movsx edx, al
movsx eax, byte [0x140043d60]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.140002450
movsx ecx, al
sub r8d, ecx
call fcn.140002430
movsx ecx, al
add r8d, ecx
movsx ecx, byte [0x140041c64]
add ecx, r8d
je 0x1400073a9
mov eax, 0xa
mov dword [rsp + 0x64], eax
jmp 0x14000740c
movsx eax, byte [0x140041c61]
xor edx, edx
movsx ecx, byte [0x140041c60]
add eax, r15d
lea eax, [rax + rsi*2]
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x140007408
movsx eax, byte [0x140041c61]
lea edx, [rsi + rsi*2]
movsx ecx, byte [0x140041c60]
add eax, r15d
xorps xmm0, xmm0
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [0x140041c63]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x50]
cvttsd2si eax, xmm0
mov dword [rsp + 0x64], eax
jmp 0x14000740c
mov eax, dword [rsp + 0x64]
cmp r9d, eax
jge 0x14000762d
movzx edi, bx
cmp bx, word [r14 + 6]
jae 0x14000761c
nop dword [rax]
nop word [rax + rax]
movzx ecx, word [r14 + 0x14]
add rcx, r14
movzx eax, di
lea rdx, [rax + rax*4]
movsx eax, byte [0x140041c61]
lea rbx, [rcx + rdx*8]
add eax, r13d
movsx ecx, byte [0x140041c60]
xor edx, edx
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x140007607
xor r9d, r9d
mov eax, r9d
nop dword [rax]
movzx ecx, byte [rbx + rax + 0x18]
inc rax
cmp cl, byte [r11 + rax - 1]
jne 0x14000748a
cmp rax, 6
jne 0x140007470
cmp cl, byte [r11 + rax - 1]
mov rax, r9
xorps xmm2, xmm2
sete al
xor edx, edx
cvtsi2sd xmm2, rax
movsx eax, byte [0x140041c62]
movd xmm1, eax
movsx eax, byte [0x140041c64]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x50], xmm1
movsx eax, byte [0x140041c61]
movsx ecx, byte [0x140041c60]
add eax, r13d
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x140007528
call fcn.140002420
movsx edx, al
movsx eax, byte [0x140043d60]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.140002450
movsx ecx, al
sub r8d, ecx
call fcn.140002430
movsx ecx, al
add r8d, ecx
movsx ecx, byte [0x140041c64]
add ecx, r8d
je 0x140007528
mov r12d, 0xa
jmp 0x140007582
movsx eax, byte [0x140041c61]
xor edx, edx
movsx ecx, byte [0x140041c60]
add eax, r15d
lea eax, [rax + rsi*2]
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x140007582
movsx eax, byte [0x140041c61]
lea edx, [rsi + rsi*2]
movsx ecx, byte [0x140041c60]
add eax, r15d
xorps xmm0, xmm0
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [0x140041c63]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x50]
cvttsd2si r12d, xmm0
movsx eax, byte [0x140041c61]
xor edx, edx
movsx ecx, byte [0x140041c60]
add eax, esi
add eax, r15d
div ecx
movsx ecx, byte [0x140041c63]
sub eax, ecx
imul eax, r12d
test eax, eax
je 0x140007607
mov ecx, dword [rbx + 0x24]
mov r8d, 0x40
mov edx, dword [rbx + 0x20]
add rcx, r10
mov dword [rbp - 0x38], r9d
lea r9, [rbp - 0x38]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, dword [rbx + 0x24]
mov rdx, qword [rbp - 0x80]
mov rcx, qword [rsp + 0x48]
add rdx, rax
mov r8d, dword [rbx + 0x20]
add rcx, rax
call fcn.14002d730
mov ecx, dword [rbx + 0x24]
lea r9, [rbp - 0x38]
add rcx, qword [rsp + 0x48]
mov edx, dword [rbx + 0x20]
mov r8d, dword [rbp - 0x38]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov r10, qword [rsp + 0x48]
lea r11, str..text
inc di
cmp di, word [r14 + 6]
jb 0x140007430
mov r9d, dword [rsp + 0x60]
xor ebx, ebx
mov ecx, dword [rsp + 0x40]
inc r9d
mov dword [rsp + 0x60], r9d
jmp 0x1400072f1
mov rcx, qword [rbp - 0x78]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.140002410
movsx edx, al
call fcn.140002400
movsx ecx, al
imul edx, ecx
call fcn.140002440
movsx ecx, al
xorps xmm2, xmm2
movsx eax, byte [0x140041c61]
lea r9d, [rcx + rdx*2]
movsx ecx, byte [0x140041c60]
add eax, r9d
xor edx, edx
div ecx
movsx ecx, byte [0x140041c63]
sub eax, ecx
cvtsi2sd xmm2, rax
movsx eax, byte [0x140041c62]
movd xmm1, eax
movsx eax, byte [0x140041c64]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x50], xmm1
call fcn.140002410
movsx edx, al
call fcn.140002400
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*4]
call fcn.140002440
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [0x140041c61]
add eax, ecx
xor edx, edx
movsx ecx, byte [0x140041c60]
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x14000773a
call fcn.140002420
movsx edx, al
movsx eax, byte [0x140043d60]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.140002450
movsx ecx, al
sub r8d, ecx
call fcn.140002430
movsx ecx, al
add r8d, ecx
movsx ecx, byte [0x140041c64]
add ecx, r8d
jne 0x1400077b4
movsx eax, byte [0x140041c61]
xor edx, edx
movsx ecx, byte [0x140041c60]
add eax, r9d
div ecx
movsx ecx, byte [0x140041c63]
cmp eax, ecx
je 0x1400077ac
call fcn.140002410
movsx edx, al
call fcn.140002400
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.140002440
movsx ecx, al
xorps xmm0, xmm0
lea eax, [rcx + rdx*2]
movsx ecx, byte [0x140041c61]
add eax, ecx
xor edx, edx
movsx ecx, byte [0x140041c60]
div ecx
movsx ecx, byte [0x140041c63]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x50]
cvttsd2si eax, xmm0
jmp 0x1400077b0
mov eax, dword [rsp + 0x40]
cmp ebx, eax
jge 0x1400077b6
xor eax, eax
mov rcx, qword [rbp - 0x30]
xor rcx, rsp
call fcn.140013c00
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret