Function at 0x180103430
Capabilities:
Accept command line arguments
Get common file path

Disassembly:
mov rax, rsp
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x1f8]
sub rsp, 0x2d0
mov qword [rbp + 0x40], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x1803fc9f0]
xor rax, rsp
mov qword [rbp + 0x1c0], rax
mov r14, rcx
xor r12d, r12d
mov dword [rsp + 0x38], r12d
xor ecx, ecx
call fcn.1802d7150
movabs rcx, 0x2b6109100
add rax, rcx
imul rax, rax, 0xf4240
mov qword [r14 + 0x38], rax
call qword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov qword [rbp + 0x58], r12
mov qword [rbp + 0x60], r12
mov qword [rbp + 0x60], recv
mov qword [rbp + 0x58], r12
mov byte [rbp + 0x48], r12b
cmp byte [rax], r12b
jne 0x1801034bc
mov r8d, r12d
jmp 0x1801034c9
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r12b
jne 0x1801034c0
mov rdx, rax
lea rcx, [rbp + 0x48]
call fcn.1800ace90
nop
mov rsi, qword [rbp + 0x58]
cmp rsi, 0x10
jb 0x180103860
add rsi, 0xfffffffffffffff1
lea rdi, [rbp + 0x48]
cmp qword [rbp + 0x60], 0x10
cmovae rdi, qword [rbp + 0x48]
test rsi, rsi
je 0x180103860
mov r8, rsi
mov edx, 0x2d
mov rcx, rdi
call fcn.1802c7a74
mov rbx, rax
test rax, rax
je 0x180103860
mov r8d, reloc.WSOCK32.dll_recv
lea rdx, [0x1800159d8]
mov rcx, rax
call fcn.1802c7aa0
test eax, eax
je 0x180103543
sub rdi, rbx
dec rdi
add rsi, rdi
lea rdi, [rbx + 1]
jmp 0x1801034f6
lea rax, [rbp + 0x48]
mov rcx, qword [rbp + 0x48]
mov rdx, qword [rbp + 0x60]
cmp rdx, 0x10
cmovae rax, rcx
sub rbx, rax
cmp rbx, 0xffffffffffffffff
je 0x180103860
lea rdi, [rbx + 0x11]
lea r8, [rdi + 1]
mov r9, qword [rbp + 0x58]
cmp r9, r8
ja 0x180103582
lea rcx, [0x180091e38]
call fcn.1802b9a54
int3
lea rax, [rbp + 0x48]
cmp rdx, 0x10
cmovae rax, rcx
cmp byte [rax + r8], 0x3a
je 0x18010371d
lea rcx, [0x180400af8]
call fcn.1800ab990
lea rsi, [r14 + 0x40]
cmp rsi, rax
je 0x1801035c0
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
mov rcx, rsi
call fcn.1800adf50
or r8, 0xffffffffffffffff
mov dl, 0x5c
mov rcx, rsi
call fcn.1801045e0
cmp rax, 0xffffffffffffffff
je 0x180103b64
lea r9, [rax + 1]
xor r8d, r8d
lea rdx, [rbp + 0x88]
mov rcx, rsi
call fcn.1800acaf0
nop
mov rdx, rax
mov rcx, rsi
call fcn.1800ad1a0
nop
lea rcx, [rbp + 0x88]
call fcn.1800ad110
mov edx, 2
lea r8d, [rdx - 1]
lea rcx, [rbp + 0xb0]
call fcn.1800c8350
nop
mov rax, qword [rbp + 0xb0]
movsxd rcx, dword [rax + 4]
and dword [rbp + rcx + 0xc8], 0xfffff3ff
or dword [rbp + rcx + 0xc8], 0x200
mov rbx, qword [r14 + 8]
movzx edx, word [rbx + 2]
lea rcx, [rbp + 0xb0]
call fcn.1800d3bc0
mov rcx, rax
lea rdx, [0x1800159ec]
call fcn.1800cc7f0
mov rcx, rax
movzx edx, word [rbx + 6]
call fcn.1800d3bc0
mov rcx, rax
lea rdx, [0x1800159d4]
call fcn.1800cc7f0
mov rcx, rax
movzx edx, word [rbx + 4]
call fcn.1800d3bc0
lea rdx, [rbp + 0x88]
lea rcx, [rbp + 0xb0]
call fcn.1800c8280
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
mov rcx, rsi
call fcn.1800ae090
nop
lea rcx, [rbp + 0x88]
call fcn.1800ad110
mov r8d, 1
lea rdx, [0x1800159f0]
mov rcx, rsi
call fcn.1800acfc0
nop
lea rcx, [rbp + 0x138]
call fcn.1800c82c0
lea rax, [rbp + 0x138]
mov qword [rsp + 0x30], rax
lea rsi, [0x180080df8]
mov qword [rbp + 0x138], rsi
lea r15, [0x180080dd0]
mov qword [rbp + 0x138], r15
lea rcx, [rbp + 0x138]
call fcn.1802ba558
mov rdx, qword [rbp + 0x60]
mov r9, qword [rbp + 0x58]
mov rcx, qword [rbp + 0x48]
lea r8, [rdi - 1]
cmp r9, r8
ja 0x180103733
lea rcx, [0x180091e38]
call fcn.1802b9a54
int3
lea rax, [rbp + 0x48]
cmp rdx, 0x10
cmovae rax, rcx
lea rcx, [rbp + 0x48]
cmp byte [rax + r8], 0x22
jne 0x180103751
mov r8, rdi
mov dl, 0x22
jmp 0x180103756
mov rdi, r8
mov dl, 0x20
call fcn.1800d3b20
sub rax, rdi
mov r9, rax
mov r8, rdi
lea rdx, [rbp + 0x68]
lea rcx, [rbp + 0x48]
call fcn.1800acaf0
nop
lea rbx, [r14 + 0x40]
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
mov rcx, rbx
call fcn.1800ae090
nop
mov rax, qword [rbp + 0x80]
cmp rax, 0x10
jb 0x1801037e2
inc rax
mov rcx, qword [rbp + 0x68]
cmp rax, 0x1000
jb 0x1801037dd
test cl, 0x1f
je 0x1801037b0
call fcn.1802d51b4
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x1801037bf
call fcn.1802d51b4
int3
sub rcx, rax
cmp rcx, 8
jae 0x1801037ce
call fcn.1802d51b4
int3
cmp rcx, 0x27
jbe 0x1801037da
call fcn.1802d51b4
int3
mov rcx, rax
call fcn.18011da90
mov qword [rbp + 0x80], socket
mov qword [rbp + 0x78], r12
mov byte [rbp + 0x68], 0
cmp qword [rbx + 0x18], 0x10
jb 0x180103801
mov rcx, qword [rbx]
jmp 0x180103804
mov rcx, rbx
mov rax, qword [rbx + 0x10]
add rax, rcx
cmp qword [rbx + 0x18], 0x10
jb 0x180103817
mov rcx, qword [rbx]
jmp 0x18010381a
mov rcx, rbx
mov rdx, rax
sub rdx, rcx
cmp rcx, rax
cmova rdx, r12
test rdx, rdx
je 0x180103846
mov r8, rcx
neg r8
cmp byte [rcx], 0x2f
jne 0x18010383a
mov byte [rcx], 0x5c
inc rcx
lea rax, [r8 + rcx]
cmp rax, rdx
jne 0x180103832
mov r8d, 8
lea rdx, [0x1800159f8]
mov rcx, rbx
call fcn.1800acfc0
jmp 0x180103b30
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x20], rax
mov r9d, 1
xor r8d, r8d
lea edx, [r9 + 0x1b]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
jne 0x180103b64
lea rcx, [0x180000000]
lea rax, [rcx + 0x944e8]
mov qword [rsp + 0x40], rax
lea rax, [rcx + 0x93ed8]
mov qword [rsp + 0x50], rax
lea rax, [rbp - 0x28]
mov qword [rsp + 0x30], rax
lea r15, [0x180080dd0]
mov qword [rbp - 0x28], r15
lea rsi, [0x180080df8]
mov qword [rbp - 0x28], rsi
mov dword [rsp + 0x38], 1
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea rax, [0x1800944e0]
mov qword [rsp + rcx + 0x40], rax
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rsp + rcx + 0x3c], edx
mov qword [rsp + 0x48], r12
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x40]
add rcx, rax
xor r8d, r8d
lea rdx, [rsp + 0x58]
call fcn.1800cc050
nop
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
lea rax, [0x180080e08]
mov qword [rsp + rcx + 0x50], rax
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rsp + rcx + 0x4c], edx
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea rax, [0x1800944d0]
mov qword [rsp + rcx + 0x40], rax
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x20]
mov dword [rsp + rcx + 0x3c], edx
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea rax, [0x1800944d8]
mov qword [rsp + rcx + 0x40], rax
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rsp + rcx + 0x3c], edx
lea rax, [rsp + 0x58]
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x58]
call fcn.1800cbf90
nop
lea rax, [0x180080e98]
mov qword [rsp + 0x58], rax
mov qword [rbp - 0x40], r12
mov dword [rbp - 0x38], r12d
lea rdx, [rbp + 0xb0]
lea rcx, [rsp + 0x50]
call fcn.1800cc7f0
lea rdx, [0x180015a08]
lea rcx, [rbp + 0x88]
call fcn.1800aaba0
nop
lea rcx, [rsp + 0x30]
call fcn.1800b2130
mov rcx, rax
lea rdx, [rbp + 0x68]
call fcn.1800b2230
nop
xor r8d, r8d
lea rdx, [rbp + 0x88]
mov rcx, rax
call fcn.1800ab700
cmp eax, 0xffffffff
sete bl
lea rcx, [rbp + 0x68]
call fcn.1800ad110
lea rcx, [rbp + 0x68]
test bl, bl
je 0x180103a48
lea rdx, [0x180015a18]
call fcn.1800aaba0
nop
lea rcx, [rbp + 0x68]
call fcn.1800ab970
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.1800cc7f0
nop
jmp 0x180103a6c
lea rdx, [0x180015a40]
call fcn.1800aaba0
nop
lea rcx, [rbp + 0x68]
call fcn.1800ab970
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.1800cc7f0
nop
lea rcx, [rbp + 0x68]
call fcn.1800ad110
lea rdx, [rbp + 0x68]
lea rcx, [rsp + 0x40]
call fcn.1800d89d0
nop
lea rbx, [r14 + 0x40]
mov rdx, rax
mov rcx, rbx
call fcn.1800ad1a0
nop
mov rax, qword [rbp + 0x80]
cmp rax, 0x10
jb 0x180103aed
inc rax
mov rcx, qword [rbp + 0x68]
cmp rax, 0x1000
jb 0x180103ae8
test cl, 0x1f
je 0x180103abb
call fcn.1802d51b4
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x180103aca
call fcn.1802d51b4
int3
sub rcx, rax
cmp rcx, 8
jae 0x180103ad9
call fcn.1802d51b4
int3
cmp rcx, 0x27
jbe 0x180103ae5
call fcn.1802d51b4
int3
mov rcx, rax
call fcn.18011da90
mov qword [rbp + 0x80], socket
mov qword [rbp + 0x78], r12
mov byte [rbp + 0x68], 0
lea rcx, [rbp + 0x88]
call fcn.1800ad110
nop
lea rcx, [rbp - 0x28]
call fcn.1800d8a10
lea rax, [rbp - 0x28]
mov qword [rsp + 0x30], rax
mov qword [rbp - 0x28], rsi
mov qword [rbp - 0x28], r15
lea rcx, [rbp - 0x28]
call fcn.1802ba558
lea rcx, [r14 + 0x10]
lea rax, [0x180103c00]
mov qword [rcx], rax
cmp qword [rbx + 0x18], 0x10
jb 0x180103b48
mov rbx, qword [rbx]
mov r9d, 0x11c
mov r8d, 1
mov rdx, rbx
call fcn.1802b6070
test eax, eax
je 0x180103b64
mov bl, 1
jmp 0x180103b66
xor bl, bl
mov rax, qword [rbp + 0x60]
cmp rax, 0x10
jb 0x180103bbc
inc rax
mov rcx, qword [rbp + 0x48]
cmp rax, 0x1000
jb 0x180103bb7
test cl, 0x1f
je 0x180103b8a
call fcn.1802d51b4
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x180103b99
call fcn.1802d51b4
int3
sub rcx, rax
cmp rcx, 8
jae 0x180103ba8
call fcn.1802d51b4
int3
cmp rcx, 0x27
jbe 0x180103bb4
call fcn.1802d51b4
int3
mov rcx, rax
call fcn.18011da90
mov qword [rbp + 0x60], recv
mov qword [rbp + 0x58], r12
mov byte [rbp + 0x48], 0
movzx eax, bl
mov rcx, qword [rbp + 0x1c0]
xor rcx, rsp
call fcn.1802b85a0
lea r11, [rsp + 0x2d0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret