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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
mov rsi, r9
mov rbx, r8
mov rax, qword [0x1404fe040]
xor rax, rsp
mov qword [rsp + 0x90], rax
movsxd r8, dword [rdx + 4]
xor r13d, r13d
test r8, r8
jle 0x14015c14b
mov r14, rdx
mov rdi, rcx
movsxd rax, dword [rdx]
lea rcx, [r8 + rax]
cmp byte [rdi + rax], 0x5b
je 0x14015c17c
movsxd rcx, ecx
movabs rdx, 0xa00000001
jmp 0x14015c131
inc rax
cmp rax, rcx
jge 0x14015c14b
movzx r8d, byte [rdi + rax]
add r8d, 0xffffffc6
cmp r8d, 0x23
ja 0x14015c129
bt rdx, r8
jae 0x14015c129
jmp 0x14015c4af
mov dword [rsi], r13d
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
cmp rcx, qword [0x1404fe040]
je 0x14015c168
call fcn.140297b50
int3
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp byte [rdi + rcx - 1], 0x5d
jne 0x14015c11a
movaps xmm0, xmmword [0x14048d670]
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rsp + 0x80], xmm0
cmp r8d, 3
jb 0x14015c11a
lea rdx, [rsi + 0x10]
mov qword [rsp + 0x28], rdx
lea edx, [rax + 1]
lea r9d, [r8 + rdx]
add r9d, 0xfffffffe
lea r15d, [r8 + rax - 2]
mov ebp, edx
mov qword [rsp + 0x30], rdx
mov r10d, edx
jmp 0x14015c2bb
cmp byte [rsp + 0x20], 0
je 0x14015c11a
mov edx, dword [rsp + 0x84]
cmp edx, dword [rsp + 0x80]
jne 0x14015c11a
test r11d, r11d
jg 0x14015c241
jmp 0x14015c31c
cmp byte [rdi + rdx + 1], 0x3a
sete r8b
cmp ebp, r9d
sete dl
mov byte [rsp + 0x20], dl
mov r11d, ebp
sub r11d, r10d
cmp r11d, 4
jg 0x14015c11a
cmp ebp, dword [rsp + 0x30]
sete dl
cmp ebp, r10d
jne 0x14015c235
and dl, r8b
je 0x14015c1d8
test r11d, r11d
jle 0x14015c27e
mov edx, dword [rsp + 0x80]
cmp edx, 7
jg 0x14015c11a
mov dword [rsp + 0x24], r8d
mov r8d, r15d
mov r15, r9
lea r9d, [rdx + 1]
mov dword [rsp + 0x80], r9d
movsxd rdx, edx
shl r11, 0x20
mov r9d, r10d
or r9, r11
mov qword [rsp + rdx*8 + 0x40], r9
mov r9, r15
mov r15d, r8d
mov r8d, dword [rsp + 0x24]
cmp byte [rsp + 0x20], 0
jne 0x14015c31c
test r8b, r8b
je 0x14015c2ac
cmp dword [rsp + 0x84], 0xffffffff
jne 0x14015c11a
mov edx, dword [rsp + 0x80]
mov dword [rsp + 0x84], edx
inc ebp
cmp r12b, 0x3a
jne 0x14015c4e0
inc ebp
mov r10d, ebp
movsxd rdx, ebp
mov r12b, byte [rdi + rdx]
cmp r12b, 0x3a
sete r8b
cmp edx, r15d
setl r11b
and r11b, r8b
cmp r11b, 1
je 0x14015c201
xor r8d, r8d
cmp ebp, r9d
sete dl
je 0x14015c210
cmp r12b, 0x3a
je 0x14015c210
test r12b, r12b
js 0x14015c11a
movzx edx, r12b
lea r8, [0x1404cfb60]
mov dl, byte [rdx + r8]
test dl, 8
je 0x14015c4ba
inc ebp
jmp 0x14015c2bb
mov r9d, dword [rsp + 0x8c]
mov r12d, dword [rsp + 0x80]
lea edx, [r12 + r12]
lea r8d, [r12*2 + 4]
test r9d, r9d
cmovs r8d, edx
mov r11d, dword [rsp + 0x84]
mov edx, 0x10
sub edx, r8d
cmp edx, 3
mov r10, r9
mov r9d, 2
cmovge r9d, edx
xor ebp, ebp
mov dword [rsp + 0x20], r11d
cmp r11d, 0xffffffff
cmovne ebp, r9d
add r8d, ebp
cmp ebp, 1
adc ebp, 0
cmp r8d, 0x10
jne 0x14015c11a
xor r8d, r8d
test r12d, r12d
js 0x14015c4aa
mov dword [rsp + 0x24], ebp
mov eax, ebp
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x38]
xor ebp, ebp
xor r15d, r15d
jmp 0x14015c441
movsxd r15, r15d
mov rax, qword [rsp + 0x28]
lea rcx, [rax + r15]
xor edx, edx
mov r8, qword [rsp + 0x30]
call fcn.1402d26c0
lea rcx, [rsp + 0x38]
add r15d, dword [rsp + 0x24]
mov eax, r12d
cmp rbp, rax
je 0x14015c432
mov byte [rsp + 0x3c], 0xaa
mov dword [rsp + 0x38], 0xaaaaaaaa
movsxd r12, dword [rsp + rbp*8 + 0x44]
test r12, r12
jle 0x14015c3fd
movsxd rdx, dword [rsp + rbp*8 + 0x40]
add rdx, rdi
mov r8, r12
call fcn.1402d2020
lea rcx, [rsp + 0x38]
mov byte [rsp + r12 + 0x38], 0
xor edx, edx
mov r8d, 0x10
call fcn.1402aff40
lea rcx, [rsp + 0x38]
movsxd r8, r15d
lea r15d, [r8 + 2]
rol ax, 8
mov rdx, qword [rsp + 0x28]
mov word [rdx + r8], ax
mov r12d, dword [rsp + 0x80]
lea rax, [rbp + 1]
movsxd rdx, r12d
cmp rbp, rdx
mov rbp, rax
jge 0x14015c45d
cmp dword [rsp + 0x20], 0xffffffff
je 0x14015c3c9
mov eax, dword [rsp + 0x84]
cmp rbp, rax
jne 0x14015c3c9
jmp 0x14015c3a7
mov edx, dword [rsp + 0x8c]
movsxd r8, r15d
test edx, edx
jns 0x14015c4f0
mov eax, dword [rbx + 0x18]
mov dword [rsi + 8], eax
mov rcx, rbx
mov dl, 0x5b
call fcn.1401e0ba0
mov rcx, qword [rsp + 0x28]
mov rdx, rbx
call fcn.14039f290
mov rcx, rbx
mov dl, 0x5d
call fcn.1401e0ba0
mov eax, dword [rbx + 0x18]
sub eax, dword [rsi + 8]
mov dword [rsi + 0xc], eax
mov r13d, 3
jmp 0x14015c14b
mov rdx, r10
jmp 0x14015c467
mov r13d, 1
jmp 0x14015c14b
test dl, 4
je 0x14015c11a
sub r9d, r10d
mov rdx, r9
shl rdx, 0x20
mov r8d, r10d
or r8, rdx
mov qword [rsp + 0x88], r8
jmp 0x14015c324
movsxd rdx, ebp
mov r12b, byte [rdi + rdx]
jmp 0x14015c2f7
xor ebp, ebp
jmp 0x14015c511
mov dword [rsp + 0x38], 0
je 0x14015c4ec
movsxd rax, dword [rsp + 0x88]
movsxd rcx, edx
add rcx, rax
cmp byte [rdi + rcx - 1], 0x2e
sete bpl
add r8, qword [rsp + 0x28]
lea r9, [rsp + 0x38]
mov rcx, rdi
lea rdx, [rsp + 0x88]
call fcn.14023b900
cmp eax, 2
jne 0x14015c543
cmp dword [rsp + 0x38], 4
setne al
or al, bpl
test al, 1
je 0x14015c46f
mov ecx, dword [r14 + 4]
test ecx, ecx
jle 0x14015c555
movsxd rax, dword [r14]
add ecx, eax
jmp 0x14015c11a
xor r13d, r13d
jmp 0x14015c14b