Function at 0x140008750
Capabilities:
Get common file path

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x248]
sub rsp, 0x320
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x140101940]
xor rax, rsp
mov qword [rbp + 0x1f0], rax
xor r12d, r12d
mov ebx, r12d
mov dword [rsp + 0x30], ebx
lea rcx, [rbp - 0x50]
call fcn.1400090b0
nop
mov r8d, listen
lea rdx, str.MSPS_Log.dll
mov rcx, rax
call fcn.140014c60
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], r12b
or ebx, 1
mov rdx, qword [0x140104ca0]
cmp rdx, 0xf
jbe 0x140008812
mov rcx, qword [0x140104c88]
inc rdx
cmp rdx, 0x1000
jb 0x14000880d
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140008fee
mov rcx, r8
call fcn.1400987d0
movups xmmword [0x140104c88], xmm6
movups xmmword [0x140104c98], xmm7
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x14000885b
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140008856
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008fe8
call fcn.1400987d0
lea rcx, [rsp + 0x38]
call fcn.1400090b0
nop
mov r8d, listen
lea rdx, str.config.json
mov rcx, rax
call fcn.140014c60
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
or ebx, 2
mov rdx, qword [0x140104c20]
cmp rdx, 0xf
jbe 0x1400088d5
mov rcx, qword [0x140104c08]
inc rdx
cmp rdx, 0x1000
jb 0x1400088d0
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140008ffa
mov rcx, r8
call fcn.1400987d0
movups xmmword [0x140104c08], xmm6
movups xmmword [0x140104c18], xmm7
mov rdx, qword [rsp + 0x50]
cmp rdx, 0xf
jbe 0x140008920
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000891b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008ff4
call fcn.1400987d0
lea rax, [rsp + 0x38]
mov qword [rsp + 0x60], rax
lea r14, [0x140104c88]
cmp qword [0x140104ca0], 0xf
cmova r14, qword [0x140104c88]
mov rsi, qword [0x140104c98]
call fcn.140096a94
mov r15d, eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x50], 7
mov word [rsp + 0x38], r12w
or ebx, 0x10
mov dword [rsp + 0x30], ebx
test rsi, rsi
je 0x1400089eb
cmp rsi, 0x7fffffff
ja 0x140009000
mov dword [rsp + 0x20], r12d
xor r9d, r9d
mov r8d, esi
mov rdx, r14
mov ecx, eax
call fcn.140096abc
mov rdi, rax
shr rax, 0x20
test eax, eax
jne 0x140009006
xor r8d, r8d
movsxd rdx, edi
lea rcx, [rsp + 0x38]
call fcn.140014b30
lea r9, [rsp + 0x38]
cmp qword [rsp + 0x50], 7
cmova r9, qword [rsp + 0x38]
mov dword [rsp + 0x20], edi
mov r8d, esi
mov rdx, r14
mov ecx, r15d
call fcn.140096abc
mov rcx, rax
shr rax, 0x20
test eax, eax
jne 0x140009012
and ebx, 0xffffffef
or ebx, 0xc
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x38]
call fcn.140002dc0
nop
mov rdx, qword [rsp + 0x50]
cmp rdx, 7
jbe 0x140008a42
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140008a3d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000901c
call fcn.1400987d0
movdqa xmm0, xmmword [0x1400f0450]
movdqu xmmword [rsp + 0x48], xmm0
mov word [rsp + 0x38], r12w
lea rcx, [rbp - 0x50]
call fcn.140003ae0
test al, al
jne 0x140008aa7
mov qword [rsp + 0x60], r12
lea rax, [0x1401025d0]
mov qword [rsp + 0x68], rax
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x50]
call fcn.140003bf0
cmp dword [rsp + 0x60], 0
jne 0x140009022
mov r8d, reloc.WS2_32.dll_recvfrom
lea rdx, str.__Log_Dir_Created
lea rcx, [0x1401025e8]
call fcn.140014c60
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 7
jbe 0x140008ae7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140008ae2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140009038
call fcn.1400987d0
lea rax, [rsp + 0x38]
mov qword [rsp + 0x60], rax
lea r14, [0x140104c08]
cmp qword [0x140104c20], 0xf
cmova r14, qword [0x140104c08]
mov rsi, qword [0x140104c18]
call fcn.140096a94
mov r15d, eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x50], 7
mov word [rsp + 0x38], r12w
bts ebx, 7
mov dword [rsp + 0x30], ebx
test rsi, rsi
je 0x140008bb3
cmp rsi, 0x7fffffff
ja 0x14000903e
mov dword [rsp + 0x20], r12d
xor r9d, r9d
mov r8d, esi
mov rdx, r14
mov ecx, eax
call fcn.140096abc
mov rdi, rax
shr rax, 0x20
test eax, eax
jne 0x140009044
xor r8d, r8d
movsxd rdx, edi
lea rcx, [rsp + 0x38]
call fcn.140014b30
lea r9, [rsp + 0x38]
cmp qword [rsp + 0x50], 7
cmova r9, qword [rsp + 0x38]
mov dword [rsp + 0x20], edi
mov r8d, esi
mov rdx, r14
mov ecx, r15d
call fcn.140096abc
mov rcx, rax
shr rax, 0x20
test eax, eax
jne 0x140009050
btr ebx, 7
or ebx, 0x60
lea rcx, [rsp + 0x38]
call fcn.140003ae0
movzx edi, al
mov rdx, qword [rsp + 0x50]
cmp rdx, 7
jbe 0x140008c09
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140008c04
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000905a
call fcn.1400987d0
test dil, dil
je 0x140008c13
call fcn.140009210
call fcn.140009a60
mov r8d, 0x104
lea rdx, [rbp - 0x30]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea rax, [rbp - 0x70]
mov qword [rsp + 0x60], rax
lea r13, [rbp - 0x30]
lea rax, [rbp - 0x30]
mov rdi, 0xffffffffffffffff
mov rsi, rdi
inc rsi
cmp byte [rax + rsi], 0
jne 0x140008c45
call fcn.140096a94
mov r15d, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x58], 7
mov word [rbp - 0x70], r12w
bts ebx, 0xa
mov dword [rsp + 0x30], ebx
test rsi, rsi
je 0x140008ceb
cmp rsi, 0x7fffffff
ja 0x140009060
mov dword [rsp + 0x20], r12d
xor r9d, r9d
mov r8d, esi
mov rdx, r13
mov ecx, eax
call fcn.140096abc
mov r14, rax
shr rax, 0x20
test eax, eax
jne 0x140009066
xor r8d, r8d
movsxd rdx, r14d
lea rcx, [rbp - 0x70]
call fcn.140014b30
lea r9, [rbp - 0x70]
cmp qword [rbp - 0x58], 7
cmova r9, qword [rbp - 0x70]
mov dword [rsp + 0x20], r14d
mov r8d, esi
mov rdx, r13
mov ecx, r15d
call fcn.140096abc
mov rcx, rax
shr rax, 0x20
test eax, eax
jne 0x140009073
btr ebx, 0xa
or ebx, 0x300
lea rdx, [rbp + 0xe0]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
lea rax, [rsp + 0x70]
mov qword [rsp + 0x60], rax
lea r14, [rbp + 0xe0]
lea rax, [rbp + 0xe0]
nop
inc rdi
cmp byte [rax + rdi], 0
jne 0x140008d20
call fcn.140096a94
mov esi, eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], 7
mov word [rsp + 0x70], r12w
bts ebx, 0xd
mov dword [rsp + 0x30], ebx
test rdi, rdi
je 0x140008dc8
cmp rdi, 0x7fffffff
ja 0x14000907d
mov dword [rsp + 0x20], r12d
xor r9d, r9d
mov r8d, edi
mov rdx, r14
mov ecx, eax
call fcn.140096abc
mov rbx, rax
shr rax, 0x20
test eax, eax
jne 0x140009083
xor r8d, r8d
movsxd rdx, ebx
lea rcx, [rsp + 0x70]
call fcn.140014b30
lea r9, [rsp + 0x70]
cmp qword [rbp - 0x78], 7
cmova r9, qword [rsp + 0x70]
mov dword [rsp + 0x20], ebx
mov r8d, edi
mov rdx, r14
mov ecx, esi
call fcn.140096abc
mov rcx, rax
shr rax, 0x20
test eax, eax
jne 0x14000908f
lea rbx, [rbp - 0x70]
cmp qword [rbp - 0x58], 7
cmova rbx, qword [rbp - 0x70]
mov rax, qword [rbp - 0x60]
lea rdx, [rbx + rax*2]
mov rcx, rbx
call fcn.1400026d0
cmp rax, rdx
je 0x140008e5e
nop dword [rax + rax]
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x140008dff
cmp cx, 0x2f
jne 0x140008e08
add rax, 2
cmp rax, rdx
jne 0x140008df0
cmp rax, rdx
je 0x140008e5e
nop dword [rax]
lea rcx, [rdx - 2]
movzx r8d, word [rcx]
cmp r8w, 0x5c
je 0x140008e30
cmp r8w, 0x2f
je 0x140008e30
mov rdx, rcx
cmp rax, rcx
jne 0x140008e10
jmp 0x140008e5e
cmp rax, rdx
je 0x140008e5e
nop word [rax + rax]
lea rcx, [rdx - 2]
movzx r8d, word [rcx]
cmp r8w, 0x5c
je 0x140008e56
cmp r8w, 0x2f
jne 0x140008e5e
mov rdx, rcx
cmp rax, rcx
jne 0x140008e40
mov qword [rsp + 0x60], rbx
sub rdx, rbx
sar rdx, 1
mov qword [rsp + 0x68], rdx
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x50]
call fcn.140027670
lea rax, [rsp + 0x70]
cmp qword [rbp - 0x78], 7
cmova rax, qword [rsp + 0x70]
mov qword [rsp + 0x60], rax
mov rax, qword [rbp - 0x80]
mov qword [rsp + 0x68], rax
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x50]
call fcn.140002bc0
mov ebx, eax
mov rdx, qword [rbp - 0x38]
cmp rdx, 7
jbe 0x140008ef5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140008ef0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140009099
call fcn.1400987d0
test ebx, ebx
jne 0x140008efe
call fcn.140004bf0
mov r8d, reloc.WS2_32.dll_setsockopt
lea rdx, str.__App_Initialize_Done
lea rcx, [0x1401025e8]
call fcn.140014c60
nop
mov rdx, qword [rbp - 0x78]
cmp rdx, 7
jbe 0x140008f59
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140008f54
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000909f
call fcn.1400987d0
movdqa xmm0, xmmword [0x1400f0450]
movdqu xmmword [rbp - 0x80], xmm0
mov word [rsp + 0x70], r12w
mov rdx, qword [rbp - 0x58]
cmp rdx, 7
jbe 0x140008fa8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140008fa3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008fe2
call fcn.1400987d0
mov rcx, qword [rbp + 0x1f0]
xor rcx, rsp
call fcn.1400987b0
lea r11, [rsp + 0x320]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1400a82a0
int3
call fcn.1400a82a0
nop
call fcn.1400a82a0
nop
call fcn.1400a82a0
nop
call fcn.1400a82a0
nop
call fcn.1400019b0
int3
shr rdi, 0x20
mov ecx, edi
call fcn.140001d20
int3
shr rcx, 0x20
call fcn.140001d20
nop
call fcn.1400a82a0
int3
lea r8, [rbp - 0x50]
lea rdx, [rsp + 0x60]
lea rcx, str.create_directories
call fcn.140003a80
nop
call fcn.1400a82a0
nop
call fcn.1400019b0
int3
shr rdi, 0x20
mov ecx, edi
call fcn.140001d20
int3
shr rcx, 0x20
call fcn.140001d20
nop
call fcn.1400a82a0
nop
call fcn.1400019b0
int3
shr r14, 0x20
mov ecx, r14d
call fcn.140001d20
int3
shr rcx, 0x20
call fcn.140001d20
nop
call fcn.1400019b0
int3
shr rbx, 0x20
mov ecx, ebx
call fcn.140001d20
int3
shr rcx, 0x20
call fcn.140001d20
nop
call fcn.1400a82a0
nop
call fcn.1400a82a0
int3