Function at 0x140195460
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 rdi, qword [0x14022c040]
pxor xmm0, xmm0
mov rcx, qword [rcx]
mov rax, qword [rdi]
mov qword [rsp + 0x88], rax
xor eax, eax
mov r13, rdx
lea rdx, [rsp + 0x60]
movups xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x80], 0
mov byte [rsp + 0x78], 1
mov qword [rsp + 0x38], rdx
movups xmmword [rsp + 0x60], xmm0
call fcn.1401952c0
cmp qword [rsp + 0x68], 0
mov r15d, dword [r13 + 0x20]
mov dword [rsp + 0x34], 0
je 0x1401957ca
xor edi, edi
xor r14d, r14d
lea rbp, [0x1402211e0]
mov eax, edi
mov rdi, r14
mov r14d, eax
jmp 0x140195515
add r14d, 1
mov rax, qword [rsp + 0x68]
movsxd rdi, r14d
cmp rdi, rax
jae 0x140195630
mov rcx, qword [rsp + 0x60]
mov r12, rdi
shl r12, 4
add rcx, r12
mov rdx, qword [rcx + 8]
mov rax, qword [rdx + 0x24]
lea r8, [rdx + 0x24]
xor rax, qword [rbp]
mov rdx, qword [rdx + 0x2c]
xor rdx, qword [rbp + 8]
or rax, rdx
jne 0x140195500
mov rax, qword [r8 + 0x10]
mov rdx, qword [r8 + 0x18]
xor rax, qword [0x1402211f0]
xor rdx, qword [0x1402211f8]
or rax, rdx
jne 0x140195500
mov rax, qword [rcx]
xor ebx, ebx
xor esi, esi
mov rcx, rax
mov qword [rsp + 0x28], rax
call sub.msvcrt.dll_strlen
mov r8, rax
nop word cs:[rax + rax]
nop
cmp ebx, r15d
jge 0x1401955e0
mov rax, qword [r13 + 0x18]
add rax, rsi
cmp dword [rax], 0xb
jne 0x140195770
movsxd rdx, dword [rax + 0x14]
cmp rdx, r8
jne 0x140195770
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rax + 0x20]
add ebx, 1
add rsi, 0x28
add rcx, qword [r13 + 0x10]
mov qword [rsp + 0x20], r8
call sub.msvcrt.dll_strncmp
mov r8, qword [rsp + 0x20]
test eax, eax
je 0x140195500
cmp ebx, r15d
jl 0x140195585
nop word cs:[rax + rax]
nop dword [rax]
mov rcx, qword [rsp + 0x28]
call fcn.1400eaf30
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax + r12 + 8]
call fcn.1400eaf30
mov rax, qword [rsp + 0x68]
sub rax, 1
mov r8, rax
mov qword [rsp + 0x68], rax
sub r8, rdi
jne 0x1401957a0
movsxd rdi, r14d
mov dword [rsp + 0x34], 1
mov r15d, dword [r13 + 0x20]
cmp rdi, rax
jb 0x140195515
nop dword [rax + rax]
test r15d, r15d
jle 0x140195720
xor ebx, ebx
jmp 0x14019564e
add rbx, 1
cmp dword [r13 + 0x20], ebx
jle 0x140195720
mov rdx, qword [r13 + 0x18]
lea rax, [rbx + rbx*4]
lea rax, [rdx + rax*8]
cmp dword [rax], 0xb
jne 0x140195640
movsxd rdi, dword [rax + 0x14]
mov rbp, qword [rsp + 0x68]
xor esi, esi
mov r12, qword [rsp + 0x60]
mov r14, qword [rax + 0x20]
mov dword [rsp + 0x20], edi
add r14, qword [r13 + 0x10]
cmp rbp, rsi
je 0x1401956a5
mov rax, rsi
shl rax, 4
mov r15, qword [r12 + rax]
mov rcx, r15
call sub.msvcrt.dll_strlen
cmp rax, rdi
je 0x140195780
add rsi, 1
cmp rbp, rsi
jne 0x140195680
movsxd r8, dword [rsp + 0x20]
lea rdi, [rsp + 0x40]
mov rdx, r14
add rbx, 1
mov rax, qword [0x14022c910]
mov rcx, rdi
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x50], rax
call fcn.14008f5f0
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
call fcn.1400930d0
mov rcx, qword [rsp + 0x50]
mov rsi, rax
call fcn.1401878b0
mov rcx, rdi
mov qword [rsi + 8], rax
call fcn.14008e580
mov dword [rsp + 0x34], 1
cmp dword [r13 + 0x20], ebx
jg 0x14019564e
nop word cs:[rax + rax]
mov eax, dword [rsp + 0x34]
test eax, eax
je 0x140195732
mov rcx, qword [rsp + 0x38]
call fcn.14018b500
mov rcx, qword [rsp + 0x38]
mov edx, 1
call fcn.1400936c0
mov rdi, qword [0x14022c040]
mov rax, qword [rsp + 0x88]
sub rax, qword [rdi]
jne 0x1401957e9
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
add ebx, 1
add rsi, 0x28
jmp 0x140195580
mov r8, rdi
mov rdx, r14
mov rcx, r15
add rsi, 1
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x14019567b
jmp 0x140195640
mov rax, r8
shr rax, 0x3c
jne 0x1401957d8
mov rax, qword [rsp + 0x60]
shl r8, 4
lea rdx, [rax + r12 + 0x10]
lea rcx, [rax + r12]
call sub.msvcrt.dll_memmove
mov rax, qword [rsp + 0x68]
jmp 0x140195613
test r15d, r15d
jg 0x140195639
jmp 0x140195732
mov edx, 0x10
lea rcx, [0x14021e510]
call fcn.1400b6950
call fcn.1401d96b0
nop
nop