Function at 0x140003fe0
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x370]
sub rsp, 0x470
mov rax, qword [0x1400420c0]
xor rax, rsp
mov qword [rbp + 0x360], rax
mov r13, rdx
mov qword [rbp - 0x40], rdx
xor r15d, r15d
mov rdx, qword [r8]
lea rcx, [rbp - 0x38]
call fcn.140005c70
nop
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x14000497d
lea rdi, [rbp - 0x38]
mov rdx, qword [rbp - 0x38]
mov r8, qword [rbp - 0x20]
cmp r8, 0xf
cmova rdi, rdx
add rdi, rcx
lea rbx, [rbp - 0x38]
cmp r8, 0xf
cmova rbx, rdx
cmp rbx, rdi
je 0x140004080
nop dword [rax]
movzx ecx, byte [rbx]
call fcn.1400181b0
test eax, eax
je 0x140004074
inc rbx
cmp rbx, rdi
jne 0x140004060
mov r8, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x38]
lea rax, [rbp - 0x38]
cmp r8, 0xf
cmova rax, rdx
add rax, rcx
cmp rbx, rax
jne 0x14000497d
lea rax, [rbp + 0x150]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x10]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
js 0x14000496b
mov r12, r15
movzx ebx, byte [rsp + 0x30]
movzx edi, byte [rsp + 0x30]
nop dword [rax + rax]
call fcn.140016088
mov r14, rax
lea rsi, [rbp - 0x38]
cmp qword [rbp - 0x20], 0xf
cmova rsi, qword [rbp - 0x38]
mov dword [rax], r15d
mov r8d, 0xa
lea rdx, [rbp - 0x40]
mov rcx, rsi
call fcn.140016c30
cmp rsi, qword [rbp - 0x40]
je 0x1400049de
cmp dword [r14], 0x22
je 0x140004a21
cdqe
cmp r12, rax
jae 0x1400048dd
lea r9, [rbp + 0x14a]
mov rcx, r12
movabs r15, 0xcccccccccccccccd
nop
sub r9, 2
mov rax, r15
mul rcx
shr rdx, 3
movzx eax, dx
shl ax, 2
lea r8d, [rax + rdx]
add r8w, r8w
sub cx, r8w
add cx, 0x30
mov word [r9], cx
mov rcx, rdx
test rdx, rdx
jne 0x140004130
xor r15d, r15d
lea r8, [rbp + 0x14a]
mov rdx, r9
lea rcx, [rbp - 0x60]
call fcn.140007640
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x50], r15
lea rax, [rbp + 0x150]
mov rsi, 0xffffffffffffffff
nop dword [rax + rax]
inc rsi
cmp word [rax + rsi*2], 0
jne 0x1400041a0
movabs rax, 0x7ffffffffffffffe
cmp rsi, rax
ja 0x140004a1b
mov qword [rsp + 0x50], 7
cmp rsi, 7
ja 0x1400041f3
mov qword [rsp + 0x48], rsi
add rsi, rsi
mov r8, rsi
lea rdx, [rbp + 0x150]
lea rcx, [rsp + 0x38]
call fcn.14002d580
mov word [rsp + rsi + 0x38], r15w
jmp 0x1400042a9
mov r14, rsi
or r14, 7
cmp r14, rax
jbe 0x140004212
mov r14, rax
movabs rax, 0x7fffffffffffffff
lea rcx, [rax + rax]
jmp 0x140004242
cmp r14, 0xa
mov eax, 0xa
cmovb r14, rax
lea rcx, [r14 + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x140004a15
add rcx, rcx
cmp rcx, 0x1000
jb 0x14000426e
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140004a15
mov rcx, rax
call fcn.14000f230
test rax, rax
je 0x1400049f1
lea r15, [rax + 0x27]
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
jmp 0x14000427b
test rcx, rcx
je 0x14000427b
call fcn.14000f230
mov r15, rax
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], r14
add rsi, rsi
mov r8, rsi
lea rdx, [rbp + 0x150]
mov rcx, r15
call fcn.14002d580
xor eax, eax
mov word [rsi + r15], ax
xor r15d, r15d
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x1400042e5
lea rax, [rcx + 1]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x38]
cmp rdx, 7
cmova rax, qword [rsp + 0x38]
mov dword [rax + rcx*2], 0x5c
lea rax, [rsp + 0x38]
jmp 0x140004308
mov qword [rsp + 0x20], 1
lea r9, [0x14003a9bc]
movzx r8d, bl
mov edx, 1
lea rcx, [rsp + 0x38]
call fcn.140007790
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x70], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 7
mov word [rax], r15w
lea r9, [rbp - 0x60]
lea r8, [rbp - 0x80]
lea rcx, [rsp + 0x58]
call fcn.1400071e0
nop
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
mov rax, rdx
sub rax, rcx
cmp rax, 4
jb 0x140004383
lea rax, [rcx + 4]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x58]
cmp rdx, 7
cmova rax, qword [rsp + 0x58]
movabs rdx, 0x7400780074002e
mov qword [rax + rcx*2], rdx
mov word [rax + rcx*2 + 8], r15w
lea rax, [rsp + 0x58]
jmp 0x1400043a6
mov qword [rsp + 0x20], 4
lea r9, str..txt
movzx r8d, dil
mov edx, 4
lea rcx, [rsp + 0x58]
call fcn.140007790
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
mov qword [rbp - 8], r15
mov qword [rbp], r15
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x18], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 8], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 7
mov word [rax], r15w
mov rdx, qword [rsp + 0x70]
cmp rdx, 7
jbe 0x140004416
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004411
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400049f7
call fcn.14000f4b4
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], r15w
mov rdx, qword [rbp - 0x68]
cmp rdx, 7
jbe 0x14000446b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004465
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400049fd
call fcn.14000f4b4
nop
mov rdx, qword [rsp + 0x50]
cmp rdx, 7
jbe 0x1400044ad
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400044a8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004a03
call fcn.14000f4b4
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x50], 7
mov word [rsp + 0x38], r15w
mov rdx, qword [rbp - 0x48]
cmp rdx, 7
jbe 0x140004501
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400044fc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004a09
call fcn.14000f4b4
xor edx, edx
mov r8d, 0x108
lea rcx, [rbp + 0x10]
call fcn.14002dc20
lea rdx, [rbp - 0x18]
cmp qword [rbp], 7
cmova rdx, qword [rbp - 0x18]
lea rcx, [rbp + 0x10]
call fcn.140006190
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
lea rsi, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x10], rsi
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0xc], edx
cmp qword [rbp + 0x98], 0
je 0x14000482f
lea rdx, str.Look_inside__look_inside_your_tiny_mind__now_look_a_bit_harder_n
lea rcx, [rbp + 0x10]
call fcn.140006a20
mov rcx, rax
lea rdx, str.Cause_were_so_uninspired_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.So_sick_and_tired_of_all_the_hatred_you_harbour_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.So_you_say_its_not_okay_to_be_gay__well__I_think_youre_just_evil_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.Youre_just_some_racist_who_cant_tie_my_laces_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.Your_point_of_view_is_medieval_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.Fuck_you_Fuck_you___fuck_you_very__very_much_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.Cause_we_hate_what_you_do_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.And_we_hate_your_whole_crew_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.So__please_dont_stay_in_touch_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.Fuck_you_Fuck_you___fuck_you_very__very_much_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.Cause_your_words_dont_translate_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.And_its_getting_quite_late_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.So__please_dont_stay_in_touch_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.Do_you_get__do_you_get_a_little_kick_out_of_being_small___minded___n
call fcn.140006a20
mov rcx, rax
lea rdx, str.You_want_to_be_like_your_father__its_approval_youre_after_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.Well__thats_not_how_you_find_it_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.Do_you__do_you_really_enjoy_living_a_life_thats_so_hateful__n
call fcn.140006a20
mov rcx, rax
lea rdx, str.Cause_theres_a_hole_where_your_soul_should_be_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.Youre_losing_control_a_bit__and_its_really_distasteful_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.Fuck_you_Fuck_you___fuck_you_very__very_much_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.Cause_we_hate_what_you_do_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.And_we_hate_your_whole_crew_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.So__please_dont_stay_in_touch_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.Fuck_you_Fuck_you___fuck_you_very__very_much_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.Cause_your_words_dont_translate_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.And_its_getting_quite_late_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.So__please_dont_stay_in_touch_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.Fuck_you__fuck_you__fuck_you_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.Fuck_you__fuck_you__fuck_you_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.Fuck_you_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.You_say__you_think_we_need_to_go_to_war__well__youre_already_in_one_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.Cause_its_people_like_you_that_need_to_get_slew_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.No_one_wants_your_opinion_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.Fuck_you_Fuck_you___fuck_you_very__very_much_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.Cause_we_hate_what_you_do_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.And_we_hate_your_whole_crew_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.So__please_dont_stay_in_touch_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.Fuck_you_Fuck_you___fuck_you_very__very_much_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.Cause_your_words_dont_translate_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.And_its_getting_quite_late_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.So__please_dont_stay_in_touch_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.Fuck_you__fuck_you_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.Fuck_you__fuck_you_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.Fuck_you__fuck_you_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.Fuck_you__fuck_you_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.Fuck_you__fuck_you_n
call fcn.140006a20
mov rcx, rax
lea rdx, str.Fuck_you__fuck_you
call fcn.140006a20
nop
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x10], rsi
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0xc], edx
lea rcx, [rbp + 0x18]
call fcn.1400057d0
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x10], rax
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rbp + rcx + 0xc], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0xb8], rax
lea rcx, [rbp + 0xb8]
call fcn.14000e3f0
nop
mov rdx, qword [rbp]
cmp rdx, 7
jbe 0x1400048d5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400048d0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004a0f
call fcn.14000f4b4
inc r12
jmp 0x1400040d0
mov r8d, send
lea rdx, str.Created_files_
xorps xmm0, xmm0
movups xmmword [r13], xmm0
mov qword [r13 + 0x18], r15
mov qword [r13 + 0x10], r15
mov rcx, r13
call fcn.1400029d0
nop
mov rdx, qword [rbp - 0x20]
cmp rdx, 0xf
jbe 0x14000493e
inc rdx
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004939
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400049eb
call fcn.14000f4b4
mov rax, r13
mov rcx, qword [rbp + 0x360]
xor rcx, rsp
call fcn.14000f210
mov rbx, qword [rsp + 0x4b0]
add rsp, 0x470
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r8d, 0x2d
lea rdx, str.Error:_Unable_to_get_desktop_directory_path._n
jmp 0x1400048ea
xorps xmm0, xmm0
movups xmmword [r13], xmm0
mov qword [r13 + 0x10], r15
mov qword [r13 + 0x18], r15
mov r8d, reloc.WS2_32.dll_socket
lea rdx, str.Arg_0__is_not_a_number_
mov rcx, r13
call fcn.1400029d0
nop
mov rdx, qword [rbp - 0x20]
cmp rdx, 0xf
jbe 0x14000493e
inc rdx
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004939
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400049eb
jmp 0x140004939
lea rcx, str.invalid_stoi_argument
call fcn.14000dd70
nop
call fcn.140015f3c
nop
call fcn.140015f3c
nop
call fcn.140015f3c
nop
call fcn.140015f3c
nop
call fcn.140015f3c
nop
call fcn.140015f3c
nop
call fcn.140015f3c
nop
call fcn.140001f70
int3
call fcn.140002010
nop
lea rcx, str.stoi_argument_out_of_range
call fcn.14000ddb8
int3