Function at 0x14003aee0
Capabilities:
Create directory
Create http request
Create thread
Get common file path
Read file via mapping

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push r12
push r14
push r15
sub rsp, 0x3a0
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
mov rax, qword [0x140051040]
xor rax, rsp
mov qword [rsp + 0x360], rax
xor edi, edi
call fcn.140039e40
mov r14, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x230], xmm0
mov qword [rsp + 0x240], rdi
mov qword [rsp + 0x248], rdi
mov r8d, 4
lea rdx, [0x140047f50]
lea rcx, [rsp + 0x230]
call fcn.14003dbd0
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x210], xmm0
mov qword [rsp + 0x220], rdi
mov qword [rsp + 0x228], rdi
mov r8d, 8
lea rdx, str.ROOX.dll
lea rcx, [rsp + 0x210]
call fcn.14003dbd0
nop
cmp qword [0x140051120], rdi
je 0x14003b11d
call fcn.140014bb0
mov rax, qword [0x140051d18]
or dword [rax + 0x4a50], 2
mov qword [rax + 0x4a70], 0x437a0000
mov dword [rax + 0x4a58], 1
call fcn.1400151a0
test al, al
je 0x14003b11d
lea rcx, [0x140051110]
cmp qword [0x140051128], 0xf
cmova rcx, qword [0x140051110]
call fcn.1400323f0
mov rcx, qword [0x140051d18]
mov rax, qword [rcx + 0x4040]
movss xmm0, dword [rax + 0x11c]
subss xmm0, dword [rax + 0x2c]
addss xmm0, dword [rax + 0x9c]
movss xmm2, dword [rax + 0x118]
subss xmm2, dword [rax + 0x28]
addss xmm2, dword [rax + 0x98]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4040]
movss xmm1, dword [rax + 0x2c]
subss xmm1, dword [rax + 0x9c]
addss xmm1, xmm0
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm2, dword [0x14004853c]
addss xmm0, xmm2
movss dword [rax + 0x118], xmm0
movss dword [rax + 0x11c], xmm1
mov byte [rax + 0x159], 1
mov qword [rsp + 0x1a0], 0x42480000
xorps xmm8, xmm8
lea rdx, [rsp + 0x1a0]
lea rcx, [0x140047634]
call fcn.1400330b0
test al, al
je 0x14003b0c4
mov qword [0x140051120], rdi
lea rax, [0x140051110]
cmp qword [0x140051128], 0xf
cmova rax, qword [0x140051110]
mov byte [rax], dil
call fcn.1400150c0
mov rbx, qword [0x140051d18]
mov rcx, qword [rbx + 0x4040]
cmp qword [rbx + 0x4b68], rcx
jne 0x14003b0ff
cmp byte [rbx + 0x4c01], 0
je 0x14003b0ff
cmp dword [rbx + 0x4b78], 0
jne 0x14003b0ff
mov eax, dword [rbx + 0x4c04]
and eax, 0xfffffff2
or eax, 2
mov dword [rbx + 0x4c04], eax
test dword [rcx + 0x14], 0x1000000
je 0x14003b10f
mov byte [rbx + 0x3f96], 1
call fcn.140010030
mov byte [rbx + 0x3f96], 0
jmp 0x14003b121
xorps xmm8, xmm8
mov rax, qword [0x140051d18]
mov dword [rax + 0x4a70], 0x43f28000
mov dword [rax + 0x4a74], 0x43960000
mov dword [rax + 0x4a58], 1
or dword [rax + 0x4a50], 3
mov qword [rax + 0x4a60], rdi
mov qword [rax + 0x4a68], rdi
mov dword [rax + 0x4a54], 1
xor edx, edx
mov r8d, 0x27
lea rcx, str.MainWindow
call fcn.14000da80
lea rcx, str.For_Free
call fcn.140032290
mov rdx, qword [0x140051d18]
mov rax, qword [rdx + 0x4040]
mov byte [rax + 0xcc], 1
mov rcx, qword [rdx + 0x4040]
mov dword [rcx + 0x2a8], 0x3fc00000
mov rax, qword [rcx]
movss xmm0, dword [rax + 0x3d64]
mulss xmm0, dword [0x1400484e0]
mov rax, qword [rcx + 0x380]
test rax, rax
je 0x14003b1d2
mulss xmm0, dword [rax + 0x2a8]
movss dword [rdx + 0x3d80], xmm0
movss dword [rdx + 0x3d60], xmm0
movss xmm1, dword [0x140048588]
xorps xmm0, xmm0
call fcn.140014100
lea rcx, str._______Roox_Launcher
call fcn.140032290
mov rdx, qword [0x140051d18]
mov rax, qword [rdx + 0x4040]
mov byte [rax + 0xcc], 1
mov rcx, qword [rdx + 0x4040]
mov dword [rcx + 0x2a8], 0x3f800000
mov rax, qword [rcx]
movss xmm0, dword [rax + 0x3d64]
mov rax, qword [rcx + 0x380]
test rax, rax
je 0x14003b243
mulss xmm0, dword [rax + 0x2a8]
movss dword [rdx + 0x3d80], xmm0
movss dword [rdx + 0x3d60], xmm0
lea rcx, [0x140041ad7]
call fcn.140032290
mov rcx, qword [0x140051d18]
mov r8, qword [rcx + 0x4040]
cmp byte [r8 + 0xcf], 0
jne 0x14003b2b1
mov edx, dword [r8 + 0x1cc]
mov eax, edx
neg eax
sbb ecx, ecx
add ecx, 2
cmp qword [r8 + 0x1c0], 0
je 0x14003b298
neg edx
sbb ecx, ecx
add ecx, 6
movss xmm7, dword [0x1400484d4]
movaps xmm1, xmm7
call fcn.140034360
mov rcx, qword [0x140051d18]
jmp 0x14003b2b9
movss xmm7, dword [0x1400484d4]
mov rax, qword [rcx + 0x4040]
movss xmm0, dword [rax + 0x11c]
subss xmm0, dword [rax + 0x2c]
addss xmm0, dword [rax + 0x9c]
movss xmm2, dword [rax + 0x118]
subss xmm2, dword [rax + 0x28]
addss xmm2, dword [rax + 0x98]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4040]
movss xmm1, dword [rax + 0x2c]
subss xmm1, dword [rax + 0x9c]
addss xmm1, xmm0
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm2, dword [0x14004854c]
addss xmm0, xmm2
movss dword [rax + 0x118], xmm0
movss dword [rax + 0x11c], xmm1
mov byte [rax + 0x159], 1
mov qword [rsp + 0x1a0], 0x43480000
lea rdx, [rsp + 0x1a0]
lea rcx, str.Download
call fcn.1400330b0
test al, al
je 0x14003b6af
lea r8, [rsp + 0x210]
lea rdx, [rsp + 0x230]
call fcn.14003aa80
lea rcx, [rsp + 0x1a0]
call fcn.140038720
mov rbx, qword [rsp + 0x1a0]
movabs rax, 0x7fffffff88ca6bfe
cmp rbx, rax
jg 0x14003b3a3
add rbx, 0x77359400
jmp 0x14003b3ad
movabs rbx, 0x7fffffffffffffff
movabs rsi, 0x4e94914f0000
mov r15d, 0xff
movabs r12, 0x431bde82d7b634db
nop word [rax + rax]
lea rcx, [rsp + 0x1a0]
call fcn.140038720
mov rax, qword [rsp + 0x1a0]
cmp rbx, rax
je 0x14003b43a
mov ecx, 1
cmovl ecx, r15d
test cl, cl
jle 0x14003b43a
mov rcx, rbx
sub rcx, rax
cmp rcx, rsi
jge 0x14003b42e
mov rax, r12
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rax, rdx, 0xf4240
cmp rax, rcx
jge 0x14003b425
inc rdx
mov ecx, edx
call sub.KERNEL32.dll_Sleep
jmp 0x14003b3d0
mov ecx, 0x5265c00
call sub.KERNEL32.dll_Sleep
jmp 0x14003b3d0
lea rax, [rsp + 0x250]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1a
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathA]
mov rsi, 0xffffffffffffffff
test eax, eax
jne 0x14003b6b6
lea rcx, [rsp + 0x250]
mov rax, rsi
inc rax
cmp byte [rcx + rax], 0
jne 0x14003b474
add rax, 0xe
cmp rax, 0x104
jae 0x14003b6b6
lea r8, [0x1400481ec]
mov edx, 0x104
lea rcx, [rsp + 0x250]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
lea r8, str.ROOX
mov edx, 0x104
lea rcx, [rsp + 0x250]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
xor edx, edx
lea rcx, [rsp + 0x250]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x14003b4e6
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x14003b6b6
lea r8, [0x1400481ec]
mov edx, 0x104
lea rcx, [rsp + 0x250]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
lea rbx, [0x140048290]
mov r8, rbx
mov edx, 0x104
lea rcx, [rsp + 0x250]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
mov qword [rsp + 0x80], r14
lea rcx, [rsp + 0x88]
lea rax, [rsp + 0x250]
mov edx, 2
nop word [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x14003b540
mov eax, dword [rax]
mov dword [rcx], eax
mov qword [rsp + 0x190], rbx
mov ecx, 0x118
call fcn.14003e404
mov r9, rax
mov rcx, rax
lea rax, [rsp + 0x80]
mov edx, 2
nop dword [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x14003b5c0
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
mov rax, qword [rax + 0x10]
mov qword [rcx + 0x10], rax
mov qword [rsp + 0x1a0], r9
lea rax, [rsp + 0x1c8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edi
lea r8, [0x14003df90]
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rsp + 0x1c0], rax
test rax, rax
je 0x14003b69c
cmp dword [rsp + 0x1c8], 0
je 0x14003b690
movaps xmm0, xmmword [rsp + 0x1c0]
movdqa xmmword [rsp + 0x1a0], xmm0
lea rcx, [rsp + 0x1a0]
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
jne 0x14003b690
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x1c0], xmm0
jmp 0x14003b6b6
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov dword [rsp + 0x1c8], edi
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov rsi, 0xffffffffffffffff
xor ecx, ecx
call fcn.1400076a0
test al, al
je 0x14003b6cd
lea rcx, str.After_complete_go_to_run_roox
call fcn.140014b00
cmp byte [0x140051d14], 0
je 0x14003b839
movss xmm1, dword [0x140048588]
movaps xmm0, xmm8
call fcn.140014100
mov rdx, qword [0x140051d18]
mov rax, qword [rdx + 0x4040]
movss xmm0, dword [rax + 0x11c]
subss xmm0, dword [rax + 0x2c]
addss xmm0, dword [rax + 0x9c]
movss xmm4, dword [rax + 0x118]
subss xmm4, dword [rax + 0x28]
addss xmm4, dword [rax + 0x98]
addss xmm0, dword [0x14004851c]
mov byte [rax + 0xcc], 1
mov rax, qword [rdx + 0x4040]
movss xmm3, dword [rax + 0x2c]
subss xmm3, dword [rax + 0x9c]
addss xmm3, xmm0
movss xmm2, dword [rax + 0x28]
subss xmm2, dword [rax + 0x98]
addss xmm2, xmm4
movss dword [rax + 0x118], xmm2
movss dword [rax + 0x11c], xmm3
mov byte [rax + 0x159], 1
mov dword [rsp + 0x1a0], 0x42a00000
mov dword [rsp + 0x1a4], 0x41200000
lea rdx, [rsp + 0x1a0]
call fcn.140039640
movss xmm1, dword [0x140048588]
movaps xmm0, xmm8
call fcn.140014100
mov rdx, qword [0x140051d18]
mov rax, qword [rdx + 0x4040]
movss xmm0, dword [rax + 0x11c]
subss xmm0, dword [rax + 0x2c]
addss xmm0, dword [rax + 0x9c]
movss xmm2, dword [rax + 0x118]
subss xmm2, dword [rax + 0x28]
addss xmm2, dword [rax + 0x98]
subss xmm0, dword [0x14004851c]
mov byte [rax + 0xcc], 1
mov rax, qword [rdx + 0x4040]
movss xmm1, dword [rax + 0x2c]
subss xmm1, dword [rax + 0x9c]
addss xmm1, xmm0
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm0, xmm2
movss dword [rax + 0x118], xmm0
movss dword [rax + 0x11c], xmm1
mov byte [rax + 0x159], 1
lea rcx, str.Wait
call fcn.140032290
mov rcx, qword [0x140051d18]
mov rdx, qword [rcx + 0x4040]
cmp byte [rdx + 0xcf], 0
jne 0x14003b882
mov r8d, dword [rdx + 0x1cc]
mov eax, r8d
neg eax
sbb ecx, ecx
add ecx, 2
cmp qword [rdx + 0x1c0], 0
je 0x14003b873
neg r8d
sbb ecx, ecx
add ecx, 6
movaps xmm1, xmm7
call fcn.140034360
mov rcx, qword [0x140051d18]
mov rax, qword [rcx + 0x4040]
movss xmm3, dword [rax + 0x11c]
subss xmm3, dword [rax + 0x2c]
addss xmm3, dword [rax + 0x9c]
movss xmm2, dword [rax + 0x118]
subss xmm2, dword [rax + 0x28]
addss xmm2, dword [rax + 0x98]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4040]
movss xmm0, dword [rax + 0x2c]
subss xmm0, dword [rax + 0x9c]
addss xmm3, xmm0
movss xmm1, dword [rax + 0x28]
subss xmm1, dword [rax + 0x98]
addss xmm2, dword [0x14004854c]
addss xmm1, xmm2
movss dword [rax + 0x118], xmm1
movss dword [rax + 0x11c], xmm3
mov byte [rax + 0x159], 1
mov qword [rsp + 0x1a0], 0x43480000
lea rdx, [rsp + 0x1a0]
lea rcx, str.Run_Roox
call fcn.1400330b0
test al, al
je 0x14003b9b4
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
mov edx, 1
lea rcx, str.Download_Checker
call qword [sym.imp.WININET.dll_InternetOpenW]
mov rbx, rax
test rax, rax
je 0x14003b99b
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], 0x4000000
xor r9d, r9d
xor r8d, r8d
mov rdx, r14
mov rcx, rax
call qword [sym.imp.WININET.dll_InternetOpenUrlA]
mov r14, rax
test rax, rax
jne 0x14003bbad
mov r8d, 0x2f
lea rdx, str.Check_Failed:_unable_to_connect_to_the_internet
lea rcx, [0x140051110]
call fcn.140036e80
mov rcx, rbx
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov r8d, 0x18
lea rdx, str.Pending:_Not_working_now
lea rcx, [0x140051110]
call fcn.140036e80
xor ecx, ecx
call fcn.1400076a0
test al, al
je 0x14003b9cb
lea rcx, str.Run_the_mod_in_offline_mode_first__then_go_online__
call fcn.140014b00
mov rax, qword [0x140051d18]
mov rdx, qword [rax + 0x4040]
cmp byte [rdx + 0xcf], 0
jne 0x14003ba0d
mov r8d, dword [rdx + 0x1cc]
mov eax, r8d
neg eax
sbb ecx, ecx
add ecx, 2
cmp qword [rdx + 0x1c0], 0
je 0x14003ba05
neg r8d
sbb ecx, ecx
add ecx, 6
movaps xmm1, xmm7
call fcn.140034360
lea rcx, [0x140041ad7]
call fcn.140032290
movdqa xmm6, xmmword [0x1400487a0]
mov rbx, qword [0x140051d18]
mov dword [rsp + 0x1a0], edi
movups xmm0, xmmword [rbx + 0x39d4]
movups xmmword [rsp + 0x1a4], xmm0
lea rcx, [rbx + 0x4ac8]
lea rdx, [rsp + 0x1a0]
call fcn.14001bec0
cmp dword [rbx + 0x4ac4], 0
je 0x14003ba62
movups xmmword [rbx + 0x39d4], xmm6
lea rcx, str.After_run_the_mod_close_the_launcher
call fcn.1400324d0
mov r9, qword [0x140051d18]
movsxd rax, dword [r9 + 0x4ac8]
cmp eax, 1
jl 0x14003baaa
lea r8, [rax + rax*4]
mov rdx, qword [r9 + 0x4ad0]
movsxd rax, dword [rdx + r8*4 - 0x14]
add rax, rax
movups xmm0, xmmword [rdx + r8*4 - 0x10]
movups xmmword [r9 + rax*8 + 0x39d4], xmm0
dec dword [r9 + 0x4ac8]
lea rcx, [0x140041ad7]
call fcn.140032290
mov rcx, qword [0x140051d18]
mov rax, qword [rcx + 0x4040]
movss xmm0, dword [rax + 0x11c]
subss xmm0, dword [rax + 0x2c]
addss xmm0, dword [rax + 0x9c]
movss xmm2, dword [rax + 0x118]
subss xmm2, dword [rax + 0x28]
addss xmm2, dword [rax + 0x98]
mov byte [rax + 0xcc], 1
mov rax, qword [rcx + 0x4040]
movss xmm1, dword [rax + 0x2c]
subss xmm1, dword [rax + 0x9c]
addss xmm1, xmm0
movss xmm0, dword [rax + 0x28]
subss xmm0, dword [rax + 0x98]
addss xmm2, dword [0x140048550]
addss xmm0, xmm2
movss dword [rax + 0x118], xmm0
movss dword [rax + 0x11c], xmm1
mov byte [rax + 0x159], 1
lea rcx, str.Launcher_Version:_0.5
call fcn.140032290
lea rcx, str.________________Other_Info_Visit_Official_Site_
call fcn.140032290
call fcn.140010030
nop
mov rdx, qword [rsp + 0x228]
cmp rdx, 7
jbe 0x14003bf7b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x210]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003bf76
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003bf76
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov dword [rsp + 0x1c0], edi
mov dword [rsp + 0x1a0], 4
mov qword [rsp + 0x20], rdi
lea r9, [rsp + 0x1a0]
lea r8, [rsp + 0x1c0]
mov edx, 0x20000013
mov rcx, r14
call qword [sym.imp.WININET.dll_HttpQueryInfoW]
mov rcx, r14
test eax, eax
jne 0x14003bbf4
call qword [sym.imp.WININET.dll_InternetCloseHandle]
jmp 0x14003b992
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, rbx
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov eax, dword [rsp + 0x1c0]
add eax, 0xffffff38
cmp eax, 0x63
ja 0x14003b99b
lea rax, [rsp + 0x250]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1a
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
jne 0x14003bd74
lea rcx, [rsp + 0x250]
mov rax, rsi
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x14003bc50
add rax, 0xf
cmp rax, 0x104
jae 0x14003bd74
lea r8, [0x1400481ec]
mov edx, 0x104
lea rcx, [rsp + 0x250]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
lea r8, str.ROOXROOX.dll
mov edx, 0x104
lea rcx, [rsp + 0x250]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
mov ecx, 0x104
call fcn.14003e474
mov r15, rax
lea r8, [rsp + 0x250]
mov edx, 0x104
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcpy_s]
test r15, r15
je 0x14003bd74
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
mov r8d, 1
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov r14, rax
cmp rax, 0xffffffffffffffff
je 0x14003bd53
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor edx, edx
mov r8d, 2
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov r12, rax
test rax, rax
je 0x14003bd4a
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor r8d, r8d
mov edx, 4
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
test rax, rax
jne 0x14003bd90
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r8d, 0x12
lea rdx, str.Download_Mod_First
lea rcx, [0x140051110]
call fcn.140036e80
mov rcx, r15
call fcn.14003e1bc
cmp qword [0x140051d28], 0
jne 0x14003bdc1
mov r8d, 0x12
lea rdx, str.Download_Mod_First
jmp 0x14003b9a8
movzx ebx, word [rax]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0x5a4d
cmp bx, ax
jne 0x14003bd53
mov qword [0x140051d28], r15
jmp 0x14003bd74
xorps xmm0, xmm0
movups xmmword [rsp + 0x1f0], xmm0
mov qword [rsp + 0x200], rdi
mov qword [rsp + 0x208], rdi
lea rdx, str.GTA5.exe
mov r8, rsi
inc r8
cmp byte [rdx + r8], 0
jne 0x14003bde6
lea rcx, [rsp + 0x1f0]
call fcn.1400372c0
nop
cmp qword [rsp + 0x200], 0
je 0x14003bf0d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov r14, rax
lea rbx, [rsp + 0x1f0]
cmp qword [rsp + 0x208], 0xf
cmova rbx, qword [rsp + 0x1f0]
mov dword [rax], edi
mov r8d, 0xa
lea rdx, [rsp + 0x1a0]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
mov r15d, eax
cmp rbx, qword [rsp + 0x1a0]
jne 0x14003be63
lea rcx, str.invalid_stoi_argument
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xinvalid_argument_char_const____ptr64_]
cmp dword [r14], 0x22
jne 0x14003be76
lea rcx, str.stoi_argument_out_of_range
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const____ptr64_]
lea rax, [rsp + 0x1d0]
mov qword [rsp + 0x1a0], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x1d0], xmm0
mov qword [rsp + 0x1e0], rdi
mov qword [rsp + 0x1e8], rdi
xor r8d, r8d
lea rdx, [0x14004835c]
lea rcx, [rsp + 0x1d0]
call fcn.14003dbd0
nop
mov rdx, qword [0x140051d28]
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rdi
inc rsi
cmp byte [rdx + rsi], 0
jne 0x14003bed2
mov r8, rsi
lea rcx, [rsp + 0x40]
call fcn.1400372c0
nop
mov r9d, r15d
lea r8, [rsp + 0x1d0]
lea rdx, [rsp + 0x40]
call fcn.140036640
nop
jmp 0x14003bf27
mov r8d, 0x11
lea rdx, str.Select_File_First
lea rcx, [0x140051110]
call fcn.140036e80
nop
mov rdx, qword [rsp + 0x208]
cmp rdx, 0xf
jbe 0x14003b9b4
inc rdx
mov rcx, qword [rsp + 0x1f0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003bf6c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003bf6c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14003e1bc
jmp 0x14003b9b4
call fcn.14003e1bc
mov qword [rsp + 0x220], rdi
mov qword [rsp + 0x228], 7
mov word [rsp + 0x210], di
mov rdx, qword [rsp + 0x248]
cmp rdx, 7
jbe 0x14003bfe2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x230]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003bfdd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003bfdd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14003e1bc
mov rcx, qword [rsp + 0x360]
xor rcx, rsp
call fcn.14003e020
lea r11, [rsp + 0x3a0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r12
ret