Function at 0x2b3653d30
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, 0x488
movaps xmmword [rsp + 0x460], xmm6
movaps xmmword [rsp + 0x470], xmm7
mov dword [r9], 0
movsxd rax, dword [rcx + 0x3c]
mov r15, rcx
mov qword [rsp + 0x4d8], rdx
mov eax, dword [rax + rcx + 0x88]
mov qword [rsp + 0x4e8], r9
mov dword [rsp + 0x80], eax
test eax, eax
je 0x2b36548b6
lea rsi, [rax + rcx]
mov eax, dword [rsi + 0x1c]
mov qword [rsp + 0x50], rsi
add rax, rcx
mov qword [rsp + 0x58], rax
mov eax, dword [rsi + 0x20]
add rax, rcx
mov qword [rsp + 0x60], rax
mov eax, dword [rsi + 0x24]
add rax, rcx
mov qword [rsp + 0x68], rax
mov eax, dword [rsi + 0x18]
mov dword [rsp + 0x80], eax
test eax, eax
je 0x2b36548b6
lea rax, [rsp + 0xa8]
xor r14d, r14d
mov dword [rsp + 0x80], 0
movq xmm6, qword [0x2b3757098]
movq xmm7, qword [0x2b37570a0]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x90], 0
jmp 0x2b3654504
xor esi, esi
lea r12, [rsp + 0x130]
mov ecx, 0x20
mov r8d, 0x104
mov rax, rsi
mov rdi, r12
mov rdx, r12
rep stosq qword [rdi], rax
mov rcx, r15
mov dword [rdi], 0
lea rdi, [rsp + 0x240]
call fcn.2b36538a0
mov rax, rsi
mov ecx, 0x20
mov rdx, rdi
rep stosq qword [rdi], rax
mov rcx, qword [rsp + 0x108]
mov r8d, 0x104
mov qword [rsp + 0x88], rdx
mov dword [rdi], 0
call fcn.2b36538a0
mov byte [rsp + 0xcc], 0
mov dword [rsp + 0xe0], 0x35
mov ecx, dword [rsp + 0xe0]
mov r10d, dword [rsp + 0xe0]
mov r11d, dword [rsp + 0xe0]
mov esi, dword [rsp + 0xe0]
mov edi, dword [rsp + 0xe0]
mov ebp, dword [rsp + 0xe0]
add r11d, 2
add r10d, 1
mov r13d, dword [rsp + 0xe0]
add edi, 4
add esi, 3
movzx r11d, r11b
movzx r10d, r10b
add r13d, 6
add ebp, 5
movzx edi, dil
movzx esi, sil
mov eax, dword [rsp + 0xe0]
movzx r13d, r13b
movzx ebp, bpl
mov r9d, dword [rsp + 0xe0]
mov r8d, dword [rsp + 0xe0]
mov edx, dword [rsp + 0xe0]
mov dword [rsp + 0x98], eax
mov eax, dword [rsp + 0xe0]
add r9d, 8
add r8d, 9
xor r9d, 0x2e
add edx, 0xa
mov dword [rsp + 0x84], eax
xor r8d, 0x64
xor edx, 0x6c
movzx eax, byte [rsp + 0x98]
movzx edx, dl
add eax, 7
shl edx, 0x10
movzx eax, al
shl rax, 8
or rax, r13
shl rax, 8
or rax, rbp
shl rax, 8
or rax, rdi
shl rax, 8
or rax, rsi
shl rax, 8
or rax, r11
shl rax, 8
or rax, r10
movzx r10d, cl
mov ecx, r8d
shl rax, 8
or rax, r10
movq xmm2, rax
xor eax, eax
mov al, r9b
pxor xmm2, xmm7
movq qword [rsp + 0xe4], xmm2
mov ah, cl
movzx ecx, byte [rsp + 0x84]
movq qword [rsp + 0xc0], xmm2
movzx eax, ax
add ecx, 0xb
or eax, edx
xor ecx, 0x6c
shl ecx, 0x18
or eax, ecx
mov rcx, r12
mov dword [rsp + 0xec], eax
mov dword [rsp + 0xc8], eax
mov byte [rsp + 0xf0], 0
movzx eax, byte [rsp + 0xe4]
mov edx, dword [rsp + 0xe0]
xor eax, edx
mov byte [rsp + 0xe4], al
movzx edx, byte [rsp + 0xe5]
mov eax, dword [rsp + 0xe0]
add eax, 1
xor eax, edx
mov byte [rsp + 0xe5], al
movzx edx, byte [rsp + 0xe6]
mov eax, dword [rsp + 0xe0]
add eax, 2
xor eax, edx
mov byte [rsp + 0xe6], al
movzx edx, byte [rsp + 0xe7]
mov eax, dword [rsp + 0xe0]
add eax, 3
xor eax, edx
mov byte [rsp + 0xe7], al
movzx edx, byte [rsp + 0xe8]
mov eax, dword [rsp + 0xe0]
add eax, 4
xor eax, edx
mov byte [rsp + 0xe8], al
movzx edx, byte [rsp + 0xe9]
mov eax, dword [rsp + 0xe0]
add eax, 5
xor eax, edx
mov byte [rsp + 0xe9], al
movzx edx, byte [rsp + 0xea]
mov eax, dword [rsp + 0xe0]
add eax, 6
xor eax, edx
mov byte [rsp + 0xea], al
movzx edx, byte [rsp + 0xeb]
mov eax, dword [rsp + 0xe0]
add eax, 7
xor eax, edx
mov byte [rsp + 0xeb], al
movzx edx, byte [rsp + 0xec]
mov eax, dword [rsp + 0xe0]
add eax, 8
xor eax, edx
mov byte [rsp + 0xec], al
movzx edx, byte [rsp + 0xed]
mov eax, dword [rsp + 0xe0]
add eax, 9
xor eax, edx
mov byte [rsp + 0xed], al
movzx edx, byte [rsp + 0xee]
mov eax, dword [rsp + 0xe0]
add eax, 0xa
xor eax, edx
mov byte [rsp + 0xee], al
movzx edx, byte [rsp + 0xef]
mov eax, dword [rsp + 0xe0]
add eax, 0xb
xor eax, edx
lea rdx, [rsp + 0xe4]
mov byte [rsp + 0xef], al
mov byte [rsp + 0xf0], 0
call qword [sym.imp.SHLWAPI.dll_StrStrIA]
test rax, rax
je 0x2b3654466
mov dword [rsp + 0x350], 0x3d
mov ecx, dword [rsp + 0x350]
mov r11d, dword [rsp + 0x350]
mov esi, dword [rsp + 0x350]
mov byte [rsp + 0xde], 0
movq xmm0, qword [0x2b37570a8]
mov edi, dword [rsp + 0x350]
mov ebp, dword [rsp + 0x350]
add esi, 2
add r11d, 1
mov r12d, dword [rsp + 0x350]
mov r13d, dword [rsp + 0x350]
add edi, 3
movzx esi, sil
movzx r11d, r11b
mov eax, dword [rsp + 0x350]
add r12d, 5
add ebp, 4
movzx edi, dil
mov r10d, dword [rsp + 0x350]
add r13d, 6
movzx r12d, r12b
movzx ebp, bpl
mov r9d, dword [rsp + 0x350]
mov dword [rsp + 0x9c], eax
movzx r13d, r13b
mov edx, dword [rsp + 0x350]
mov eax, dword [rsp + 0x350]
add r10d, 8
mov r8d, dword [rsp + 0x350]
add r9d, 9
xor r10d, 0x73
mov dword [rsp + 0x98], eax
xor r9d, 0x65
add edx, 0xa
mov eax, dword [rsp + 0x350]
xor edx, 0x2e
mov dword [rsp + 0x84], eax
movzx eax, byte [rsp + 0x9c]
movzx edx, dl
shl edx, 0x10
add eax, 7
movzx eax, al
shl rax, 8
or rax, r13
shl rax, 8
or rax, r12
shl rax, 8
or rax, rbp
shl rax, 8
or rax, rdi
shl rax, 8
or rax, rsi
movzx esi, byte [rsp + 0x98]
shl rax, 8
or rax, r11
movzx r11d, cl
add esi, 0xb
mov ecx, r9d
shl rax, 8
or rax, r11
movq xmm3, rax
xor eax, eax
mov al, r10b
pxor xmm3, xmm0
movq qword [rsp + 0x354], xmm3
mov ah, cl
mov ecx, esi
movzx esi, byte [rsp + 0x84]
movq qword [rsp + 0xd0], xmm3
xor ecx, 0x64
movzx eax, ax
shl ecx, 0x18
or eax, edx
lea edx, [rsi + 0xd]
add r8d, 0xc
or eax, ecx
xor r8d, 0x6c
xor ecx, ecx
xor edx, 0x6c
mov cl, r8b
mov dword [rsp + 0x35c], eax
mov ch, dl
mov dword [rsp + 0xd8], eax
mov word [rsp + 0x360], cx
mov byte [rsp + 0x362], 0
movzx eax, byte [rsp + 0x354]
mov edx, dword [rsp + 0x350]
mov word [rsp + 0xdc], cx
xor eax, edx
mov byte [rsp + 0x354], al
movzx edx, byte [rsp + 0x355]
mov eax, dword [rsp + 0x350]
add eax, 1
xor eax, edx
mov byte [rsp + 0x355], al
movzx edx, byte [rsp + 0x356]
mov eax, dword [rsp + 0x350]
add eax, 2
xor eax, edx
mov byte [rsp + 0x356], al
movzx edx, byte [rsp + 0x357]
mov eax, dword [rsp + 0x350]
add eax, 3
xor eax, edx
mov byte [rsp + 0x357], al
movzx edx, byte [rsp + 0x358]
mov eax, dword [rsp + 0x350]
add eax, 4
xor eax, edx
mov byte [rsp + 0x358], al
movzx edx, byte [rsp + 0x359]
mov eax, dword [rsp + 0x350]
add eax, 5
xor eax, edx
mov byte [rsp + 0x359], al
movzx edx, byte [rsp + 0x35a]
mov eax, dword [rsp + 0x350]
add eax, 6
xor eax, edx
mov byte [rsp + 0x35a], al
movzx edx, byte [rsp + 0x35b]
mov eax, dword [rsp + 0x350]
add eax, 7
xor eax, edx
mov byte [rsp + 0x35b], al
movzx edx, byte [rsp + 0x35c]
mov eax, dword [rsp + 0x350]
add eax, 8
xor eax, edx
mov byte [rsp + 0x35c], al
movzx edx, byte [rsp + 0x35d]
mov eax, dword [rsp + 0x350]
add eax, 9
xor eax, edx
mov byte [rsp + 0x35d], al
movzx edx, byte [rsp + 0x35e]
mov eax, dword [rsp + 0x350]
add eax, 0xa
xor eax, edx
mov byte [rsp + 0x35e], al
movzx edx, byte [rsp + 0x35f]
mov eax, dword [rsp + 0x350]
add eax, 0xb
xor eax, edx
mov byte [rsp + 0x35f], al
movzx edx, byte [rsp + 0x360]
mov eax, dword [rsp + 0x350]
mov rcx, qword [rsp + 0x88]
add eax, 0xc
xor eax, edx
mov byte [rsp + 0x360], al
movzx edx, byte [rsp + 0x361]
mov eax, dword [rsp + 0x350]
add eax, 0xd
xor eax, edx
lea rdx, [rsp + 0x354]
mov byte [rsp + 0x361], al
mov byte [rsp + 0x362], 0
call qword [sym.imp.SHLWAPI.dll_StrStrIA]
test rax, rax
jne 0x2b3654820
lea rbp, [rsp + 0x350]
xor esi, esi
mov ecx, 0x20
mov r8d, 0x104
mov rax, rsi
mov rdi, rbp
lea r12, [rbx + 0x11c]
mov rdx, rbp
rep stosq qword [rdi], rax
mov rcx, qword [rsp + 0x108]
mov dword [rdi], 0
call fcn.2b36538a0
mov r8d, 0x103
mov rdx, rbp
mov rcx, r12
call sub.msvcrt.dll_strncpy
cmp byte [rbx + 0x11c], 0
jne 0x2b3654943
mov rax, qword [rsp + 0x90]
cmp qword [rsp + 0x78], rax
jbe 0x2b36544e6
mov rsi, qword [rsp + 0x4d8]
mov qword [rsi + rax*8], rbx
add rax, 1
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x4e8]
add dword [rax], 1
mov rax, qword [rsp + 0x50]
add r14d, 1
cmp dword [rax + 0x18], r14d
jbe 0x2b36548b6
mov rax, qword [rsp + 0x68]
mov r12d, r14d
mov rsi, qword [rsp + 0x58]
mov byte [rsp + 0xb9], 0
lea rbp, [rax + r12*2]
movzx eax, word [rbp]
mov esi, dword [rsi + rax*4]
mov dword [rsp + 0x350], 0xc
mov edi, dword [rsp + 0x350]
mov ecx, dword [rsp + 0x350]
mov r8d, dword [rsp + 0x350]
mov r9d, dword [rsp + 0x350]
add rsi, r15
mov r10d, dword [rsp + 0x350]
add ecx, 1
movzx edi, dil
mov r11d, dword [rsp + 0x350]
mov ebx, dword [rsp + 0x350]
add r9d, 3
add r8d, 2
movzx ecx, cl
add r11d, 5
add r10d, 4
movzx r9d, r9b
movzx r8d, r8b
mov eax, dword [rsp + 0x350]
add ebx, 6
movzx r11d, r11b
movzx r10d, r10b
movzx ebx, bl
mov edx, dword [rsp + 0x350]
add eax, 7
movzx eax, al
add edx, 8
shl rax, 8
xor edx, 0x3e
or rax, rbx
mov byte [rsp + 0xb8], dl
shl rax, 8
or rax, r11
shl rax, 8
or rax, r10
shl rax, 8
or rax, r9
shl rax, 8
or rax, r8
shl rax, 8
or rax, rcx
mov rcx, rsi
shl rax, 8
or rax, rdi
movq xmm1, rax
movzx eax, word [rsp + 0xb8]
pxor xmm1, xmm6
movq qword [rsp + 0x354], xmm1
mov word [rsp + 0x35c], ax
movzx eax, byte [rsp + 0x354]
mov edx, dword [rsp + 0x350]
movq qword [rsp + 0xb0], xmm1
xor eax, edx
mov byte [rsp + 0x354], al
movzx edx, byte [rsp + 0x355]
mov eax, dword [rsp + 0x350]
add eax, 1
xor eax, edx
mov byte [rsp + 0x355], al
movzx edx, byte [rsp + 0x356]
mov eax, dword [rsp + 0x350]
add eax, 2
xor eax, edx
mov byte [rsp + 0x356], al
movzx edx, byte [rsp + 0x357]
mov eax, dword [rsp + 0x350]
add eax, 3
xor eax, edx
mov byte [rsp + 0x357], al
movzx edx, byte [rsp + 0x358]
mov eax, dword [rsp + 0x350]
mov qword [rsp + 0xa8], 0
add eax, 4
xor eax, edx
mov byte [rsp + 0x358], al
movzx edx, byte [rsp + 0x359]
mov eax, dword [rsp + 0x350]
add eax, 5
xor eax, edx
mov byte [rsp + 0x359], al
movzx edx, byte [rsp + 0x35a]
mov eax, dword [rsp + 0x350]
add eax, 6
xor eax, edx
mov byte [rsp + 0x35a], al
movzx edx, byte [rsp + 0x35b]
mov eax, dword [rsp + 0x350]
add eax, 7
xor eax, edx
mov byte [rsp + 0x35b], al
movzx edx, byte [rsp + 0x35c]
mov eax, dword [rsp + 0x350]
add eax, 8
xor eax, edx
mov rdx, qword [rsp + 0x70]
mov byte [rsp + 0x35c], al
mov rax, qword [rsp + 0x60]
mov byte [rsp + 0x35d], 0
mov r12d, dword [rax + r12*4]
call fcn.2b3653a50
mov r13d, eax
cmp eax, 1
jbe 0x2b36544f1
call fcn.2b3653610
mov edx, r12d
mov r8d, 0x103
lea r9, [rax + 0x18]
lea rdi, [rax + 0x20]
mov rbx, rax
add rdx, r15
and rdi, 0xfffffffffffffff8
mov rcx, r9
mov qword [rax + 0x18], 0
mov qword [rax + 0x114], 0
sub rcx, rdi
xor eax, eax
add ecx, 0x104
shr ecx, 3
rep stosq qword [rdi], rax
mov rcx, r9
call sub.msvcrt.dll_strncpy
movzx eax, word [rbp]
mov qword [rbx], r15
mov qword [rbx + 0x10], rsi
mov word [rbx + 8], ax
cmp r13d, 2
je 0x2b36548e8
cmp r13d, 3
je 0x2b3654910
cmp r13d, 4
je 0x2b3654927
mov rdx, qword [rbx + 0x220]
mov qword [rsp + 0x40], 0
mov rcx, qword [sym.imp.KERNEL32.dll_VirtualQuery]
mov r9d, 0x30
lea r8, [rsp + 0x100]
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
call fcn.2b3651880
mov qword [rsp + 0x78], rax
test rax, rax
je 0x2b3654980
cmp qword [rsp + 0x108], r15
jne 0x2b3653e00
mov qword [rsp + 0x40], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x38], 0
mov rcx, qword [sym.imp.KERNEL32.dll_GetProcessHeap]
add r14d, 1
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
call fcn.2b3651880
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.2b3651880
mov rax, qword [rsp + 0x50]
cmp dword [rax + 0x18], r14d
ja 0x2b3654504
mov eax, dword [rsp + 0x80]
movaps xmm6, xmmword [rsp + 0x460]
movaps xmm7, xmmword [rsp + 0x470]
add rsp, 0x488
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 0xa8]
movsxd rdx, dword [rsi + rax]
lea rax, [rsi + rax + 4]
add rdx, rax
mov qword [rbx + 0x220], rdx
jmp 0x2b36547bd
mov rax, qword [rsp + 0xa8]
mov edx, dword [rsi + rax]
mov qword [rbx + 0x220], rdx
jmp 0x2b36547bd
mov rax, qword [rsp + 0xa8]
mov eax, dword [rsi + rax]
mov rdx, qword [rsi + rax + 6]
mov qword [rbx + 0x220], rdx
jmp 0x2b36547bd
mov rax, rsi
mov ecx, 0x20
mov rdi, rbp
mov rdx, rbp
rep stosq qword [rdi], rax
mov r8d, 0x104
mov rcx, r15
mov dword [rdi], 0
call fcn.2b36538a0
mov rdx, rbp
mov rcx, r12
call fcn.2b3653c10
test eax, eax
je 0x2b36544bf
jmp 0x2b3654820
mov rax, qword [rsp + 0x4e8]
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.2b3651880
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.2b3651880
mov dword [rsp + 0x80], 4
jmp 0x2b36544f1