Function at 0x31330fc20
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x428
movaps xmmword [rsp + 0x410], xmm6
mov rax, qword [rsp + 0x490]
cmp rcx, 0xffffffffffffffff
mov qword [rsp + 0x470], rcx
mov r15, rdx
mov qword [rsp + 0x480], r8
mov qword [rsp + 0x488], r9
mov dword [rax], 0
mov qword [rsp + 0x90], 0
je 0x313310280
mov edx, 1
mov ecx, 0x400
call sub.msvcrt.dll_calloc
lea rbp, [rsp + 0x90]
mov rdx, r15
mov r9d, 0x400
mov rsi, rax
mov r8, rax
mov rcx, qword [rsp + 0x470]
mov qword [rsp + 0x20], rbp
mov rbx, qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
call rbx
movsxd rax, dword [rsi + 0x3c]
mov edx, 1
mov edi, dword [rsi + rax + 0x50]
mov rcx, rdi
call sub.msvcrt.dll_calloc
mov rdx, r15
mov qword [rsp + 0x20], rbp
mov r9, rdi
mov r12, rax
mov rcx, qword [rsp + 0x470]
mov r8, rax
call rbx
movsxd rax, dword [r12 + 0x3c]
mov rdx, r12
add rax, r12
mov r11d, dword [rax + 0x88]
test r11d, r11d
je 0x313310105
mov r8d, r11d
add r8, rdx
mov eax, dword [r8 + 0x1c]
mov r13d, dword [r8 + 0x20]
mov ebp, dword [r8 + 0x24]
mov r11d, dword [r8 + 0x18]
add rax, rdx
add r13, rdx
mov qword [rsp + 0x50], rax
add rbp, rdx
test r11d, r11d
je 0x313310105
xor r11d, r11d
xor r14d, r14d
mov qword [rsp + 0x58], rdx
movq xmm6, qword [str.kernel32kernelba.text]
lea rax, [rsp + 0x98]
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x88], r12
mov qword [rsp + 0x68], r8
mov dword [rsp + 0x7c], r11d
jmp 0x313310030
cmp r9d, 3
je 0x313310260
cmp r9d, 4
je 0x313310360
mov rdx, qword [rbx + 0x220]
mov rcx, qword [sym.imp.KERNEL32.dll_VirtualQuery]
mov r9d, 0x30
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
lea r8, [rsp + 0xb0]
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
call fcn.3132e1a20
test rax, rax
je 0x313310298
cmp qword [rsp + 0xb8], r15
je 0x3133101d0
lea rsi, [rsp + 0xe0]
xor eax, eax
mov ecx, 0x20
mov rdx, qword [rsp + 0x470]
mov rdi, rsi
mov r9, rsi
mov r8, r15
rep stosq qword [rdi], rax
mov rcx, qword [sub.KERNEL32.dll_K32GetModuleFileNameExA]
mov dword [rdi], 0
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0x104
call fcn.3132e1a20
test rax, rax
je 0x31331037c
lea r12, [rsp + 0x1f0]
xor eax, eax
mov ecx, 0x20
mov r8, qword [rsp + 0xb8]
mov rdi, r12
mov rdx, qword [rsp + 0x470]
mov r9, r12
rep stosq qword [rdi], rax
mov rcx, qword [sub.KERNEL32.dll_K32GetModuleFileNameExA]
mov dword [rdi], 0
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0x104
call fcn.3132e1a20
test rax, rax
je 0x313310396
mov rcx, rsi
mov rdi, qword [sym.imp.SHLWAPI.dll_StrStrIA]
mov byte [rsp + 0xac], 0
movq qword [rsp + 0xa0], xmm6
lea rdx, [rsp + 0xa0]
mov dword [rsp + 0xa8], 0x6c6c642e
lea rsi, [rsp + 0x300]
call rdi
test rax, rax
je 0x31330ff59
mov rax, qword [0x3133acde8]
mov rcx, r12
mov byte [rsp + 0x30e], 0
lea rsi, [rsp + 0x300]
mov dword [rsp + 0x308], 0x642e6573
mov rdx, rsi
mov qword [rsp + 0x300], rax
mov eax, 0x6c6c
mov word [rsp + 0x30c], ax
call rdi
test rax, rax
jne 0x3133101d0
xor eax, eax
mov rdi, rsi
mov r8, qword [rsp + 0xb8]
mov r9, rsi
mov ecx, 0x20
mov rdx, qword [rsp + 0x470]
rep stosq qword [rdi], rax
mov rcx, qword [sub.KERNEL32.dll_K32GetModuleFileNameExA]
mov dword [rdi], 0
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0x104
call fcn.3132e1a20
test rax, rax
je 0x3133103b0
lea r12, [rbx + 0x11c]
mov r8d, 0x103
mov rdx, rsi
mov rcx, r12
call sub.msvcrt.dll_strncpy
cmp byte [rbx + 0x11c], 0
jne 0x313310150
mov rax, qword [rsp + 0x70]
cmp rax, qword [rsp + 0x488]
jae 0x31331000a
mov rsi, qword [rsp + 0x480]
mov qword [rsi + rax*8], rbx
add rax, 1
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x490]
add dword [rax], 1
mov rax, qword [rsp + 0x68]
add r14d, 1
add rbp, 2
add r13, 4
cmp r14d, dword [rax + 0x18]
jae 0x3133100f0
movzx eax, word [rbp]
mov qword [rsp + 0x98], 0
mov rbx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x60]
mov r12d, dword [r13]
mov esi, dword [rbx + rax*4]
mov rax, qword [rsp + 0x58]
add rsi, rax
mov rcx, rsi
call fcn.31330f910
cmp eax, 1
mov dword [rsp + 0x78], eax
jbe 0x313310015
call fcn.31330f4b0
mov ecx, 0x20
mov edx, r12d
mov r8d, 0x103
lea r10, [rax + 0x18]
mov rbx, rax
xor eax, eax
mov rdi, r10
rep stosq qword [rdi], rax
mov rax, qword [rsp + 0x58]
mov rcx, r10
add rdx, rax
mov dword [rdi], 0
call sub.msvcrt.dll_strncpy
movzx eax, word [rbp]
mov qword [rbx], r15
mov rdi, qword [rsp + 0x50]
mov r9d, dword [rsp + 0x78]
mov word [rbx + 8], ax
mov eax, dword [rdi + rax*4]
add rax, r15
cmp r9d, 2
mov qword [rbx + 0x10], rax
jne 0x31330fd80
mov rcx, qword [rsp + 0x98]
movsxd rdx, dword [rsi + rcx]
lea rax, [rax + rcx + 4]
add rdx, rax
mov qword [rbx + 0x220], rdx
jmp 0x31330fd9b
mov rsi, qword [rsp + 0x80]
mov r12, qword [rsp + 0x88]
mov r11d, dword [rsp + 0x7c]
cmp qword [rsp + 0x470], 0xffffffffffffffff
je 0x31331012a
mov rcx, rsi
mov dword [rsp + 0x50], r11d
call sub.msvcrt.dll_free
mov rcx, r12
call sub.msvcrt.dll_free
mov r11d, dword [rsp + 0x50]
movaps xmm6, xmmword [rsp + 0x410]
mov eax, r11d
add rsp, 0x428
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor eax, eax
mov rdi, rsi
mov rdx, qword [rsp + 0x470]
mov r9, rsi
mov ecx, 0x20
mov r8, r15
rep stosq qword [rdi], rax
mov rcx, qword [sub.KERNEL32.dll_K32GetModuleFileNameExA]
mov dword [rdi], 0
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0x104
call fcn.3132e1a20
test rax, rax
je 0x3133103ca
mov rdx, rsi
mov rcx, r12
call fcn.31330fb00
test eax, eax
je 0x31330ffe6
nop word cs:[rax + rax]
mov rcx, qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
call fcn.3132e1a20
mov rcx, qword [sym.imp.KERNEL32.dll_HeapFree]
mov r9, rbx
xor r8d, r8d
mov qword [rsp + 0x40], 0
mov rdx, rax
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
call fcn.3132e1a20
jmp 0x313310015
mov rdx, qword [rsp + 0x98]
mov edx, dword [rax + rdx]
mov qword [rbx + 0x220], rdx
jmp 0x31330fd9b
movsxd rax, dword [rdx + 0x3c]
xor r12d, r12d
xor esi, esi
add rax, rdx
jmp 0x31330fcf1
mov rax, qword [rsp + 0x70]
cmp rax, qword [rsp + 0x488]
jae 0x3133102bc
mov rsi, qword [rsp + 0x480]
mov qword [rsi + rax*8], rbx
add rax, 1
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x490]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [sym.imp.KERNEL32.dll_GetProcessHeap]
add dword [rax], 1
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
call fcn.3132e1a20
mov rcx, qword [sym.imp.KERNEL32.dll_HeapFree]
mov r9, rbx
xor r8d, r8d
mov qword [rsp + 0x40], 0
mov rdx, rax
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
call fcn.3132e1a20
mov dword [rsp + 0x7c], 4
jmp 0x313310015
mov rdx, qword [rsp + 0x98]
mov edx, dword [rax + rdx]
mov rdx, qword [rax + rdx + 6]
mov qword [rbx + 0x220], rdx
jmp 0x31330fd9b
lea rdx, str._not_found_
mov r8d, 0x103
mov rcx, rsi
call sub.msvcrt.dll_strncpy
jmp 0x31330fe64
lea rdx, str._not_found_
mov r8d, 0x103
mov rcx, r12
call sub.msvcrt.dll_strncpy
jmp 0x31330fed4
lea rdx, str._not_found_
mov r8d, 0x103
mov rcx, rsi
call sub.msvcrt.dll_strncpy
jmp 0x31330ffc1
lea rdx, str._not_found_
mov r8d, 0x103
mov rcx, rsi
call sub.msvcrt.dll_strncpy
jmp 0x3133101b3