Function at 0x140030310
Capabilities:
Get common file path
Set file attributes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x610
lea rbp, [rsp + 0x50]
and rbp, 0xffffffffffffffe0
mov rax, qword [0x1401137c0]
xor rax, rsp
mov qword [rbp + 0x5b0], rax
xor r13d, r13d
lea rdx, [rbp + 0x3a0]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
movabs rax, 0xba3a254fbada4c52
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x10], rax
movabs rax, 0xae32f09090926173
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x18], rax
movabs rax, 0x65783f99f8556617
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x20], rax
movabs r15, 0x914116c474b5c6f0
mov qword [rbp], r15
mov rax, qword [rbp]
mov qword [rbp + 0x28], rax
movabs rsi, 0xba4a253bbaaf4c3d
mov qword [rbp], rsi
mov rax, qword [rbp]
mov qword [rbp + 0x320], rax
movabs r12, 0xae46f0be90e66106
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x328], rax
movabs r14, 0x65783f99f821666f
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x330], rax
mov qword [rbp], r15
mov rax, qword [rbp]
mov qword [rbp + 0x338], rax
vmovdqu ymm0, ymmword [rbp + 0x10]
vpxor ymm1, ymm0, ymmword [rbp + 0x320]
vmovdqu ymmword [rbp + 0x10], ymm1
lea rdx, [rbp + 0x3a0]
lea rcx, [rbp + 0xb0]
vzeroupper
call fcn.1400374a0
mov rdi, rax
lea rax, [rbp + 0x10]
mov rbx, 0xffffffffffffffff
mov rdx, rbx
nop dword [rax]
inc rdx
cmp word [rax + rdx*2], 0
jne 0x140030450
mov rcx, qword [rdi + 0x10]
mov r8, qword [rdi + 0x18]
mov rax, r8
sub rax, rcx
cmp rdx, rax
ja 0x1400304ad
lea r14, [rcx + rdx]
mov qword [rdi + 0x10], r14
mov rsi, rdi
cmp r8, 7
jbe 0x140030481
mov rsi, qword [rdi]
lea rcx, [rsi + rcx*2]
lea r8, [rdx + rdx]
lea rdx, [rbp + 0x10]
call fcn.1400da2d0
mov word [rsi + r14*2], r13w
movabs rsi, 0xba4a253bbaaf4c3d
movabs r14, 0x65783f99f821666f
jmp 0x1400304c4
mov qword [rsp + 0x20], rdx
lea r9, [rbp + 0x10]
xor r8d, r8d
mov rcx, rdi
call fcn.140016960
mov rdi, rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x240], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x250], xmm1
movups xmm0, xmmword [rdi]
movups xmmword [rbp + 0x240], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbp + 0x250], xmm1
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], 7
mov word [rdi], r13w
mov rdx, qword [rbp + 0xc8]
cmp rdx, 7
jbe 0x140030544
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003053f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003103e
call fcn.1400a6630
movdqa xmm0, xmmword [0x140101ab0]
movdqu xmmword [rbp + 0xc0], xmm0
mov word [rbp + 0xb0], r13w
lea rdx, [rbp + 0x240]
cmp qword [rbp + 0x258], 7
cmova rdx, qword [rbp + 0x240]
mov rax, qword [rbp + 0x250]
lea r8, [rdx + rax*2]
lea rdx, [rbp + 0x240]
cmova rdx, qword [rbp + 0x240]
lea rcx, [rbp + 0xd0]
call fcn.140037710
mov r8, rax
movabs rax, 0xdf225649dfd8234d
mov qword [rbp], rax
mov rcx, qword [rbp]
mov qword [rbp + 0x40], rcx
movabs rax, 0x836695c6f5c80d6a
mov qword [rbp], rax
mov rcx, qword [rbp]
mov qword [rbp + 0x48], rcx
movabs rax, 0x451c51f8954c092c
mov qword [rbp], rax
mov rcx, qword [rbp]
mov qword [rbp + 0x50], rcx
movabs rax, 0xd2315be900d081d2
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x58], rax
movabs rax, 0x4b443f0bdd2ef14e
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x60], rax
movabs rax, 0x24eb6641d779145e
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x68], rax
movabs rax, 0x9a5ce09e9979ddd5
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x70], rax
movabs rax, 0x4876191e58c0e9e6
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x78], rax
movabs rax, 0x4c93b327dde5a128
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x80], rax
movabs rax, 0x28621353c316cee0
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x88], rax
movabs rax, 0x84275111a66516a9
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x90], rax
movabs rcx, 0x148a69fc2f2b69f8
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x98], rax
mov qword [rbp], rsi
mov rax, qword [rbp]
mov qword [rbp + 0x340], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x348], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x350], rax
mov qword [rbp], r15
mov rax, qword [rbp]
mov qword [rbp + 0x358], rax
movabs rax, 0x18365a7fa85e9c21
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x360], rax
movabs rax, 0x4974632a20d752a
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x368], rax
movabs rax, 0xba2e94edfd17b4b3
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x370], rax
movabs rax, 0x3a19706839a88ca4
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x378], rax
movabs rax, 0x9e1dc53b48bce65
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x380], rax
movabs rax, 0x8407736af74af8e
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x388], rax
movabs rax, 0x84275111a6653697
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x390], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x398], rax
vmovdqu ymm0, ymmword [rbp + 0x40]
vpxor ymm1, ymm0, ymmword [rbp + 0x340]
vmovdqa ymmword [rbp + 0x40], ymm1
vmovdqu ymm0, ymmword [rbp + 0x60]
vpxor ymm1, ymm0, ymmword [rbp + 0x360]
vmovdqa ymmword [rbp + 0x60], ymm1
vmovdqu ymm0, ymmword [rbp + 0x80]
vpxor ymm1, ymm0, ymmword [rbp + 0x380]
vmovdqa ymmword [rbp + 0x80], ymm1
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x2a0]
vzeroupper
call fcn.1400375e0
nop
mov rdx, qword [rbp + 0xe8]
cmp rdx, 0xf
jbe 0x14003083b
inc rdx
mov rcx, qword [rbp + 0xd0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140030836
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140031044
call fcn.1400a6630
movdqa xmm0, xmmword [0x140101ac0]
movdqu xmmword [rbp + 0xe0], xmm0
mov byte [rbp + 0xd0], 0
lea rcx, [rbp + 0x2a0]
cmp qword [rbp + 0x2b8], 0xf
cmova rcx, qword [rbp + 0x2a0]
call fcn.1400b786c
lea rcx, [rbp + 0x240]
cmp qword [rbp + 0x258], 7
cmova rcx, qword [rbp + 0x240]
mov esi, 2
mov edx, esi
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0x130]
call fcn.1400da970
lea rdx, [rbp + 0x240]
cmp qword [rbp + 0x258], 7
cmova rdx, qword [rbp + 0x240]
mov rax, qword [rbp + 0x250]
lea r8, [rdx + rax*2]
lea rdx, [rbp + 0x240]
cmova rdx, qword [rbp + 0x240]
lea rcx, [rbp + 0xf0]
call fcn.140037710
nop
cmp qword [rax + 0x18], 0xf
jbe 0x1400308ee
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rbp + 0x130]
call fcn.140013910
mov rax, qword [rbp + 0x130]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x130], rax
mov rax, qword [rbp + 0x130]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x12c], edx
mov rdx, qword [rbp + 0x108]
cmp rdx, 0xf
jbe 0x140030970
inc rdx
mov rcx, qword [rbp + 0xf0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003096b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003104a
call fcn.1400a6630
movdqa xmm0, xmmword [0x140101ac0]
movdqu xmmword [rbp + 0x100], xmm0
mov byte [rbp + 0xf0], 0
mov rcx, qword [rbp + 0x130]
movsxd rax, dword [rcx + 4]
test byte [rbp + rax + 0x140], 6
je 0x140030b0f
movabs rax, 0xd56a5154d4c12d7e
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x2c0], rax
movabs rax, 0xde3285d1b0880476
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x2c8], rax
movabs rax, 0x4b1d53f09e01121a
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x2d0], rax
movabs rax, 0x914116c474b5c6fa
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x2d8], rax
movabs rax, 0xba4a253bbaaf4c3d
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x2e0], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x2e8], rax
mov qword [rbp], r14
mov rax, qword [rbp]
mov qword [rbp + 0x2f0], rax
mov qword [rbp], r15
mov rax, qword [rbp]
mov qword [rbp + 0x2f8], rax
vmovdqu ymm0, ymmword [rbp + 0x2c0]
vpxor ymm1, ymm0, ymmword [rbp + 0x2e0]
vmovdqa ymmword [rbp + 0x2c0], ymm1
lea rdx, [rbp + 0x2c0]
lea rcx, [0x140115730]
vzeroupper
call fcn.1400155e0
lea rdx, [rbp + 0x240]
cmp qword [rbp + 0x258], 7
cmova rdx, qword [rbp + 0x240]
mov rax, qword [rbp + 0x250]
lea r8, [rdx + rax*2]
lea rdx, [rbp + 0x240]
cmova rdx, qword [rbp + 0x240]
lea rcx, [rbp + 0x2c0]
call fcn.140037710
cmp qword [rax + 0x18], 0xf
jbe 0x140030abf
mov rax, qword [rax]
mov rcx, rax
call fcn.1400b9bf8
mov rdx, qword [rbp + 0x2d8]
cmp rdx, 0xf
jbe 0x140030b08
inc rdx
mov rcx, qword [rbp + 0x2c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140030b03
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140031050
call fcn.1400a6630
xor bl, bl
jmp 0x140030ee3
xorps xmm0, xmm0
movups xmmword [rbp + 0x260], xmm0
mov qword [rbp + 0x270], r13
mov qword [rbp + 0x278], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x260], 0
movsxd rax, dword [rcx + 4]
mov rcx, qword [rbp + rax + 0x170]
mov rcx, qword [rcx + 8]
mov qword [rbp + 0xa8], rcx
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
lea rcx, [rbp + 0xa0]
call fcn.140014f10
mov rcx, qword [rax]
mov r8, qword [rcx + 0x40]
mov dl, 0xa
mov rcx, rax
call r8
movzx edi, al
mov rcx, qword [rbp + 0xa8]
test rcx, rcx
je 0x140030b96
mov rdx, qword [rcx]
call qword [rdx + reloc.WS2_32.dll_recv]
test rax, rax
je 0x140030b96
mov rcx, qword [rax]
mov r8, qword [rcx]
mov edx, 1
mov rcx, rax
call r8
movzx r8d, dil
lea rdx, [rbp + 0x260]
lea rcx, [rbp + 0x130]
call fcn.140037860
lea rcx, [rbp + 0x140]
call fcn.140013810
test rax, rax
jne 0x140030bfa
mov rax, qword [rbp + 0x130]
movsxd rcx, dword [rax + 4]
mov eax, 6
cmp qword [rbp + rcx + 0x178], 0
cmovne eax, esi
or eax, dword [rbp + rcx + 0x140]
and eax, 0x17
mov dword [rbp + rcx + 0x140], eax
mov edx, dword [rbp + rcx + 0x144]
and edx, eax
jne 0x140031056
lea rdx, [rbp + 0x240]
cmp qword [rbp + 0x258], 7
cmova rdx, qword [rbp + 0x240]
mov rax, qword [rbp + 0x250]
lea r8, [rdx + rax*2]
lea rdx, [rbp + 0x240]
cmova rdx, qword [rbp + 0x240]
lea rcx, [rbp + 0x110]
call fcn.140037710
cmp qword [rax + 0x18], 0xf
jbe 0x140030c41
mov rax, qword [rax]
mov rcx, rax
call fcn.1400b9bf8
mov rdx, qword [rbp + 0x128]
cmp rdx, 0xf
jbe 0x140030c8a
inc rdx
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140030c85
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400310b0
call fcn.1400a6630
movdqa xmm0, xmmword [0x140101ac0]
movdqu xmmword [rbp + 0x120], xmm0
mov byte [rbp + 0x110], 0
lea r14, [rbp + 0x260]
mov rdi, qword [rbp + 0x260]
mov r15, qword [rbp + 0x278]
cmp r15, 0xf
cmova r14, rdi
mov rsi, qword [rbp + 0x270]
cmp rsi, 1
jb 0x140030d20
lea r12, [rsi + r14]
mov r8, rsi
mov edx, 0x3a
mov rcx, r14
call fcn.1400dad10
test rax, rax
je 0x140030d16
cmp byte [rax], 0x3a
jne 0x140030cee
mov ecx, r13d
jmp 0x140030cf3
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x140030e36
inc rax
mov r8, r12
sub r8, rax
mov edx, 0x3a
mov rcx, rax
call fcn.1400dad10
test rax, rax
jne 0x140030ce4
movabs r12, 0xae46f0be90e66106
mov rax, rbx
cmp rax, 0xffffffffffffffff
je 0x140030e91
lea rcx, [rax + 2]
xorps xmm0, xmm0
movups xmmword [rbp + 0x280], xmm0
mov qword [rbp + 0x290], r13
mov qword [rbp + 0x298], r13
cmp rsi, rcx
jb 0x1400310b6
sub rsi, rcx
mov r8, rbx
cmp rsi, rbx
cmovb r8, rsi
lea rdx, [rbp + 0x260]
cmp r15, 0xf
cmova rdx, rdi
add rdx, rcx
lea rcx, [rbp + 0x280]
call fcn.140016e10
movabs rax, 0xba4a253bdfda3e69
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x2e0], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x2e8], rax
movabs rax, 0xba4a253bbaaf4c3d
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x2c0], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x2c8], rax
movdqa xmm0, xmmword [rbp + 0x2e0]
xorps xmm0, xmmword [rbp + 0x2c0]
movdqa xmmword [rbp + 0x2e0], xmm0
lea rax, [rbp + 0x2e0]
nop dword [rax + rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x140030df0
lea rcx, [rbp + 0x280]
mov rdi, qword [rbp + 0x280]
mov rsi, qword [rbp + 0x298]
cmp rsi, 0xf
cmova rcx, rdi
mov r8, qword [rbp + 0x290]
cmp r8, rbx
jne 0x140030e48
lea rdx, [rbp + 0x2e0]
call fcn.1400dadb0
test eax, eax
jne 0x140030e48
mov bl, 1
jmp 0x140030e4a
sub rax, r14
movabs r12, 0xae46f0be90e66106
jmp 0x140030d23
xor bl, bl
cmp rsi, 0xf
jbe 0x140030e81
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x140030e79
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400310bc
mov rcx, rdi
call fcn.1400a6630
mov r15, qword [rbp + 0x278]
mov rdi, qword [rbp + 0x260]
jmp 0x140030e93
xor bl, bl
cmp r15, 0xf
jbe 0x140030eca
lea rdx, [r15 + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x140030ec2
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400310c2
mov rcx, rdi
call fcn.1400a6630
mov qword [rbp + 0x270], r13
mov qword [rbp + 0x278], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x260], 0
mov rax, qword [rbp + 0x130]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x130], rax
mov rax, qword [rbp + 0x130]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x12c], edx
lea rcx, [rbp + 0x140]
call fcn.140010eb0
mov rax, qword [rbp + 0x130]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x130], rax
mov rax, qword [rbp + 0x130]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rbp + rcx + 0x12c], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x1e0], rax
lea rcx, [rbp + 0x1e0]
call fcn.1400a4bd8
nop
mov rdx, qword [rbp + 0x2b8]
cmp rdx, 0xf
jbe 0x140030fac
inc rdx
mov rcx, qword [rbp + 0x2a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140030fa7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400310c8
call fcn.1400a6630
movdqa xmm0, xmmword [0x140101ac0]
movdqu xmmword [rbp + 0x2b0], xmm0
mov byte [rbp + 0x2a0], 0
mov rdx, qword [rbp + 0x258]
cmp rdx, 7
jbe 0x140031005
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x240]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140031000
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140031038
call fcn.1400a6630
movzx eax, bl
mov rcx, qword [rbp + 0x5b0]
xor rcx, rsp
call fcn.1400a6610
lea r11, [rsp + 0x610]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1400b90b8
nop
call fcn.1400b90b8
nop
call fcn.1400b90b8
nop
call fcn.1400b90b8
int3
call fcn.1400b90b8
nop
test dl, 4
je 0x140031064
lea rbx, str.ios_base::badbit_set
jmp 0x140031079
test dl, 2
lea rbx, str.ios_base::failbit_set
lea rax, str.ios_base::eofbit_set
cmove rbx, rax
mov edx, 1
lea rcx, [rbp + 0x2c0]
call fcn.1400063b0
mov r8, rax
mov rdx, rbx
lea rcx, [rbp + 0x2e0]
call fcn.140006ed0
lea rdx, [0x1401112d8]
lea rcx, [rbp + 0x2e0]
call fcn.1400a8d38
int3
call fcn.1400b90b8
int3
call fcn.140014b40
int3
call fcn.1400b90b8
nop
call fcn.1400b90b8
nop
call fcn.1400b90b8
int3