Function at 0x140046530
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x140]
sub rsp, 0x240
mov rax, qword [0x1401f41c0]
xor rax, rsp
mov qword [rbp + 0x130], rax
mov rdi, r8
mov r14, rdx
mov r12, rcx
mov qword [rbp - 0x70], rcx
xor r8d, r8d
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], r8
mov qword [rcx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rcx], r8b
lea r15, [rcx + 0x20]
mov qword [r15], r8
mov qword [r15 + 8], r8
mov qword [r15 + 0x10], r8
mov rcx, qword [rdi + 8]
sub rcx, qword [rdi]
movabs rax, 0x469ee58469ee5847
imul rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x140046676
movabs rax, 0x11a7b9611a7b961
cmp rdx, rax
ja 0x140046c43
imul rbx, rdx, 0xe8
test rbx, rbx
jne 0x1400465e0
mov eax, r8d
jmp 0x14004661d
cmp rbx, 0x1000
jb 0x140046615
lea rcx, [rbx + 0x27]
cmp rcx, rbx
jbe 0x140046c49
call fcn.14016aa7c
mov rcx, rax
test rax, rax
je 0x140046c4f
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x14004661d
mov rcx, rbx
call fcn.14016aa7c
mov qword [r15], rax
mov qword [r15 + 8], rax
add rax, rbx
mov qword [r15 + 0x10], rax
mov qword [rsp + 0x20], r15
mov rbx, qword [r15]
mov rsi, qword [rdi + 8]
mov rdi, qword [rdi]
mov qword [rbp - 0x68], rbx
mov qword [rbp - 0x60], rbx
mov qword [rbp - 0x58], r15
cmp rdi, rsi
je 0x140046672
nop dword [rax + rax]
mov rdx, rdi
mov rcx, rbx
call fcn.1400070b0
add rbx, 0xe8
mov qword [rbp - 0x60], rbx
add rdi, 0xe8
cmp rdi, rsi
jne 0x140046650
mov qword [r15 + 8], rbx
xor edx, edx
mov r8d, 0x104
lea rcx, [rbp + 0x20]
call fcn.140191ec0
cmp qword [r14 + 0x18], 0xf
jbe 0x140046691
mov r14, qword [r14]
lea rdx, [rbp + 0x20]
mov rcx, r14
call fcn.14005a030
lea rcx, [rbp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x140046c10
test al, 0x10
jne 0x140046c10
lea rax, [rbp + 0x20]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x1400466c3
lea rdx, [rbp + 0x20]
mov rcx, r12
call fcn.140004540
mov rdx, r12
lea rcx, [rsp + 0x30]
call fcn.1400615d0
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
movdqa xmm1, xmmword [reloc.WS2_32.dll_ntohs]
movdqu xmmword [rbp - 0x58], xmm1
movsd xmm0, qword [str.DisableInitOnce]
movsd qword [rbp - 0x68], xmm0
mov eax, dword [0x1401a1420]
mov dword [rbp - 0x60], eax
movzx eax, word [0x1401a1424]
mov word [rbp - 0x5c], ax
movzx eax, byte [0x1401a1426]
mov byte [rbp - 0x5a], al
mov byte [rbp - 0x59], 0
xor r8d, r8d
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x30]
call fcn.140062a30
mov ebx, eax
mov rdx, qword [rbp - 0x50]
cmp rdx, 0xf
jbe 0x140046778
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140046773
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140046c55
call fcn.14016aab8
cmp ebx, 1
je 0x140046bec
mov r14, qword [r15 + 8]
mov rdi, qword [r15]
movabs r8, 0x30302d30302d3030
movabs r13, 0x302d30302d30302d
cmp rdi, r14
je 0x1400468ca
lea rcx, [rdi + 0x20]
nop dword [rax]
cmp byte [rcx + 0x71], 0
jne 0x1400467f0
mov rax, qword [rcx + 0x80]
cmp qword [rcx + 0x78], rax
je 0x140046803
mov rdx, qword [rcx]
test rdx, rdx
je 0x140046803
lea rax, [rcx - 0x10]
cmp qword [rcx + 8], 0xf
jbe 0x1400467d9
mov rax, qword [rax]
cmp rdx, 0x11
jne 0x1400467f0
cmp qword [rax], r8
jne 0x1400467f0
cmp qword [rax + 8], r13
jne 0x1400467f0
cmp byte [rax + 0x10], 0x30
je 0x140046803
add rdi, 0xe8
add rcx, 0xe8
cmp rdi, r14
jne 0x1400467b0
cmp rdi, r14
je 0x1400468ca
lea rsi, [rdi + 0xe8]
cmp rsi, r14
je 0x14004688f
lea rbx, [rsi + 0x20]
nop dword [rax]
cmp byte [rbx + 0x71], 0
jne 0x140046860
mov rax, qword [rbx + 0x80]
cmp qword [rbx + 0x78], rax
je 0x14004687c
mov rcx, qword [rbx]
test rcx, rcx
je 0x14004687c
lea rax, [rbx - 0x10]
cmp qword [rbx + 8], 0xf
jbe 0x140046849
mov rax, qword [rax]
cmp rcx, 0x11
jne 0x140046860
cmp qword [rax], r8
jne 0x140046860
cmp qword [rax + 8], r13
jne 0x140046860
cmp byte [rax + 0x10], 0x30
je 0x14004687c
mov rdx, rsi
mov rcx, rdi
call fcn.140046fe0
add rdi, 0xe8
movabs r8, 0x30302d30302d3030
add rsi, 0xe8
add rbx, 0xe8
cmp rsi, r14
jne 0x140046820
cmp rdi, r14
je 0x1400468ca
mov r8, rdi
mov rdx, qword [r15 + 8]
mov rcx, r14
call fcn.140045d20
mov rsi, rax
mov rdi, qword [r15 + 8]
mov rbx, rax
cmp rax, rdi
je 0x1400468c6
mov rcx, rbx
call fcn.140007570
add rbx, 0xe8
cmp rbx, rdi
jne 0x1400468b2
mov qword [r15 + 8], rsi
xorps xmm0, xmm0
movups xmmword [rbp - 8], xmm0
movdqa xmm1, xmmword [0x14019ba70]
movdqu xmmword [rbp + 8], xmm1
mov byte [rbp - 8], 0
movups xmmword [rbp - 0x48], xmm0
xor edi, edi
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x30], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x48], dil
lea r8, [rsp + 0x30]
lea rdx, [rbp - 0x28]
mov rcx, r12
call fcn.140047a10
nop
cmp qword [rbp - 0x18], rdi
je 0x140046997
mov rbx, qword [r12 + 0x20]
mov rax, qword [r12 + 0x28]
sub rax, rbx
sub rax, 0xe8
cmp rax, 0xe8
jae 0x140046997
cmp byte [rbx + 0x90], dil
je 0x140046997
mov rdx, qword [rbx + 0x98]
mov rax, qword [rbx + 0xa0]
sub rax, rdx
and rax, 0xffffffffffffffc0
cmp rax, 0x40
jne 0x140046997
lea rax, [rbp - 0x48]
cmp rax, rdx
je 0x140046973
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x14004696a
mov rdx, qword [rdx]
lea rcx, [rbp - 0x48]
call fcn.140004540
lea rdx, [rbx + 0x30]
lea rax, [rbp - 8]
cmp rax, rdx
je 0x140046997
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x14004698e
mov rdx, qword [rdx]
lea rcx, [rbp - 8]
call fcn.140004540
lea r8, [rbp - 0x48]
lea rdx, [rsp + 0x30]
mov rcx, r12
call fcn.140047600
lea rdx, [rsp + 0x30]
mov rcx, r12
call fcn.140049f50
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
movdqa xmm1, xmmword [reloc.WS2_32.dll_ntohs]
movdqu xmmword [rbp - 0x58], xmm1
movsd xmm0, qword [str.DisableModifyIP]
movsd qword [rbp - 0x68], xmm0
mov eax, dword [0x1401a1a58]
mov dword [rbp - 0x60], eax
movzx eax, word [0x1401a1a5c]
mov word [rbp - 0x5c], ax
movzx eax, byte [0x1401a1a5e]
mov byte [rbp - 0x5a], al
mov byte [rbp - 0x59], 0
xor r8d, r8d
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x30]
call fcn.140062a30
test eax, eax
setne bl
mov rdx, qword [rbp - 0x50]
cmp rdx, 0xf
jbe 0x140046a49
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140046a44
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140046c5b
call fcn.14016aab8
call fcn.140067ee0
movzx r8d, bl
lea rdx, str.AcService.loadDisableModifyIpPolicy:_disableModifyIp_d
mov rcx, rax
call fcn.140067e40
mov rdx, qword [0x1401f9050]
lea rcx, [rsp + 0x20]
call fcn.140071770
movzx edx, bl
lea rcx, [rsp + 0x20]
call fcn.140071d50
lea rdx, [rsp + 0x30]
mov rcx, r12
call fcn.140047b50
lea rdx, [rsp + 0x30]
mov rcx, r12
call fcn.140049d60
lea rdx, [rsp + 0x30]
mov rcx, r12
call fcn.14004a520
lea rdx, [rsp + 0x30]
mov rcx, r12
call fcn.14004aa30
lea r9, [rbp - 0x48]
lea r8, [rbp - 0x28]
lea rdx, [rsp + 0x30]
mov rcx, r12
call fcn.1400487c0
lea r9, [rbp - 0x48]
lea r8, [rbp - 0x28]
lea rdx, [rsp + 0x30]
mov rcx, r12
call fcn.140048e50
cmp qword [rbp - 0x18], 0
je 0x140046b1e
cmp qword [rbp - 0x38], 0
je 0x140046b1e
lea rdx, [rsp + 0x30]
mov rcx, r12
call fcn.1400494e0
lea rdx, [rbp - 0x48]
mov rcx, qword [0x1401f9068]
call fcn.14000bd70
lea r9, [rbp - 0x48]
lea r8, [rbp - 0x28]
lea rdx, [rsp + 0x30]
mov rcx, r12
call fcn.14004a110
nop
mov rdx, qword [rbp - 0x10]
cmp rdx, 0xf
jbe 0x140046b59
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140046b54
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140046c61
call fcn.14016aab8
mov qword [rbp - 0x18], rdi
mov qword [rbp - 0x10], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x28], 0
mov rdx, qword [rbp - 0x30]
cmp rdx, 0xf
jbe 0x140046ba4
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140046b9f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140046c67
call fcn.14016aab8
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x30], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x48], 0
mov rdx, qword [rbp + 0x10]
cmp rdx, 0xf
jbe 0x140046bec
inc rdx
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140046be6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140046c3d
call fcn.14016aab8
nop
mov r8, qword [rbp - 0x80]
mov r8, qword [r8 + 8]
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x80]
call fcn.1400152b0
mov edx, 0x60
mov rcx, qword [rbp - 0x80]
call fcn.14016aab8
nop
mov rax, r12
mov rcx, qword [rbp + 0x130]
xor rcx, rsp
call fcn.14016ab50
mov rbx, qword [rsp + 0x298]
add rsp, 0x240
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140170de4
nop
call fcn.140004520
int3
call fcn.1400044e0
int3
call fcn.140170de4
nop
call fcn.140170de4
nop
call fcn.140170de4
nop
call fcn.140170de4
nop
call fcn.140170de4
int3