Function at 0x140102180
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, 0xc8
movaps xmmword [rsp + 0xa0], xmm6
movaps xmmword [rsp + 0xb0], xmm7
mov r14, qword [rcx]
mov rsi, rcx
mov r12b, byte [r14 + 0x26]
xor ecx, ecx
mov eax, dword [rsi + 0x10]
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x34], eax
mov rcx, rsi
call fcn.140101e40
test rax, rax
mov r15, rax
je 0x140102709
cmp byte [rax + 0x10], 0
je 0x140102709
lea rdx, [rsp + 0x48]
mov rcx, rsi
call fcn.140101b50
mov rdx, rax
mov eax, dword [rsp + 0x48]
test eax, eax
jne 0x140102719
mov rbx, qword [rdx + 0x18]
movzx eax, byte [r14 + 0x27]
movzx edx, byte [r15 + 0x12]
mov bp, word [rbx + 2]
imul eax, edx
rol bp, 8
add eax, 4
movzx ebp, bp
cdqe
add rbx, rax
movzx eax, byte [r15 + 0x12]
cmp eax, ebp
jge 0x1401026fc
mov rax, qword [0x1401a0998]
xor r13d, r13d
mov edi, 2
xorps xmm7, xmm7
movq xmm6, rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
cmp dword [rsp + 0x34], r13d
jle 0x140102661
imul rax, r13, 0x18
add rax, qword [rsi + 0x18]
mov edx, dword [rax + 4]
cmp edx, 0x45
jle 0x140102518
mov rcx, qword [rax + 0x10]
cmp edx, 0x47
mov r11d, dword [rcx + 0x38]
jne 0x140102283
cmp byte [r15 + 0x10], 1
jne 0x140102283
mov r8, qword [rbx]
bswap r8
mov qword [rcx + 0x48], r8
cmp r12b, 1
mov r8d, dword [rbx + 0xc]
je 0x14010239b
cmp r11d, 8
je 0x1401022ea
jg 0x1401022ae
cmp r11d, 4
je 0x140102348
cmp r11d, 6
je 0x14010231c
jmp 0x140102374
cmp r11d, 0xa
jne 0x140102374
mov r9d, dword [rbx + 0x2c]
bswap r9d
movd xmm2, r9d
mov r9d, dword [rbx + 0x28]
cvtss2sd xmm0, xmm2
movsd qword [rsp + 0x98], xmm0
bswap r9d
movd xmm3, r9d
cvtss2sd xmm0, xmm3
movsd qword [rsp + 0x90], xmm0
mov r9d, dword [rbx + 0x24]
bswap r9d
movd xmm4, r9d
mov r9d, dword [rbx + 0x20]
cvtss2sd xmm0, xmm4
movsd qword [rsp + 0x88], xmm0
bswap r9d
movd xmm5, r9d
cvtss2sd xmm0, xmm5
movsd qword [rsp + 0x80], xmm0
mov r9d, dword [rbx + 0x1c]
bswap r9d
movd xmm2, r9d
mov r9d, dword [rbx + 0x18]
cvtss2sd xmm0, xmm2
movsd qword [rsp + 0x78], xmm0
bswap r9d
movd xmm3, r9d
cvtss2sd xmm0, xmm3
movsd qword [rsp + 0x70], xmm0
mov r9d, dword [rbx + 0x14]
bswap r9d
movd xmm4, r9d
mov r9d, dword [rbx + 0x10]
cvtss2sd xmm0, xmm4
movsd qword [rsp + 0x68], xmm0
bswap r9d
movd xmm5, r9d
cvtss2sd xmm0, xmm5
movsd qword [rsp + 0x60], xmm0
bswap r8d
movd xmm2, r8d
mov r8d, dword [rbx + 8]
cvtss2sd xmm0, xmm2
movsd qword [rsp + 0x58], xmm0
bswap r8d
movd xmm3, r8d
cvtss2sd xmm0, xmm3
jmp 0x140102478
cmp r11d, 8
je 0x1401023ec
jg 0x1401023b8
cmp r11d, 4
je 0x14010243a
cmp r11d, 6
je 0x140102416
jmp 0x14010245e
cmp r11d, 0xa
jne 0x14010245e
mov r9d, dword [rbx + 0x2c]
bswap r9d
cvtsi2sd xmm0, r9d
mov r9d, dword [rbx + 0x28]
movsd qword [rsp + 0x98], xmm0
bswap r9d
cvtsi2sd xmm0, r9d
movsd qword [rsp + 0x90], xmm0
mov r9d, dword [rbx + 0x24]
bswap r9d
cvtsi2sd xmm0, r9d
mov r9d, dword [rbx + 0x20]
movsd qword [rsp + 0x88], xmm0
bswap r9d
cvtsi2sd xmm0, r9d
movsd qword [rsp + 0x80], xmm0
mov r9d, dword [rbx + 0x1c]
bswap r9d
cvtsi2sd xmm0, r9d
mov r9d, dword [rbx + 0x18]
movsd qword [rsp + 0x78], xmm0
bswap r9d
cvtsi2sd xmm0, r9d
movsd qword [rsp + 0x70], xmm0
mov r9d, dword [rbx + 0x14]
bswap r9d
cvtsi2sd xmm0, r9d
mov r9d, dword [rbx + 0x10]
movsd qword [rsp + 0x68], xmm0
bswap r9d
cvtsi2sd xmm0, r9d
movsd qword [rsp + 0x60], xmm0
bswap r8d
cvtsi2sd xmm0, r8d
mov r8d, dword [rbx + 8]
movsd qword [rsp + 0x58], xmm0
bswap r8d
cvtsi2sd xmm0, r8d
cmp edx, 0x46
mov rax, qword [rax + 8]
movsd qword [rsp + 0x50], xmm0
jne 0x1401024aa
mov r8, qword [rsp + 0x28]
lea r9, [rsp + 0x4c]
xor edx, edx
mov dword [rsp + 0x4c], edx
mov edx, r11d
call rax
mov edx, dword [rsp + 0x4c]
xorps xmm0, xmm0
test edx, edx
cmove edi, edx
jmp 0x140102507
mov rdx, qword [rsp + 0x28]
mov qword [rsp + 0x38], rcx
movsd xmm0, qword [r15]
mov qword [rcx + 0x28], rdx
movzx edx, byte [r15 + 0x10]
movsd qword [rcx + 0x50], xmm0
movsd qword [rcx + 0x60], xmm0
dec edx
mov dword [rcx + 0x3c], edx
movzx edx, byte [r15 + 0x11]
mov dword [rcx + 0x58], edx
mov dword [rcx + 0x5c], edx
call rax
mov rcx, qword [rsp + 0x38]
mov edx, dword [rcx + 0x5c]
movsd xmm0, qword [rcx + 0x60]
cmp edi, edx
cmovg edi, edx
comisd xmm6, xmm0
ja 0x140102507
movaps xmm1, xmm6
cmpltsd xmm1, xmm7
andps xmm0, xmm1
andnps xmm1, xmm6
orps xmm0, xmm1
test eax, eax
mov dword [rsp + 0x48], eax
je 0x140102644
jmp 0x140102719
cmp byte [r15 + 0x10], 1
mov ecx, dword [rax]
jne 0x14010258d
lea ecx, [rcx*4 + 8]
cmp r12b, 1
movsxd rcx, ecx
mov ecx, dword [rbx + rcx]
bswap ecx
jne 0x14010253c
cvtsi2sd xmm0, ecx
jmp 0x140102544
movd xmm4, ecx
cvtss2sd xmm0, xmm4
sub edx, 0x3f
cmp edx, 6
ja case.0x14010255a.65
lea rcx, [0x14019bdf4]
movsxd rdx, dword [rcx + rdx*4]
add rdx, rcx
jmp rdx
movsd xmm1, qword [rax + 8]
comisd xmm1, xmm0
jmp 0x14010256c
comisd xmm0, xmmword [rax + 8]
jbe case.0x14010255a.64
jmp case.0x14010255a.63
ucomisd xmm0, qword [rax + 8]
jp case.0x14010255a.64
jne case.0x14010255a.64
jmp case.0x14010255a.63
and ecx, 0xfe
cmp edx, 0x41
lea rcx, [rbx + rcx*4 + 8]
je 0x1401025bd
jg 0x1401025b3
cmp edx, 0x3f
je case.0x14010255a.63
cmp edx, 0x40
je case.0x14010255a.64
jmp 0x140102622
sub edx, 0x42
cmp edx, 1
jbe 0x1401025ff
jmp 0x140102622
mov edx, dword [rcx]
cmp r12b, 1
bswap edx
jne 0x1401025cd
cvtsi2sd xmm0, edx
jmp 0x1401025d5
movd xmm5, edx
cvtss2sd xmm0, xmm5
movsd xmm1, qword [rax + 8]
comisd xmm1, xmm0
jb case.0x14010255a.64
mov eax, dword [rcx + 4]
cmp r12b, 1
bswap eax
jne 0x1401025f1
cvtsi2sd xmm0, eax
jmp 0x1401025f9
movd xmm2, eax
cvtss2sd xmm0, xmm2
comisd xmm0, xmm1
jmp 0x140102640
mov edx, dword [rcx]
cmp r12b, 1
bswap edx
jne 0x14010260f
cvtsi2sd xmm0, edx
jmp case.0x14010255a.66
movd xmm3, edx
cvtss2sd xmm0, xmm3
movsd xmm1, qword [rax + 8]
comisd xmm1, xmm0
jmp 0x140102640
mov edx, dword [rcx + 4]
cmp r12b, 1
bswap edx
jne 0x140102633
cvtsi2sd xmm0, edx
jmp case.0x14010255a.68
movd xmm4, edx
cvtss2sd xmm0, xmm4
comisd xmm0, xmmword [rax + 8]
jb case.0x14010255a.64
jmp case.0x14010255a.63
test edi, edi
jne 0x140102656
inc byte [r15 + 0x12]
movzx eax, byte [r14 + 0x27]
jmp 0x140102215
movaps xmm6, xmm0
inc r13
jmp 0x140102246
test edi, edi
je 0x140102218
mov r13b, byte [r15 + 0x12]
mov cl, byte [r15 + 0x10]
lea eax, [r13 + 1]
dec cl
mov byte [r15 + 0x12], al
mov byte [rsp + 0x28], cl
je 0x1401026af
mov rbx, qword [rbx]
xor edx, edx
mov r8d, dword [rsi + 0x24]
bswap rbx
cmp r8d, edx
jle 0x1401026aa
imul rcx, rdx, 0x18
inc rdx
add rcx, qword [rsi + 0x30]
cmp qword [rcx + 8], rbx
jne 0x14010268d
mov eax, 0x10b
jmp 0x140102719
xor r13d, r13d
jmp 0x1401026b3
mov rbx, qword [r15 + 8]
movzx eax, al
cmp eax, ebp
jl 0x1401026c2
mov rcx, rsi
call fcn.140101f40
xorps xmm0, xmm0
comisd xmm0, xmm6
jbe 0x1401026ce
movaps xmm6, xmm0
movzx r8d, byte [rsp + 0x28]
movaps xmm1, xmm6
mov rcx, rsi
call fcn.140101e60
test rax, rax
je 0x140102714
movzx edx, r13b
mov byte [rax + 0x11], dil
cmp edx, ebp
mov qword [rax + 8], rbx
mov byte [rax + 0x12], r13b
jl 0x1401021ba
mov rcx, rsi
call fcn.140101f40
jmp 0x1401021ba
test r15, r15
sete byte [rsi + 8]
xor eax, eax
jmp 0x140102719
mov eax, 7
movaps xmm6, xmmword [rsp + 0xa0]
movaps xmm7, xmmword [rsp + 0xb0]
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret