Function at 0x2b3656960
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, 0x98
mov dword [rsp + 0x24], edx
mov dword [rsp + 0x28], r8d
mov dword [rsp + 0x2c], r9d
test cl, cl
jne 0x2b3657190
movq xmm0, qword [str.kernel32LoadLibrIgvRtqeCLocalAllVteRdcct]
mov dword [rsp + 0x70], 0x42
mov r8d, dword [rsp + 0x70]
mov r10d, dword [rsp + 0x70]
mov byte [rsp + 0x4c], 0
mov r11d, dword [rsp + 0x70]
mov esi, dword [rsp + 0x70]
mov ebp, dword [rsp + 0x70]
mov r12d, dword [rsp + 0x70]
add r10d, 1
movzx r8d, r8b
mov r13d, dword [rsp + 0x70]
mov eax, dword [rsp + 0x70]
add esi, 3
add r11d, 2
add r12d, 5
add ebp, 4
movzx esi, sil
movzx r11d, r11b
add eax, 7
add r13d, 6
movzx r12d, r12b
movzx ebp, bpl
movzx eax, al
movzx r13d, r13b
movzx r10d, r10b
mov r9d, dword [rsp + 0x70]
shl rax, 8
mov ebx, dword [rsp + 0x70]
mov edx, dword [rsp + 0x70]
or rax, r13
add r9d, 8
mov ecx, dword [rsp + 0x70]
shl rax, 8
xor r9d, 0x2e
add ebx, 9
add edx, 0xa
or rax, r12
xor ebx, 0x64
xor edx, 0x6c
add ecx, 0xb
shl rax, 8
movzx edx, dl
xor ecx, 0x6c
shl edx, 0x10
or rax, rbp
shl ecx, 0x18
shl rax, 8
or rax, rsi
lea rsi, [rsp + 0x74]
shl rax, 8
or rax, r11
shl rax, 8
or rax, r10
shl rax, 8
or rax, r8
movq xmm1, rax
xor eax, eax
mov al, r9b
pxor xmm1, xmm0
mov ah, bl
movq qword [rsp + 0x74], xmm1
movzx eax, ax
movq qword [rsp + 0x40], xmm1
or eax, edx
or eax, ecx
mov rcx, rsi
mov dword [rsp + 0x7c], eax
mov dword [rsp + 0x48], eax
mov byte [rsp + 0x80], 0
movzx eax, byte [rsp + 0x74]
mov edx, dword [rsp + 0x70]
xor eax, edx
mov byte [rsp + 0x74], al
movzx edx, byte [rsp + 0x75]
mov eax, dword [rsp + 0x70]
add eax, 1
xor eax, edx
mov byte [rsp + 0x75], al
movzx edx, byte [rsp + 0x76]
mov eax, dword [rsp + 0x70]
add eax, 2
xor eax, edx
mov byte [rsp + 0x76], al
movzx edx, byte [rsp + 0x77]
mov eax, dword [rsp + 0x70]
add eax, 3
xor eax, edx
mov byte [rsp + 0x77], al
movzx edx, byte [rsp + 0x78]
mov eax, dword [rsp + 0x70]
add eax, 4
xor eax, edx
mov byte [rsp + 0x78], al
movzx edx, byte [rsp + 0x79]
mov eax, dword [rsp + 0x70]
add eax, 5
xor eax, edx
mov byte [rsp + 0x79], al
movzx edx, byte [rsp + 0x7a]
mov eax, dword [rsp + 0x70]
add eax, 6
xor eax, edx
mov byte [rsp + 0x7a], al
movzx edx, byte [rsp + 0x7b]
mov eax, dword [rsp + 0x70]
add eax, 7
xor eax, edx
mov byte [rsp + 0x7b], al
movzx edx, byte [rsp + 0x7c]
mov eax, dword [rsp + 0x70]
add eax, 8
xor eax, edx
mov byte [rsp + 0x7c], al
movzx edx, byte [rsp + 0x7d]
mov eax, dword [rsp + 0x70]
add eax, 9
xor eax, edx
mov byte [rsp + 0x7d], al
movzx edx, byte [rsp + 0x7e]
mov eax, dword [rsp + 0x70]
add eax, 0xa
xor eax, edx
mov byte [rsp + 0x7e], al
movzx edx, byte [rsp + 0x7f]
mov eax, dword [rsp + 0x70]
add eax, 0xb
xor eax, edx
mov byte [rsp + 0x7f], al
mov byte [rsp + 0x80], 0
call fcn.2b3656570
mov dword [rsp + 0x70], 0x79
mov r15d, dword [rsp + 0x70]
mov rbx, rax
mov r10d, dword [rsp + 0x70]
mov r11d, dword [rsp + 0x70]
mov byte [rsp + 0x5c], 0
mov ebp, dword [rsp + 0x70]
mov r12d, dword [rsp + 0x70]
movzx r15d, r15b
mov r13d, dword [rsp + 0x70]
mov r14d, dword [rsp + 0x70]
add r10d, 1
add r11d, 2
mov eax, dword [rsp + 0x70]
add ebp, 3
add r12d, 4
movzx r11d, r11b
add r13d, 5
add r14d, 6
movzx r12d, r12b
movzx ebp, bpl
add eax, 7
movzx r14d, r14b
movzx r13d, r13b
movzx r10d, r10b
movzx eax, al
mov r9d, dword [rsp + 0x70]
mov r8d, dword [rsp + 0x70]
shl rax, 8
mov edi, dword [rsp + 0x70]
mov ecx, dword [rsp + 0x70]
or rax, r14
add r9d, 8
add r8d, 9
movq xmm0, qword [0x2b3757128]
shl rax, 8
xor r9d, 0x61
xor r8d, 0x72
add ecx, 0xb
or rax, r13
mov edx, r8d
xor ecx, 0x41
shl rax, 8
shl ecx, 0x18
or rax, r12
shl rax, 8
or rax, rbp
shl rax, 8
or rax, r11
shl rax, 8
or rax, r10
shl rax, 8
or rax, r15
movq xmm2, rax
xor eax, eax
mov al, r9b
pxor xmm2, xmm0
mov ah, dl
lea edx, [rdi + 0xa]
movq qword [rsp + 0x74], xmm2
xor edx, 0x79
movzx eax, ax
movq qword [rsp + 0x50], xmm2
movzx edx, dl
shl edx, 0x10
or eax, edx
or eax, ecx
mov dword [rsp + 0x7c], eax
mov dword [rsp + 0x58], eax
mov byte [rsp + 0x80], 0
movzx eax, byte [rsp + 0x74]
mov edx, dword [rsp + 0x70]
xor eax, edx
mov byte [rsp + 0x74], al
movzx edx, byte [rsp + 0x75]
mov eax, dword [rsp + 0x70]
add eax, 1
xor eax, edx
mov byte [rsp + 0x75], al
movzx edx, byte [rsp + 0x76]
mov eax, dword [rsp + 0x70]
add eax, 2
xor eax, edx
mov byte [rsp + 0x76], al
movzx edx, byte [rsp + 0x77]
mov eax, dword [rsp + 0x70]
add eax, 3
xor eax, edx
mov byte [rsp + 0x77], al
movzx edx, byte [rsp + 0x78]
mov eax, dword [rsp + 0x70]
add eax, 4
xor eax, edx
mov byte [rsp + 0x78], al
movzx edx, byte [rsp + 0x79]
mov eax, dword [rsp + 0x70]
add eax, 5
xor eax, edx
mov byte [rsp + 0x79], al
movzx edx, byte [rsp + 0x7a]
mov eax, dword [rsp + 0x70]
add eax, 6
xor eax, edx
mov byte [rsp + 0x7a], al
movzx edx, byte [rsp + 0x7b]
mov eax, dword [rsp + 0x70]
add eax, 7
xor eax, edx
mov byte [rsp + 0x7b], al
movzx edx, byte [rsp + 0x7c]
mov eax, dword [rsp + 0x70]
add eax, 8
xor eax, edx
mov byte [rsp + 0x7c], al
movzx edx, byte [rsp + 0x7d]
mov eax, dword [rsp + 0x70]
add eax, 9
xor eax, edx
mov byte [rsp + 0x7d], al
movzx edx, byte [rsp + 0x7e]
mov eax, dword [rsp + 0x70]
add eax, 0xa
xor eax, edx
mov byte [rsp + 0x7e], al
movzx edx, byte [rsp + 0x7f]
mov eax, dword [rsp + 0x70]
add eax, 0xb
xor eax, edx
mov byte [rsp + 0x7f], al
mov byte [rsp + 0x80], 0
movsxd rax, dword [rbx + 0x3c]
mov ebp, dword [rbx + rax + 0x88]
xor eax, eax
test ebp, ebp
je 0x2b3656ddd
mov r13d, ebp
add r13, rbx
mov r14d, dword [r13 + 0x20]
mov r12d, dword [r13 + 0x18]
add r14, rbx
test r12d, r12d
je 0x2b3656ddd
xor r15d, r15d
jmp 0x2b3656db1
add r15, 1
add r14, 4
cmp r12, r15
je 0x2b36571f0
mov ecx, dword [r14]
mov rdx, rsi
add rcx, rbx
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x2b3656da0
mov edx, dword [r13 + 0x24]
lea rcx, [rbx + r15*2]
mov eax, dword [r13 + 0x1c]
movzx edx, word [rcx + rdx]
lea rdx, [rbx + rdx*4]
mov eax, dword [rdx + rax]
add rax, rbx
mov qword [0x2b3789050], rax
mov rax, qword [0x2b3757130]
mov edx, 0x7575
mov dword [rsp + 0x68], 0x67746666
mov qword [rsp + 0x60], rax
mov eax, 0x7575
mov word [rsp + 0x6c], ax
movabs rax, 0x4365717452766749
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x78], 0x67746666
mov word [rsp + 0x7c], dx
mov byte [rsp + 0x7e], 0
movzx eax, byte [rsp + 0x70]
mov byte [rsp + 0x6e], 0
sub eax, 2
mov byte [rsp + 0x70], al
movzx eax, byte [rsp + 0x71]
sub eax, 2
mov byte [rsp + 0x71], al
movzx eax, byte [rsp + 0x72]
sub eax, 2
mov byte [rsp + 0x72], al
movzx eax, byte [rsp + 0x73]
sub eax, 2
mov byte [rsp + 0x73], al
movzx eax, byte [rsp + 0x74]
sub eax, 2
mov byte [rsp + 0x74], al
movzx eax, byte [rsp + 0x75]
sub eax, 2
mov byte [rsp + 0x75], al
movzx eax, byte [rsp + 0x76]
sub eax, 2
mov byte [rsp + 0x76], al
movzx eax, byte [rsp + 0x77]
sub eax, 2
mov byte [rsp + 0x77], al
movzx eax, byte [rsp + 0x78]
sub eax, 2
mov byte [rsp + 0x78], al
movzx eax, byte [rsp + 0x79]
sub eax, 2
mov byte [rsp + 0x79], al
movzx eax, byte [rsp + 0x7a]
sub eax, 2
mov byte [rsp + 0x7a], al
movzx eax, byte [rsp + 0x7b]
sub eax, 2
mov byte [rsp + 0x7b], al
movzx eax, byte [rsp + 0x7c]
sub eax, 2
mov byte [rsp + 0x7c], al
movzx eax, byte [rsp + 0x7d]
sub eax, 2
mov byte [rsp + 0x7d], al
xor eax, eax
test ebp, ebp
je 0x2b3656f3d
mov r14d, ebp
add r14, rbx
mov r15d, dword [r14 + 0x20]
mov r12d, dword [r14 + 0x18]
add r15, rbx
test r12d, r12d
je 0x2b3656f3d
xor edi, edi
lea r13, [rsp + 0x70]
jmp 0x2b3656f11
add rdi, 1
add r15, 4
cmp r12, rdi
je 0x2b36571e0
mov ecx, dword [r15]
mov rdx, r13
add rcx, rbx
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x2b3656f00
mov edx, dword [r14 + 0x24]
lea rcx, [rbx + rdi*2]
mov eax, dword [r14 + 0x1c]
movzx edx, word [rcx + rdx]
lea rdx, [rbx + rdx*4]
mov eax, dword [rdx + rax]
add rax, rbx
movq xmm0, qword [0x2b3757138]
mov dword [rsp + 0x70], 0x10
mov qword [0x2b3789058], rax
mov r14d, dword [rsp + 0x70]
mov r8d, dword [rsp + 0x70]
mov r9d, dword [rsp + 0x70]
mov byte [rsp + 0x3a], 0
mov r10d, dword [rsp + 0x70]
mov r11d, dword [rsp + 0x70]
movzx r14d, r14b
mov r12d, dword [rsp + 0x70]
mov r13d, dword [rsp + 0x70]
add r9d, 2
add r8d, 1
mov eax, dword [rsp + 0x70]
add r11d, 4
add r10d, 3
movzx r9d, r9b
add r13d, 6
add r12d, 5
movzx r11d, r11b
movzx r10d, r10b
add eax, 7
movzx r13d, r13b
movzx r12d, r12b
movzx r8d, r8b
movzx eax, al
mov ecx, dword [rsp + 0x70]
mov edx, dword [rsp + 0x70]
shl rax, 8
or rax, r13
add ecx, 8
add edx, 9
shl rax, 8
xor ecx, 0x6f
xor edx, 0x63
or rax, r12
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, r14
movq xmm3, rax
xor eax, eax
mov al, cl
pxor xmm3, xmm0
mov ah, dl
movq qword [rsp + 0x74], xmm3
mov word [rsp + 0x38], ax
mov word [rsp + 0x7c], ax
mov byte [rsp + 0x7e], 0
movzx eax, byte [rsp + 0x74]
mov edx, dword [rsp + 0x70]
movq qword [rsp + 0x30], xmm3
xor eax, edx
mov byte [rsp + 0x74], al
movzx edx, byte [rsp + 0x75]
mov eax, dword [rsp + 0x70]
add eax, 1
xor eax, edx
mov byte [rsp + 0x75], al
movzx edx, byte [rsp + 0x76]
mov eax, dword [rsp + 0x70]
add eax, 2
xor eax, edx
mov byte [rsp + 0x76], al
movzx edx, byte [rsp + 0x77]
mov eax, dword [rsp + 0x70]
add eax, 3
xor eax, edx
mov byte [rsp + 0x77], al
movzx edx, byte [rsp + 0x78]
mov eax, dword [rsp + 0x70]
add eax, 4
xor eax, edx
mov byte [rsp + 0x78], al
movzx edx, byte [rsp + 0x79]
mov eax, dword [rsp + 0x70]
add eax, 5
xor eax, edx
mov byte [rsp + 0x79], al
movzx edx, byte [rsp + 0x7a]
mov eax, dword [rsp + 0x70]
add eax, 6
xor eax, edx
mov byte [rsp + 0x7a], al
movzx edx, byte [rsp + 0x7b]
mov eax, dword [rsp + 0x70]
add eax, 7
xor eax, edx
mov byte [rsp + 0x7b], al
movzx edx, byte [rsp + 0x7c]
mov eax, dword [rsp + 0x70]
add eax, 8
xor eax, edx
mov byte [rsp + 0x7c], al
movzx edx, byte [rsp + 0x7d]
mov eax, dword [rsp + 0x70]
add eax, 9
xor eax, edx
mov byte [rsp + 0x7d], al
xor eax, eax
mov byte [rsp + 0x7e], 0
test ebp, ebp
je 0x2b365713c
add rbp, rbx
mov r13d, dword [rbp + 0x20]
mov r12d, dword [rbp + 0x18]
add r13, rbx
test r12d, r12d
je 0x2b365713c
xor r14d, r14d
jmp 0x2b3657111
add r14, 1
add r13, 4
cmp r12, r14
je 0x2b36571d0
mov ecx, dword [r13]
mov rdx, rsi
add rcx, rbx
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x2b3657100
mov edx, dword [rbp + 0x24]
lea rcx, [rbx + r14*2]
mov eax, dword [rbp + 0x1c]
movzx edx, word [rcx + rdx]
lea rdx, [rbx + rdx*4]
mov eax, dword [rdx + rax]
add rax, rbx
cmp byte [rsp + 0x24], 0
mov qword [0x2b3789048], rax
jne 0x2b36571c0
cmp byte [rsp + 0x28], 0
jne 0x2b36571b0
cmp byte [rsp + 0x2c], 0
jne 0x2b36571a0
mov ecx, 0x4098
call fcn.2b36568c0
test rax, rax
mov qword [0x2b3789040], rax
setne al
movzx eax, al
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
call fcn.2b3654f20
jmp 0x2b3656989
call fcn.2b36561b0
jmp 0x2b3657158
call fcn.2b3655c70
jmp 0x2b3657151
call fcn.2b3655440
jmp 0x2b365714a
xor eax, eax
jmp 0x2b365713c
xor eax, eax
jmp 0x2b3656f3d
xor eax, eax
jmp 0x2b3656ddd