Function at 0x140051850
Capabilities:
Accept command line arguments

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2f0]
sub rsp, 0x3f0
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x440], rbx
mov rax, qword [0x1403ad830]
xor rax, rsp
mov qword [rbp + 0x2e0], rax
mov rsi, rdx
mov rbx, rcx
mov rcx, rdx
call fcn.14001f680
test al, al
je 0x1400518a6
xor eax, eax
jmp 0x140051cb0
lea rdx, [rbx + 0xd8]
lea rcx, [rsp + 0x38]
call fcn.140031dd0
nop
movzx eax, byte [rbx + 0xc6]
mov rdi, 0xffffffffffffffff
test al, al
jne 0x140051982
mov byte [rbx + 0xc6], 1
lea rdx, [rbx + 0x28]
cmp qword [rdx + 0x18], 0x10
jb 0x1400518e3
mov rdx, qword [rdx]
movdqa xmm0, xmmword [0x1402d0510]
movdqu xmmword [rsp + 0x58], xmm0
mov byte [rsp + 0x48], 0
mov r8, rdi
nop dword [rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x140051900
lea rcx, [rsp + 0x48]
call fcn.140004c40
nop
lea r12, [rbx + 0x110]
mov r8d, 0x3e8
lea rdx, [rsp + 0x48]
mov rcx, r12
call fcn.1400590c0
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x14005196d
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140051968
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140051cda
call fcn.140283144
movdqa xmm0, xmmword [0x1402d0510]
movdqu xmmword [rsp + 0x58], xmm0
mov byte [rsp + 0x48], 0
jmp 0x140051989
lea r12, [rbx + 0x110]
mov rcx, r12
call fcn.1400590d0
movzx eax, byte [rbx + 0xc4]
xor r14d, r14d
test al, al
jne 0x140051a05
mov rcx, rbx
call fcn.14002aa20
mov r8, rax
xor edx, edx
mov ecx, 0xf001f
call qword [sym.imp.KERNEL32.dll_OpenFileMappingW]
mov qword [rbx + 0xc8], rax
test rax, rax
je 0x140051a05
mov qword [rsp + 0x20], r14
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf001f
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [rbx + 0xd0], rax
test rax, rax
jne 0x1400519fe
mov rcx, qword [rbx + 0xc8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 0xc8], r14
jmp 0x140051a05
mov byte [rbx + 0xc4], 1
movzx eax, byte [rbx + 0xc4]
test al, al
jne 0x140051a1d
mov rcx, r12
call fcn.14005a170
jmp 0x140051ca4
lea rcx, [rbx + 0x48]
call fcn.14001f680
test al, al
je 0x140051ba7
xor edx, edx
mov r8d, 0x258
lea rcx, [rbp + 0x80]
call fcn.140285450
mov r8d, 0x12c
lea rdx, [rbp + 0x80]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea rdx, [rbp + 0x80]
lea rcx, [rsp + 0x68]
call fcn.14001c950
nop
lea rdx, [rsp + 0x68]
lea rcx, [rbx + 0x70]
call fcn.14001d690
nop
lea rcx, [rsp + 0x68]
call fcn.14001d440
lea rdx, [rbp + 8]
lea rcx, [rbx + 0x70]
call fcn.1400223f0
nop
mov rdx, rax
lea rcx, [rbx + 0x48]
call fcn.14001d690
nop
lea rcx, [rbp + 8]
call fcn.14001d440
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov rdx, rax
lea rcx, [rbp - 0x70]
call fcn.14001c950
nop
lea rdx, [rbp - 0x70]
lea rcx, [rbx + 0x98]
call fcn.14001d690
nop
lea rcx, [rbp - 0x70]
call fcn.14001d440
lea rcx, [rbx + 0x48]
call fcn.140026e10
cmp eax, 0x23
jle 0x140051aef
mov edx, 0x23
lea rcx, [rbx + 0x48]
call fcn.1400297c0
lea rcx, [rbx + 0x70]
call fcn.140026e10
cmp eax, 0x82
jle 0x140051b0d
mov edx, 0x82
lea rcx, [rbx + 0x70]
call fcn.1400297c0
lea rcx, [rbx + 0x98]
call fcn.140026e10
cmp eax, 0x82
jle 0x140051b31
mov edx, 0x82
lea rcx, [rbx + 0x98]
call fcn.1400297c0
lea rcx, [rbx + 0x48]
call fcn.14001f680
test al, al
je 0x140051b66
lea rdx, [0x1402d9150]
lea rcx, [rbp - 0x48]
call fcn.14001c950
nop
lea rdx, [rbp - 0x48]
lea rcx, [rbx + 0x48]
call fcn.14001d690
nop
lea rcx, [rbp - 0x48]
call fcn.14001d440
lea rcx, [rbx + 0x70]
call fcn.14001f680
test al, al
je 0x140051b9b
lea rdx, [0x1402d9150]
lea rcx, [rbp - 0x20]
call fcn.14001c950
nop
lea rdx, [rbp - 0x20]
lea rcx, [rbx + 0x70]
call fcn.14001d690
nop
lea rcx, [rbp - 0x20]
call fcn.14001d440
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [rbx + 0xc0], eax
xor ecx, ecx
call fcn.14028c13c
mov r15, rax
mov rcx, rsi
call fcn.140026e10
cmp eax, 0x258
jle 0x140051c8c
mov rcx, rsi
call fcn.140026e10
mov ecx, eax
mov eax, 0x1b4e81b5
imul ecx
mov r14d, edx
sar r14d, 6
mov ecx, r14d
shr ecx, 0x1f
add r14d, ecx
mov rcx, rsi
call fcn.140026e10
mov r13d, eax
mov eax, 0x1b4e81b5
imul r13d
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x258
sub r13d, eax
xor edi, edi
test r14d, r14d
jle 0x140051c5a
nop dword [rax]
nop word [rax + rax]
mov r9d, 0x258
mov r8d, edi
lea rdx, [rbp + 0x30]
mov rcx, rsi
call fcn.14002a1b0
nop
mov r8, rax
mov edx, r15d
mov rcx, rbx
call 0x140051ce0
nop
lea rcx, [rbp + 0x30]
call fcn.14001d440
add edi, 0x258
sub r14, 1
jne 0x140051c20
test r13d, r13d
jle 0x140051c9a
mov r9d, r13d
mov r8d, edi
lea rdx, [rbp + 0x58]
mov rcx, rsi
call fcn.14002a1b0
nop
mov r8, rax
mov edx, r15d
mov rcx, rbx
call 0x140051ce0
nop
lea rcx, [rbp + 0x58]
call fcn.14001d440
jmp 0x140051c9a
mov r8, rsi
mov edx, r15d
mov rcx, rbx
call 0x140051ce0
mov rcx, r12
call fcn.14005a170
xor edi, edi
lea rcx, [rsp + 0x38]
call fcn.140031f00
mov eax, edi
mov rcx, qword [rbp + 0x2e0]
xor rcx, rsp
call fcn.140283120
mov rbx, qword [rsp + 0x440]
add rsp, 0x3f0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140287d84
nop
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rbx, qword [rcx + 0xd0]
mov rsi, rcx
mov rdi, r8
mov eax, dword [rbx + 9]
imul r9, rax, 0x717
mov byte [r9 + rbx + 0xd], 0
mov eax, dword [rbx + 9]
imul r9, rax, 0x717
mov eax, dword [rbx + 1]
mov dword [r9 + rbx + 0xe], eax
mov eax, dword [rbx + 9]
imul r8, rax, 0x717
mov dword [r8 + rbx + 0x12], edx
mov eax, dword [rbx + 9]
imul rcx, rax, 0x717
mov eax, dword [rsi + 0xc0]
mov dword [rcx + rbx + 0x16], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, dword [rbx + 9]
imul rdx, rcx, 0x717
mov rcx, rdi
mov dword [rdx + rbx + 0x1a], eax
call fcn.14002aa20
mov ecx, dword [rbx + 9]
lea r8, [rbx + 0x1e]
imul rdx, rcx, 0x717
add r8, rdx
nop
movzx ecx, word [rax]
lea rax, [rax + 2]
mov word [r8], cx
lea r8, [r8 + 2]
test cx, cx
jne 0x140051d70
lea rcx, [rsi + 0x48]
call fcn.14002aa20
mov ecx, dword [rbx + 9]
lea r8, [rbx + 0x4d0]
imul rdx, rcx, 0x717
add r8, rdx
movzx ecx, word [rax]
lea rax, [rax + 2]
mov word [r8], cx
lea r8, [r8 + 2]
test cx, cx
jne 0x140051da1
lea rcx, [rsi + 0x70]
call fcn.14002aa20
mov ecx, dword [rbx + 9]
lea r8, [rbx + 0x518]
imul rdx, rcx, 0x717
add r8, rdx
nop dword [rax]
nop word [rax + rax]
movzx ecx, word [rax]
lea rax, [rax + 2]
mov word [r8], cx
lea r8, [r8 + 2]
test cx, cx
jne 0x140051de0
lea rcx, [rsi + 0x98]
call fcn.14002aa20
mov ecx, dword [rbx + 9]
lea r8, [rbx + 0x61e]
imul rdx, rcx, 0x717
add r8, rdx
nop dword [rax]
nop dword [rax + rax]
movzx ecx, word [rax]
lea rax, [rax + 2]
mov word [r8], cx
lea r8, [r8 + 2]
test cx, cx
jne 0x140051e20
inc dword [rbx + 9]
xor ecx, ecx
mov eax, dword [rbx + 9]
inc dword [rbx + 1]
mov rsi, qword [rsp + 0x38]
cmp eax, 0x5dc
mov byte [rbx], 1
cmovae eax, ecx
mov dword [rbx + 9], eax
xor eax, eax
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret