Function at 0x18000df80
Capabilities:
Check if file exists
Create directory
Download url
Receive data

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
lea rbp, [rsp - 0x160]
sub rsp, 0x260
mov rax, qword [0x1800273c0]
xor rax, rsp
mov qword [rbp + 0x150], rax
xor r13d, r13d
lea r8d, [r13 + 8]
lea rdx, str.MH_BAse_
lea r14, [0x180040a10]
mov rcx, r14
call fcn.180004080
mov rsi, qword [0x180040a20]
movabs r12, 0x7fffffffffffffff
mov rax, r12
sub rax, rsi
cmp rax, 4
jb 0x18000ea20
cmp qword [0x180040a28], 0x10
cmovae r14, qword [0x180040a10]
xorps xmm0, xmm0
movups xmmword [rbp + 0x60], xmm0
lea r15, [rsi + 4]
mov ebx, 0xf
lea rdi, [rbp + 0x60]
movabs rax, 0x8000000000000000
lea ecx, [rbx + 7]
cmp r15, rbx
jbe 0x18000e097
mov rbx, r15
or rbx, 0xf
cmp rbx, r12
jbe 0x18000e05e
mov rbx, r12
add rax, 0x27
mov rcx, rax
call fcn.1800153b8
test rax, rax
je 0x18000e18c
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x18000e093
cmp rbx, rcx
cmovb rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x18000e081
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18000ea0e
jmp 0x18000e03f
test rcx, rcx
je 0x18000e090
call fcn.1800153b8
mov rdi, rax
jmp 0x18000e093
mov rdi, r13
mov qword [rbp + 0x60], rdi
mov qword [rbp + 0x70], r15
mov qword [rbp + 0x78], rbx
mov r8, rsi
mov rdx, r14
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov dword [rdi + rsi], 0x6474792e
mov byte [rdi + r15], r13b
mov rdx, qword [0x180040a68]
cmp rdx, 0x10
jb 0x18000e0f9
mov rcx, qword [0x180040a50]
inc rdx
cmp rdx, 0x1000
jb 0x18000e0f4
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18000e18c
mov rcx, r8
call fcn.1800153b0
movups xmm0, xmmword [rbp + 0x60]
movups xmmword [0x180040a50], xmm0
movups xmm1, xmmword [rbp + 0x70]
movups xmmword [0x180040a60], xmm1
mov r8d, 0xe
lea rdx, str.MH_Base_TxName
lea rcx, [0x180040a30]
call fcn.180004080
lea rcx, [rbp + 0xe0]
call fcn.180003710
nop
cmp qword [rax + 0x18], 0x10
jb 0x18000e13f
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.1800110b0
nop
mov rdx, qword [rbp + 0xf8]
cmp rdx, 0x10
jb 0x18000e198
inc rdx
mov rcx, qword [rbp + 0xe0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000e193
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18000e193
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.1800153b0
movdqa xmm0, xmmword [0x180021db0]
movdqu xmmword [rbp + 0xf0], xmm0
mov byte [rbp + 0xe0], 0
lea rcx, [rbp + 0x120]
call fcn.180003710
cmp qword [rax + 0x18], 0x10
jb 0x18000e1c5
mov rax, qword [rax]
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
sete bl
mov rdx, qword [rbp + 0x138]
cmp rdx, 0x10
jb 0x18000e217
inc rdx
mov rcx, qword [rbp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000e212
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18000e212
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800153b0
test bl, bl
je 0x18000e280
lea rcx, [rbp + 0x120]
call fcn.180003710
cmp qword [rax + 0x18], 0x10
jb 0x18000e231
mov rax, qword [rax]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov rdx, qword [rbp + 0x138]
cmp rdx, 0x10
jb 0x18000e280
inc rdx
mov rcx, qword [rbp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000e27b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18000e27b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800153b0
xorps xmm0, xmm0
movups xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x70], 1
mov qword [rbp + 0x78], 0xf
mov word [rbp + 0x60], 0x5c
lea rcx, [rbp + 0x120]
call fcn.180003710
nop
lea r9, [rbp + 0x60]
mov r8, rax
lea rcx, [rbp + 0xe0]
call fcn.1800083f0
nop
lea rsi, [0x180040a50]
mov rdx, rsi
cmp qword [0x180040a68], 0x10
cmovae rdx, qword [0x180040a50]
mov r8, qword [0x180040a60]
lea rcx, [rbp + 0xe0]
call fcn.180008da0
xorps xmm0, xmm0
movups xmmword [rbp + 0xc0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xd0], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xc0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xd0], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rbp + 0xf8]
cmp rdx, 0x10
jb 0x18000e368
inc rdx
mov rcx, qword [rbp + 0xe0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000e363
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18000e363
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800153b0
movdqa xmm0, xmmword [0x180021db0]
movdqu xmmword [rbp + 0xf0], xmm0
mov byte [rbp + 0xe0], 0
mov rdx, qword [rbp + 0x138]
cmp rdx, 0x10
jb 0x18000e3c3
inc rdx
mov rcx, qword [rbp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000e3be
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18000e3be
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800153b0
movdqa xmm0, xmmword [0x180021db0]
movdqu xmmword [rbp + 0x130], xmm0
mov byte [rbp + 0x120], 0
mov rdx, qword [rbp + 0x78]
cmp rdx, 0x10
jb 0x18000e418
inc rdx
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000e413
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18000e413
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800153b0
lea r8, [rbp + 0xc0]
cmp qword [rbp + 0xd8], 0x10
cmovae r8, qword [rbp + 0xc0]
mov qword [rsp + 0x20], r13
xor r9d, r9d
lea rdx, str.https:__cdn.discordapp.com_attachments_970146645662638080_970146689778343986_MH_BAse_.ytd
xor ecx, ecx
call qword [sym.imp.urlmon.dll_URLDownloadToFileA]
lea rcx, [rbp + 0x60]
call fcn.180003710
nop
cmp qword [rax + 0x18], 0x10
jb 0x18000e45a
mov rax, qword [rax]
xorps xmm0, xmm0
movups xmmword [rbp + 0x100], xmm0
mov qword [rbp + 0x110], r13
mov qword [rbp + 0x118], r13
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x18000e480
mov rdx, rax
lea rcx, [rbp + 0x100]
call fcn.1800044d0
nop
mov rdx, qword [rbp + 0x78]
cmp rdx, 0x10
jb 0x18000e4d8
inc rdx
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000e4d3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18000e4d3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800153b0
movdqa xmm0, xmmword [0x180021db0]
movdqu xmmword [rbp + 0x70], xmm0
mov byte [rbp + 0x60], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x80], xmm0
mov qword [rbp + 0x90], r13
mov qword [rbp + 0x98], r13
cmp qword [0x180040a68], 0x10
cmovae rsi, qword [0x180040a50]
mov rdi, qword [0x180040a60]
cmp rdi, r12
ja 0x18000ea26
mov qword [rbp + 0x98], 0xf
cmp rdi, 0x10
jae 0x18000e548
mov qword [rbp + 0x90], rdi
movups xmm0, xmmword [rsi]
movups xmmword [rbp + 0x80], xmm0
jmp 0x18000e5e4
mov rbx, rdi
or rbx, 0xf
cmp rbx, r12
jbe 0x18000e587
mov rbx, r12
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.1800153b8
mov rcx, rax
test rax, rax
je 0x18000e8d1
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x18000e5bf
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x18000e5b0
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18000ea14
jmp 0x18000e565
test rcx, rcx
je 0x18000e5bc
call fcn.1800153b8
jmp 0x18000e5bf
mov rax, r13
mov qword [rbp + 0x80], rax
mov qword [rbp + 0x90], rdi
mov qword [rbp + 0x98], rbx
lea r8, [rdi + 1]
mov rdx, rsi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
nop
mov rax, r12
mov r14, qword [rbp + 0x110]
sub rax, r14
cmp rax, 1
jb 0x18000ea08
lea r12, [rbp + 0x100]
mov rsi, qword [rbp + 0x100]
mov r13, qword [rbp + 0x118]
cmp r13, 0x10
cmovae r12, rsi
xorps xmm0, xmm0
movups xmmword [rbp + 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x70], xmm1
lea r15, [r14 + 1]
mov ebx, 0xf
lea rdi, [rbp + 0x60]
cmp r15, rbx
jbe 0x18000e6c4
mov rbx, r15
or rbx, 0xf
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
jbe 0x18000e67f
mov rbx, rax
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.1800153b8
test rax, rax
je 0x18000e6a8
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x18000e6c0
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x18000e6af
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18000ea1a
jmp 0x18000e664
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x18000e6be
call fcn.1800153b8
mov rdi, rax
jmp 0x18000e6c0
xor edi, edi
mov qword [rbp + 0x60], rdi
mov qword [rbp + 0x70], r15
mov qword [rbp + 0x78], rbx
mov r8, r14
mov rdx, r12
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rdi + r14], 0x5c
mov byte [rdi + r15], 0
lea rdx, [rbp + 0x80]
cmp qword [rbp + 0x98], 0x10
cmovae rdx, qword [rbp + 0x80]
mov r8, qword [rbp + 0x90]
lea rcx, [rbp + 0x60]
call fcn.180008da0
xorps xmm0, xmm0
movups xmmword [rbp + 0xa0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xb0], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xa0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xb0], xmm1
xor edi, edi
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], dil
mov rdx, qword [rbp + 0x78]
cmp rdx, 0x10
jb 0x18000e784
inc rdx
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000e77f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18000e77f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800153b0
movdqa xmm0, xmmword [0x180021db0]
movdqu xmmword [rbp + 0x70], xmm0
mov byte [rbp + 0x60], 0
lea rcx, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 0x10
cmovae rcx, qword [rbp + 0xa0]
lea rdx, [rbp + 0x120]
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__stat64i32]
test eax, eax
jne 0x18000e83c
lea rdx, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 0x10
cmovae rdx, qword [rbp + 0xa0]
lea r9, [rbp + 0x80]
cmp qword [rbp + 0x98], 0x10
cmovae r9, qword [rbp + 0x80]
mov byte [rsp + 0x20], al
mov r8b, 1
lea rcx, [rsp + 0x30]
call qword [0x180041f20]
lea rdx, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 0x10
cmovae rdx, qword [rbp + 0xa0]
mov r8d, dword [rsp + 0x30]
lea rcx, str.Texture_Loaded:__s_:__d
call fcn.180009860
lea rdx, str.gPress__to_opem_Menu_Controls:_Numpad_8__2__6__4__5__0
lea rcx, str.Loaded__
call fcn.180002fa0
mov bl, 1
jmp 0x18000e83e
xor bl, bl
mov rdx, qword [rbp + 0xb8]
cmp rdx, 0x10
jb 0x18000e882
inc rdx
mov rcx, qword [rbp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000e87d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18000e87d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800153b0
movdqa xmm0, xmmword [0x180021db0]
movdqu xmmword [rbp + 0xb0], xmm0
mov byte [rbp + 0xa0], 0
mov rdx, qword [rbp + 0x98]
cmp rdx, 0x10
jb 0x18000e8dd
inc rdx
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000e8d8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18000e8d8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800153b0
mov qword [rbp + 0x90], rdi
mov qword [rbp + 0x98], 0xf
mov byte [rbp + 0x80], 0
cmp r13, 0x10
jb 0x18000e931
lea rdx, [r13 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x18000e928
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18000e928
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rsi
call fcn.1800153b0
nop
mov rdx, qword [rbp + 0xd8]
cmp rdx, 0x10
jb 0x18000e975
inc rdx
mov rcx, qword [rbp + 0xc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000e970
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18000e970
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800153b0
movdqa xmm0, xmmword [0x180021db0]
movdqu xmmword [rbp + 0xd0], xmm0
mov byte [rbp + 0xc0], 0
mov rcx, qword [rsp + 0x40]
movsxd rdx, dword [rcx + 4]
lea rax, vtable.std::basic_fstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rdx + 0x40], rax
mov rcx, qword [rsp + 0x40]
movsxd rdx, dword [rcx + 4]
lea r8d, [rdx - 0xb8]
mov dword [rsp + rdx + 0x3c], r8d
lea rcx, [rsp + 0x58]
call fcn.180010fd0
lea rcx, [rsp + 0x60]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp - 8]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
movzx eax, bl
mov rcx, qword [rbp + 0x150]
xor rcx, rsp
call fcn.180015010
lea r11, [rsp + 0x260]
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.1800044b0
nop
call fcn.180002a80
nop
call fcn.180002a80
nop
call fcn.180002a80
nop
call fcn.1800044b0
nop
call fcn.1800044b0
int3