Function at 0x1403b2160
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 [0x140516040]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov r8d, dword [rdx + 4]
xor r13d, r13d
test r8d, r8d
jle 0x14015fc90
mov r14, rdx
mov rdi, rcx
mov ecx, dword [rdx]
movsxd rdx, ecx
lea eax, [r8 + rcx]
cmp byte [rdi + rdx], 0x5b
je 0x14015fcc1
movsxd rcx, ecx
cdqe
movabs rdx, 0xa00000001
jmp 0x14015fc7f
bt rdx, r8
jb 0x14015fff7
inc rcx
cmp rcx, rax
jge 0x14015fc90
movzx r8d, byte [rdi + rcx]
add r8d, 0xffffffc6
cmp r8d, 0x23
ja 0x14015fc77
jmp 0x14015fc6d
mov dword [rsi], r13d
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
cmp rcx, qword [0x140516040]
je 0x14015fcad
call fcn.14029bbb0
int3
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movsxd rdx, eax
cmp byte [rdi + rdx - 1], 0x5d
jne 0x14015fc5c
movaps xmm0, xmmword [0x1404a3690]
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 0x14015fc5c
lea rdx, [rsi + 0x10]
mov qword [rsp + 0x28], rdx
lea edx, [rcx + 1]
lea r9d, [r8 + rdx]
add r9d, 0xfffffffe
lea r15d, [r8 + rcx - 2]
mov ebp, edx
mov qword [rsp + 0x30], rdx
mov r10d, edx
jmp 0x14015fe03
cmp byte [rsp + 0x20], 0
je 0x14015fc5c
mov edx, dword [rsp + 0x84]
cmp edx, dword [rsp + 0x80]
jne 0x14015fc5c
test r11d, r11d
jg 0x14015fd89
jmp 0x14015fe64
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 0x14015fc5c
cmp ebp, dword [rsp + 0x30]
sete dl
cmp ebp, r10d
jne 0x14015fd7d
and dl, r8b
je 0x14015fd20
test r11d, r11d
jle 0x14015fdc6
mov edx, dword [rsp + 0x80]
cmp edx, 7
jg 0x14015fc5c
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 0x14015fe64
test r8b, r8b
je 0x14015fdf4
cmp dword [rsp + 0x84], 0xffffffff
jne 0x14015fc5c
mov edx, dword [rsp + 0x80]
mov dword [rsp + 0x84], edx
inc ebp
cmp r12b, 0x3a
jne 0x140160028
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 0x14015fd49
xor r8d, r8d
cmp ebp, r9d
sete dl
je 0x14015fd58
cmp r12b, 0x3a
je 0x14015fd58
test r12b, r12b
js 0x14015fc5c
movzx edx, r12b
lea r8, [0x1404e63d0]
mov dl, byte [rdx + r8]
test dl, 8
je 0x140160002
inc ebp
jmp 0x14015fe03
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 0x14015fc5c
xor r8d, r8d
test r12d, r12d
js 0x14015fff2
mov dword [rsp + 0x24], ebp
mov eax, ebp
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x38]
xor ebp, ebp
xor r15d, r15d
jmp 0x14015ff89
movsxd r15, r15d
mov rax, qword [rsp + 0x28]
lea rcx, [rax + r15]
xor edx, edx
mov r8, qword [rsp + 0x30]
call fcn.1402d9b60
lea rcx, [rsp + 0x38]
add r15d, dword [rsp + 0x24]
mov eax, r12d
cmp rbp, rax
je 0x14015ff7a
mov byte [rsp + 0x3c], 0xaa
mov dword [rsp + 0x38], 0xaaaaaaaa
movsxd r12, dword [rsp + rbp*8 + 0x44]
test r12, r12
jle 0x14015ff45
movsxd rdx, dword [rsp + rbp*8 + 0x40]
add rdx, rdi
mov r8, r12
call fcn.1402d94c0
lea rcx, [rsp + 0x38]
mov byte [rsp + r12 + 0x38], 0
xor edx, edx
mov r8d, 0x10
call fcn.1402b5b20
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 0x14015ffa5
cmp dword [rsp + 0x20], 0xffffffff
je 0x14015ff11
mov eax, dword [rsp + 0x84]
cmp rbp, rax
jne 0x14015ff11
jmp 0x14015feef
mov edx, dword [rsp + 0x8c]
movsxd r8, r15d
test edx, edx
jns 0x140160038
mov eax, dword [rbx + 0x18]
mov dword [rsi + 8], eax
mov rcx, rbx
mov dl, 0x5b
call fcn.1401e8b00
mov rcx, qword [rsp + 0x28]
mov rdx, rbx
call fcn.1403b1e30
mov rcx, rbx
mov dl, 0x5d
call fcn.1401e8b00
mov eax, dword [rbx + 0x18]
sub eax, dword [rsi + 8]
mov dword [rsi + 0xc], eax
mov r13d, 3
jmp 0x14015fc90
mov rdx, r10
jmp 0x14015ffaf
mov r13d, 1
jmp 0x14015fc90
test dl, 4
je 0x14015fc5c
sub r9d, r10d
mov rdx, r9
shl rdx, 0x20
mov r8d, r10d
or r8, rdx
mov qword [rsp + 0x88], r8
jmp 0x14015fe6c
movsxd rdx, ebp
mov r12b, byte [rdi + rdx]
jmp 0x14015fe3f
xor ebp, ebp
jmp 0x140160059
mov dword [rsp + 0x38], 0
je 0x140160034
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.14023f310
cmp eax, 2
jne 0x14016008b
cmp dword [rsp + 0x38], 4
setne al
or al, bpl
test al, 1
je 0x14015ffb7
mov eax, dword [r14 + 4]
test eax, eax
jle 0x14016009d
mov ecx, dword [r14]
add eax, ecx
jmp 0x14015fc5c
xor r13d, r13d
jmp 0x14015fc90
jmp 0x14015fc10