Function at 0x3adbec240
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 0x3adbec890
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 0x3adbec725
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 0x3adbec725
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 0x3adbec650
cmp r9d, 3
je 0x3adbec870
cmp r9d, 4
je 0x3adbec967
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.3adbc1500
test rax, rax
je 0x3adbec8a8
cmp qword [rsp + 0xb8], r15
je 0x3adbec7e0
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 [0x3adc8c3e0]
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.3adbc1500
test rax, rax
je 0x3adbec983
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 [0x3adc8c3e0]
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.3adbc1500
test rax, rax
je 0x3adbec99d
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 0x3adbec579
mov rax, qword [0x3adc87da8]
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 0x3adbec7e0
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 [0x3adc8c3e0]
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.3adbc1500
test rax, rax
je 0x3adbec9b7
lea r12, [rbx + 0x11c]
mov r8d, 0x103
mov rdx, rsi
mov rcx, r12
call sub.msvcrt.dll_strncpy
cmp byte [rbx + 0x11c], 0
jne 0x3adbec769
mov rax, qword [rsp + 0x70]
cmp rax, qword [rsp + 0x488]
jae 0x3adbec62a
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 0x3adbec710
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.3adbebf30
cmp eax, 1
mov dword [rsp + 0x78], eax
jbe 0x3adbec635
call fcn.3adbebad0
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 0x3adbec3a0
mov rcx, qword [rsp + 0x98]
movsxd rdx, dword [rsi + rcx]
lea rax, [rax + rcx + 4]
add rdx, rax
mov qword [rbx + 0x220], rdx
jmp 0x3adbec3bb
mov rsi, qword [rsp + 0x80]
mov r12, qword [rsp + 0x88]
mov r11d, dword [rsp + 0x7c]
cmp qword [rsp + 0x470], 0xffffffffffffffff
je 0x3adbec74a
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 [0x3adc8c3e0]
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.3adbc1500
test rax, rax
je 0x3adbec9d1
mov rdx, rsi
mov rcx, r12
call fcn.3adbec120
test eax, eax
je 0x3adbec606
nop
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.3adbc1500
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.3adbc1500
jmp 0x3adbec635
mov rdx, qword [rsp + 0x98]
mov edx, dword [rax + rdx]
mov qword [rbx + 0x220], rdx
jmp 0x3adbec3bb
movsxd rax, dword [rdx + 0x3c]
xor r12d, r12d
xor esi, esi
add rax, rdx
jmp 0x3adbec311
mov rax, qword [rsp + 0x70]
cmp rax, qword [rsp + 0x488]
jae 0x3adbec8cc
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.3adbc1500
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.3adbc1500
mov dword [rsp + 0x7c], 4
jmp 0x3adbec635
mov rdx, qword [rsp + 0x98]
mov edx, dword [rax + rdx]
mov rdx, qword [rax + rdx + 6]
mov qword [rbx + 0x220], rdx
jmp 0x3adbec3bb
lea rdx, str._not_found_
mov r8d, 0x103
mov rcx, rsi
call sub.msvcrt.dll_strncpy
jmp 0x3adbec484
lea rdx, str._not_found_
mov r8d, 0x103
mov rcx, r12
call sub.msvcrt.dll_strncpy
jmp 0x3adbec4f4
lea rdx, str._not_found_
mov r8d, 0x103
mov rcx, rsi
call sub.msvcrt.dll_strncpy
jmp 0x3adbec5e1
lea rdx, str._not_found_
mov r8d, 0x103
mov rcx, rsi
call sub.msvcrt.dll_strncpy
jmp 0x3adbec7cc