Function at 0x140046040
Capabilities:
Create thread
Query environment variable

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x98
movsxd r12, dword [rsp + 0x100]
xor eax, eax
mov qword [rsp + 0x58], r8
mov rsi, r9
mov r15, rdx
mov r13, rcx
mov qword [rsp + 0x28], rax
lea r8, [0x140001b00]
mov r9, r12
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], eax
call qword [sym.imp.KERNEL32.dll_CreateThread]
or rbp, 0xffffffffffffffff
mov r14, rax
mov qword [rsp + 0x68], rax
mov rdi, rbp
nop dword [rax + rax]
inc rdi
cmp byte [rsi + rdi], 0
jne 0x1400460a0
imul edi, r15d
imul edi, r13d
sub edi, r12d
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
lea rdx, str.objective
mov r8d, edi
mov rcx, r14
mov r9, rax
mov rbx, rax
call fcn.1400998d0
mov rdx, r13
xor ecx, ecx
mov dword [rsp + 0x44], eax
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov rcx, r14
movzx edx, al
mov dword [rsp + 0x50], eax
call fcn.14007fef0
mov qword [rsp + 0x78], rax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rsp + 0x40], eax
call qword [sym.imp.USER32.dll_GetActiveWindow]
mov r14, rbp
mov rdx, rax
mov qword [rsp + 0x70], rax
mov eax, r15d
imul eax, r13d
mov dword [rsp + 0x60], eax
nop dword [rax + rax]
inc r14
cmp byte [rsi + r14], 0
jne 0x140046120
mov rcx, qword [rsp + 0x68]
mov r9, qword [rsp + 0x58]
mov r8, rdx
sub eax, dword [r9 + 0x10]
mov byte [rsp + 0x30], 1
lea r9, [0x1400ed3b8]
sub eax, dword [rsp + 0x44]
xor edx, edx
add eax, ecx
mov ecx, dword [rsp + 0x40]
add r14d, eax
add r14d, ebx
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r15
call fcn.1400a7640
mov edx, eax
mov dword [rsp + 0x4c], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x18]
lea eax, [r13 + 9]
inc ecx
imul ecx, r15d
sub ecx, r12d
sub ecx, dword [rsp + 0x70]
sub ecx, edx
lea rdx, str.lake
sub ecx, r14d
sub ecx, edi
add eax, ecx
mov ecx, eax
mov dword [rsp + 0x48], eax
call fcn.1400ce000
mov ecx, dword [rsp + 0x48]
mov edx, dword [rsp + 0x40]
mov r8, rax
mov qword [rsp + 0x80], rax
cmp ecx, edx
jl 0x140046277
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov qword [rsp + 0x88], rax
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
mov rdx, rbp
mov r8, rax
nop word [rax + rax]
inc rdx
cmp byte [rsi + rdx], 0
jne 0x1400461e0
mov r10, qword [rsp + 0x78]
mov r9, qword [rsp + 0x58]
movzx eax, r10b
imul byte [rsp + 0x40]
movzx ecx, al
movzx eax, r13b
imul byte [r9 + 0x18]
mov r9d, r12d
sub al, cl
mov ecx, dword [rsp + 0x44]
sub al, r15b
sub al, cl
sub al, byte [rsp + 0x4c]
add dl, al
mov rax, qword [rsp + 0x68]
add dl, al
add dl, r12b
add dl, byte [rsp + 0x80]
imul r9d, eax
imul r9d, ebx
movzx eax, byte [rsp + 0x50]
add dl, bl
imul r9d, ecx
mov rcx, qword [rsp + 0x88]
imul r9d, edi
mov byte [rsp + 0x20], dl
imul eax, r10d
sub r9d, eax
lea rdx, str.nonconformist
sub r9d, r14d
add r9d, r13d
call fcn.14008a700
mov ecx, dword [rsp + 0x48]
mov edx, dword [rsp + 0x40]
mov r8, qword [rsp + 0x80]
inc rbp
cmp byte [rsi + rbp], 0
jne 0x140046277
mov rax, qword [rsp + 0x58]
imul ebp, dword [rax + 0x18]
lea eax, [rcx + rcx]
sub r15d, eax
mov eax, 9
sub eax, dword [rsp + 0x44]
lea ecx, [r15*2]
imul ebp, r12d
add ecx, ebp
imul eax, dword [rsp + 0x68]
add ecx, eax
movzx eax, byte [rsp + 0x50]
sub ecx, eax
sub ecx, r8d
sub ecx, dword [rsp + 0x70]
sub ecx, dword [rsp + 0x78]
sub ecx, dword [rsp + 0x4c]
sub ecx, ebx
sub ecx, r14d
sub ecx, edi
add ecx, dword [rsp + 0x60]
lea eax, [rdx + rcx]
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret