Function at 0x180003770
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x1a8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x120], 0xfffffffffffffffe
lea rcx, [rbp + 0xa8]
call fcn.18002a410
cmp byte [rbp + 0xc0], 2
jne 0x1800037cc
mov byte [rbp + 0x118], 2
lea rcx, [rbp + 0xa8]
call fcn.1800035d0
cmp byte [rbp + 0x118], 2
jne 0x1800037f9
jmp 0x180003888
movdqu xmm0, xmmword [rbp + 0xa8]
movdqu xmm1, xmmword [rbp + 0xb8]
movdqa xmmword [rbp + 0x110], xmm1
movdqa xmmword [rbp + 0x100], xmm0
cmp byte [rbp + 0x118], 2
je 0x180003888
lea rcx, [rbp + 0x100]
call fcn.1800368b0
test rax, rax
je 0x180003888
mov rcx, rax
call fcn.180030c40
test rax, rax
je 0x180003888
mov rcx, rax
call fcn.180030c40
test rax, rax
je 0x180003888
mov rcx, rax
call fcn.180030c40
test rax, rax
je 0x180003888
mov r8, rdx
mov qword [rsp + 0x20], 0x17
lea r9, str.Content_Paks_mods_P.pakcould_not_determine_pak_pathcould_not_find_main_module48_89_5C_24_10_48_89_6C_24_18_48_89_74_24_20_57_41_56_41_57_48_83_EC_30_45_33_FF_4C_8B_F2_48_8B_D9_44_89_7C_24_50_41_8B_FF4C_8B_B4_24_48_01_00_00_0F_8448_89_5c_24_08_48_89_74_24_10_57_48_83_ec_40_48_8b_da_33_f6_48_8d_54_24_30_48_89_74_24_30_48_89_74_24_38_41_8b_f840_55_48_8d_ac_24_00_ff_ff_ff_48_81_ec_00_02_00_00_83_79_08_0048_8b_c4_55_57_48_8d_a8_d8_fe_ff_ff_48_81_ec_18_02_00_00
lea rcx, [rbp + 0xa8]
mov rdx, rax
call fcn.1800312c0
mov rax, qword [rbp + 0xa8]
movdqu xmm0, xmmword [rbp + 0xb0]
movdqa xmmword [rbp + 0x80], xmm0
movzx ecx, byte [rbp + 0xc0]
mov edx, dword [rbp + 0xc1]
mov dword [rbp + 0x10], edx
mov edx, dword [rbp + 0xc4]
mov dword [rbp + 0x13], edx
cmp cl, 2
jne 0x1800038da
lea rcx, [0x18005df5f]
mov edx, 0x1c
call fcn.180059150
mov rbx, rax
cmp byte [rbp + 0x118], 2
je 0x1800038c3
mov rdx, qword [rbp + 0x108]
test rdx, rdx
je 0x1800038c3
mov rcx, qword [rbp + 0x100]
mov r8d, 1
call fcn.1800111f0
mov rax, rbx
add rsp, 0x1a8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
movdqa xmm0, xmmword [rbp + 0x80]
movdqu xmmword [rbp + 0x40], xmm0
mov edx, dword [rbp + 0x10]
mov r8d, dword [rbp + 0x13]
mov dword [rbp + 0x51], edx
mov dword [rbp + 0x54], r8d
mov qword [rbp + 0x38], rax
mov byte [rbp + 0x50], cl
cmp byte [rbp + 0x118], 2
je 0x180003923
mov rdx, qword [rbp + 0x108]
test rdx, rdx
je 0x180003923
mov rcx, qword [rbp + 0x100]
mov r8d, 1
call fcn.1800111f0
lea rcx, [rbp + 0x38]
call fcn.1800368b0
mov r8, rdx
lea rcx, [rbp + 0xa8]
mov rdx, rax
call fcn.180035640
cmp dword [rbp + 0xa8], 2
jne 0x1800039cb
mov rax, qword [rbp + 0xb0]
mov ecx, eax
and ecx, 3
xor ebx, ebx
lea rdx, [rcx - 2]
cmp rdx, 2
jb 0x180003bed
test rcx, rcx
je 0x180003bed
lea rcx, [rax - 1]
mov qword [rbp + 0xf8], rcx
mov rcx, qword [rax - 1]
mov rax, qword [rax + 7]
mov qword [rbp + 0x58], rcx
mov qword [rbp + 0xf0], rax
call qword [rax]
mov rax, qword [rbp + 0xf0]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x1800039ad
mov r8, qword [rax + 0x10]
mov rcx, qword [rbp + 0x58]
call fcn.1800111f0
mov edx, 0x18
mov r8d, 8
mov rcx, qword [rbp + 0xf8]
call fcn.1800111f0
xor ebx, ebx
jmp 0x180003bed
lea rcx, [rbp + 0xa8]
call fcn.18002a410
movzx ecx, byte [rbp + 0xc0]
mov rax, qword [rbp + 0xa8]
cmp cl, 2
jne 0x180003a1e
lea rcx, str.could_not_determine_running_exefailed_to_get_exe_pathunrecognized_exe_file_name:
mov qword [rbp + 0x80], rcx
mov qword [rbp + 0x88], 0x1f
mov qword [rbp + 0x90], rax
lea rcx, [rbp + 0x80]
call fcn.1800591b0
mov rbx, rax
jmp 0x180003bed
movdqu xmm0, xmmword [rbp + 0xb0]
movdqu xmmword [rbp + 0x108], xmm0
mov edx, dword [rbp + 0xc1]
mov dword [rbp + 0x119], edx
mov edx, dword [rbp + 0xc4]
mov dword [rbp + 0x11c], edx
mov qword [rbp + 0x100], rax
mov byte [rbp + 0x118], cl
lea rsi, [rbp + 0x100]
mov rcx, rsi
call fcn.1800368b0
mov rcx, rax
call fcn.180030d80
test rax, rax
je 0x180003b19
mov r8, rdx
lea rcx, [rbp + 0x10]
mov rdx, rax
call fcn.180036af0
mov rdx, qword [rbp + 0x10]
mov rax, qword [rbp + 0x18]
test rdx, rdx
mov qword [rbp + 0xf0], rdx
mov qword [rbp + 0xf8], rax
cmove rdx, rax
mov r8, qword [rbp + 0x20]
lea rdi, [rbp + 0x60]
mov rcx, rdi
call fcn.180040fa0
mov rcx, qword [rbp + 0xf0]
test rcx, rcx
mov rdx, qword [rbp + 0xf8]
je 0x180003ad2
test rdx, rdx
je 0x180003ad2
mov r8d, 1
call fcn.1800111f0
mov rdx, qword [rbp + 0x108]
test rdx, rdx
je 0x180003af0
mov rcx, qword [rbp + 0x100]
mov r8d, 1
call fcn.1800111f0
mov rcx, qword [rbp + 0x60]
mov r12, qword [rbp + 0x70]
cmp r12, 0x16
jne 0x180003b49
movdqu xmm0, xmmword [rcx]
movdqu xmm1, xmmword [rcx + 6]
pcmpeqb xmm1, xmmword [0x18005de70]
pcmpeqb xmm0, xmmword [0x18005de80]
jmp 0x180003b68
lea rcx, [0x18005deff]
mov edx, 0x16
call fcn.180059150
mov rbx, rax
mov rdx, qword [rbp + 0x108]
test rdx, rdx
je 0x180003bed
mov rcx, qword [rbp + 0x100]
jmp 0x180003be2
cmp r12, 0x17
jne 0x180003b7b
movdqu xmm0, xmmword [rcx]
movdqu xmm1, xmmword [rcx + 7]
pcmpeqb xmm1, xmmword [str.gdk_shipping.exefsd_wingdk_shippn64_shipping.exefsd_win64_shippicalled__Result::unwrap____on_an__Err__value]
pcmpeqb xmm0, xmmword [0x18005de60]
pand xmm0, xmm1
pmovmskb eax, xmm0
cmp eax, 0xffff
je 0x180003c03
mov qword [rbp + 0x100], rdi
lea rax, [0x1800036b0]
mov qword [rbp + 0x108], rax
lea rax, [0x18005df38]
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0xb0], 1
mov qword [rbp + 0xc8], 0
mov qword [rbp + 0xb8], rsi
mov qword [rbp + 0xc0], 1
lea rcx, [rbp + 0xa8]
call fcn.180058650
mov rbx, rax
mov rdx, qword [rbp + 0x68]
test rdx, rdx
je 0x180003bed
mov rcx, qword [rbp + 0x60]
mov r8d, 1
call fcn.1800111f0
mov rdx, qword [rbp + 0x40]
test rdx, rdx
je 0x1800038c3
mov rcx, qword [rbp + 0x38]
jmp 0x1800038b8
mov rdx, qword [rbp + 0x68]
test rdx, rdx
je 0x180003c17
mov r8d, 1
call fcn.1800111f0
xor ecx, ecx
call qword [sym.imp.kernel32.dll_GetModuleHandleA]
mov qword [rbp + 0xa8], rax
lea rcx, [rbp + 0xa8]
call fcn.18001e920
test al, al
je 0x180003c72
call fcn.18001dcc0
lea rcx, [0x18005df7b]
mov qword [rbp + 0xa8], rcx
mov qword [rbp + 0xb0], 0x1a
mov qword [rbp + 0xb8], rax
mov dword [rbp + 0xc0], edx
lea rcx, [rbp + 0xa8]
call fcn.1800592b0
jmp 0x180003a16
mov rsi, qword [rbp + 0xa8]
call qword [sym.imp.kernel32.dll_GetCurrentProcess]
mov rdi, rax
lea rcx, [rbp - 0x50]
call fcn.18001e930
lea r8, [rbp - 0x50]
mov rcx, rdi
mov rdx, rsi
mov r9d, 0x18
call qword [sym.imp.psapi.dll_GetModuleInformation]
mov rbx, qword [rbp - 0x50]
mov r14d, dword [rbp - 0x48]
lea rdx, [0x18005e118]
lea r8, str.hook_src_lib.rs
lea rcx, [rbp + 0xa8]
call fcn.18000dc40
mov rsi, qword [rbp + 0xa8]
mov r13, qword [rbp + 0xb0]
test rsi, rsi
je 0x180003eec
mov r8, qword [rbp + 0xb8]
mov qword [rbp - 0x38], rsi
mov qword [rbp - 0x30], r13
mov qword [rbp - 0x28], r8
shl r8, 6
add r8, rsi
lea rcx, [rbp - 8]
mov rdx, rsi
call fcn.1800104a0
mov qword [rbp + 0xf0], rsi
mov rsi, qword [rbp - 8]
mov r8, qword [rbp + 8]
mov qword [rbp + 0x30], rsi
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rbx
lea rcx, [rbp - 0x20]
mov rdx, rsi
xor r9d, r9d
call fcn.18000b890
mov rdi, qword [rbp - 0x20]
mov r15, qword [rbp - 0x10]
shl r15, 4
xor eax, eax
cmp r15, rax
je 0x180003df5
mov rcx, qword [rdi + rax]
mov rcx, qword [rcx]
add rax, 0x10
cmp byte [rcx], 0
jne 0x180003d3a
mov qword [rbp + 0xf8], r13
mov r13, qword [rdi + rax - 8]
lea rcx, [r13 + 0x35]
lea rdx, [r13 + 0x39]
lea rax, str.hook_src_lib.rs
mov qword [rsp + 0x20], rax
mov r8, rbx
mov r9, r14
call fcn.1800033d0
cmp rdx, 4
jne 0x1800043a9
test rax, rax
je 0x1800043a9
lea r8, [rbx + r13]
lea rcx, [rbx + r13]
add rcx, 0x39
movsxd rax, dword [rax]
add rax, rcx
mov qword [0x1800a05a0], rax
lea rdx, [0x18008a020]
lea rcx, [rbp + 0x100]
call fcn.180001c90
mov eax, dword [rbp + 0x100]
cmp eax, 0xd
jne 0x180003f25
mov rdx, qword [rbp + 0x108]
lea rcx, [rbp + 0x80]
call fcn.180001ff0
mov eax, dword [rbp + 0x80]
cmp eax, 0xd
jne 0x180004256
mov r13, qword [rbp + 0xf8]
cmp r12, 0x16
jne 0x180003ef4
xor eax, eax
cmp r15, rax
je 0x180003e8c
mov rcx, qword [rdi + rax]
mov rcx, qword [rcx]
add rax, 0x10
cmp byte [rcx], 1
jne 0x180003e01
mov rdx, qword [rdi + rax - 8]
lea rcx, [rdx + 0x1d]
add rdx, 0x22
mov r8, rbx
mov r9, r14
call fcn.180003410
mov rsi, rax
mov rdi, rdx
call fcn.180005fc0
mov dword [rbp + 0xa8], eax
lea r9, [rbp + 0xa8]
mov rcx, rsi
mov rdx, rdi
mov r8d, 0x40
call qword [sym.imp.kernel32.dll_VirtualProtect]
cmp rdi, 5
jne 0x1800043d6
mov dword [rsi], 0x1b8
mov byte [rsi + 4], 0
mov r8d, dword [rbp + 0xa8]
lea r9, [rbp + 0xa8]
mov edx, 5
mov rcx, rsi
call qword [sym.imp.kernel32.dll_VirtualProtect]
mov rdx, qword [rbp - 0x18]
test rdx, rdx
je 0x180003ea8
mov rcx, qword [rbp - 0x20]
shl rdx, 4
mov r8d, 8
call fcn.1800111f0
mov rdx, qword [rbp]
test rdx, rdx
je 0x180003ec4
mov rcx, qword [rbp - 8]
shl rdx, 4
mov r8d, 8
call fcn.1800111f0
lea rcx, [rbp - 0x38]
call fcn.180003460
mov rdx, qword [rbp + 0x40]
test rdx, rdx
je 0x180003ee5
mov rcx, qword [rbp + 0x38]
mov r8d, 1
call fcn.1800111f0
xor ebx, ebx
jmp 0x1800038c3
mov rbx, r13
jmp 0x180003bed
mov qword [rbp + 0xf8], r13
lea rcx, [rbp + 0xa8]
call fcn.18002a410
cmp byte [rbp + 0xc0], 2
jne 0x180003f66
mov byte [rbp + 0x118], 2
lea rcx, [rbp + 0xa8]
call fcn.1800035d0
jmp 0x180003f86
mov ecx, dword [rbp + 0x104]
mov rdx, qword [rbp + 0x108]
movdqu xmm0, xmmword [rbp + 0x110]
movdqu xmmword [rbp + 0xb8], xmm0
mov dword [rbp + 0xa8], eax
mov dword [rbp + 0xac], ecx
mov qword [rbp + 0xb0], rdx
lea rcx, [rbp + 0xa8]
call fcn.1800590b0
jmp 0x180004288
movdqu xmm0, xmmword [rbp + 0xa8]
movdqu xmm1, xmmword [rbp + 0xb8]
movdqa xmmword [rbp + 0x110], xmm1
movdqa xmmword [rbp + 0x100], xmm0
cmp byte [rbp + 0x118], 2
je 0x180004219
lea rcx, [rbp + 0x100]
call fcn.1800368b0
test rax, rax
je 0x180004219
mov rcx, rax
call fcn.180030c40
test rax, rax
je 0x180004219
mov rcx, rax
call fcn.180030c40
test rax, rax
je 0x180004219
mov rcx, rax
call fcn.180030c40
test rax, rax
je 0x180004219
mov r8, rdx
mov qword [rsp + 0x20], 5
lea r9, [0x18005e221]
lea rcx, [rbp + 0x80]
mov rdx, rax
call fcn.1800312c0
lea rcx, [rbp + 0x80]
call fcn.1800368b0
mov r8, rdx
mov qword [rsp + 0x20], 9
lea r9, [0x18005e226]
lea rcx, [rbp + 0x10]
mov rdx, rax
call fcn.1800312c0
movups xmm0, xmmword [rbp + 0x10]
movups xmm1, xmmword [rbp + 0x20]
movaps xmmword [rbp + 0x70], xmm1
movaps xmmword [rbp + 0x60], xmm0
lea rcx, [section..data]
call fcn.1800035b0
movdqa xmm0, xmmword [rbp + 0x60]
movdqa xmm1, xmmword [rbp + 0x70]
movdqu xmmword [0x18008a010], xmm1
movdqu xmmword [section..data], xmm0
mov rdx, qword [rbp + 0x88]
test rdx, rdx
je 0x18000407c
mov rcx, qword [rbp + 0x80]
mov r8d, 1
call fcn.1800111f0
cmp byte [rbp + 0x118], 2
je 0x1800040a3
mov rdx, qword [rbp + 0x108]
test rdx, rdx
je 0x1800040a3
mov rcx, qword [rbp + 0x100]
mov r8d, 1
call fcn.1800111f0
xor eax, eax
cmp r15, rax
je 0x180004154
mov rcx, qword [rdi + rax]
mov rcx, qword [rcx]
add rax, 0x10
cmp byte [rcx], 2
jne 0x1800040a5
mov r12, qword [rdi + rax - 8]
lea rcx, [r12 + 0x27]
lea rdx, [r12 + 0x2b]
lea rax, str.hook_src_lib.rs
mov qword [rsp + 0x20], rax
mov r8, rbx
mov r9, r14
call fcn.1800033d0
cmp rdx, 4
jne 0x1800043ec
test rax, rax
je 0x1800043ec
lea r8, [rbx + r12]
lea rcx, [rbx + r12]
add rcx, 0x2b
movsxd rax, dword [rax]
add rax, rcx
mov qword [0x1800a05a8], rax
lea rdx, [0x18008a038]
lea rcx, [rbp + 0x100]
call fcn.180001930
mov eax, dword [rbp + 0x100]
cmp eax, 0xd
jne 0x1800042f0
mov rdx, qword [rbp + 0x108]
lea rcx, [rbp + 0x80]
call fcn.180001ff0
mov eax, dword [rbp + 0x80]
cmp eax, 0xd
jne 0x180004331
xor eax, eax
cmp r15, rax
je 0x180003e8c
mov rcx, qword [rdi + rax]
mov rcx, qword [rcx]
add rax, 0x10
cmp byte [rcx], 3
jne 0x180004156
mov rax, qword [rdi + rax - 8]
add rax, rbx
mov qword [0x1800a05b0], rax
xor eax, eax
cmp r15, rax
je 0x180003e8c
mov rcx, qword [rdi + rax]
mov rcx, qword [rcx]
add rax, 0x10
cmp byte [rcx], 4
jne 0x180004180
add rbx, qword [rdi + rax - 8]
lea rdx, [0x18008a050]
lea rcx, [rbp + 0x100]
mov r8, rbx
call fcn.1800015d0
mov eax, dword [rbp + 0x100]
cmp eax, 0xd
jne 0x180004368
mov rdx, qword [rbp + 0x108]
lea rcx, [rbp + 0x80]
call fcn.180001ff0
mov eax, dword [rbp + 0x80]
cmp eax, 0xd
je 0x180003e8c
movdqu xmm0, xmmword [rbp + 0x84]
movdqu xmm1, xmmword [rbp + 0x90]
movdqu xmmword [rbp + 0xb8], xmm1
movdqu xmmword [rbp + 0xac], xmm0
mov dword [rbp + 0xa8], eax
lea rcx, [rbp + 0xa8]
call fcn.1800590b0
jmp 0x180004288
lea rcx, str.could_not_determine_save_locationSavedSaveGames
mov edx, 0x21
call fcn.180059150
mov rbx, rax
cmp byte [rbp + 0x118], 2
je 0x18000428b
mov rdx, qword [rbp + 0x108]
test rdx, rdx
je 0x18000428b
mov rcx, qword [rbp + 0x100]
mov r8d, 1
call fcn.1800111f0
jmp 0x18000428b
movdqu xmm0, xmmword [rbp + 0x84]
movdqu xmm1, xmmword [rbp + 0x90]
movdqu xmmword [rbp + 0xb8], xmm1
movdqu xmmword [rbp + 0xac], xmm0
mov dword [rbp + 0xa8], eax
lea rcx, [rbp + 0xa8]
call fcn.1800590b0
mov rbx, rax
mov rdx, qword [rbp - 0x18]
test rdx, rdx
je 0x1800042a6
shl rdx, 4
mov r8d, 8
mov rcx, rdi
call fcn.1800111f0
mov rdx, qword [rbp]
test rdx, rdx
je 0x1800042c1
shl rdx, 4
mov r8d, 8
mov rcx, rsi
call fcn.1800111f0
lea rcx, [rbp - 0x38]
call fcn.18000fb30
mov rdx, qword [rbp + 0xf8]
test rdx, rdx
je 0x180003bed
shl rdx, 6
mov r8d, 8
mov rcx, qword [rbp + 0xf0]
jmp 0x180003be8
mov ecx, dword [rbp + 0x104]
mov rdx, qword [rbp + 0x108]
movdqu xmm0, xmmword [rbp + 0x110]
movdqu xmmword [rbp + 0xb8], xmm0
mov dword [rbp + 0xa8], eax
mov dword [rbp + 0xac], ecx
mov qword [rbp + 0xb0], rdx
lea rcx, [rbp + 0xa8]
call fcn.1800590b0
jmp 0x180004288
movdqu xmm0, xmmword [rbp + 0x84]
movdqu xmm1, xmmword [rbp + 0x90]
movdqu xmmword [rbp + 0xb8], xmm1
movdqu xmmword [rbp + 0xac], xmm0
mov dword [rbp + 0xa8], eax
lea rcx, [rbp + 0xa8]
call fcn.1800590b0
jmp 0x180004288
mov ecx, dword [rbp + 0x104]
mov rdx, qword [rbp + 0x108]
movdqu xmm0, xmmword [rbp + 0x110]
movdqu xmmword [rbp + 0xb8], xmm0
mov dword [rbp + 0xa8], eax
mov dword [rbp + 0xac], ecx
mov qword [rbp + 0xb0], rdx
lea rcx, [rbp + 0xa8]
call fcn.1800590b0
jmp 0x180004288
lea rax, str.hook_src_lib.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x18005de90]
lea r9, method..virtual_0
lea r8, [rbp + 0xa8]
mov edx, 0x2b
call fcn.18005c7b0
jmp 0x180004417
lea r8, str.hook_src_lib.rs
mov edx, 5
mov rcx, rdi
call fcn.18005c9d0
jmp 0x180004417
lea rax, str.hook_src_lib.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x18005de90]
lea r9, method..virtual_0
lea r8, [rbp + 0xa8]
mov edx, 0x2b
call fcn.18005c7b0
ud2