Function at 0x14020da60
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 rax, qword [rcx]
mov edi, dword [rcx + 0x10]
movzx r12d, byte [rax + 0x26]
mov qword [rsp + 0x30], rax
lea eax, [rdi - 1]
mov r14, rcx
mov dword [rsp + 0x3c], edi
lea rbp, [rax + rax*2 + 3]
shl rbp, 3
movzx eax, byte [r14 + 9]
lea rdi, [r14 + 0x40]
test al, al
jne 0x14020dacc
mov edx, dword [r14 + 0x24]
test edx, edx
je 0x14020e265
mov rdi, qword [r14 + 0x30]
test rdi, rdi
je 0x14020e265
movzx edx, byte [rdi + 0x10]
test dl, dl
je 0x14020e26a
mov edx, 1
sub edx, eax
movsxd rbx, edx
mov rcx, qword [r14 + rbx*8 + 0x58]
test rcx, rcx
je 0x14020e1c8
mov rsi, qword [rcx + 0x18]
movzx edx, byte [rdi + 0x12]
pxor xmm7, xmm7
movzx r13d, byte [rsi + 2]
movzx eax, byte [rsi + 3]
shl r13d, 8
lea ebx, [r13 + rax]
mov rax, qword [rsp + 0x30]
mov dword [rsp + 0x38], ebx
movzx eax, byte [rax + 0x27]
imul eax, edx
add eax, 4
cdqe
add rsi, rax
cmp edx, ebx
jge 0x14020dbba
mov ecx, dword [rsp + 0x3c]
test ecx, ecx
jle 0x14020e27c
movsd xmm6, qword [0x14037d6a0]
xor ebx, ebx
mov r13d, 2
lea r15, [rsp + 0x50]
nop
mov rdx, qword [r14 + 0x18]
add rdx, rbx
mov eax, dword [rdx + 4]
cmp eax, 0x45
jg 0x14020dbd0
cmp byte [rdi + 0x10], 1
mov ecx, dword [rdx]
je 0x14020ddd0
and ecx, 0xfe
lea rcx, [rsi + rcx*4 + 8]
cmp eax, 0x41
je 0x14020e0f0
jg 0x14020dd90
cmp eax, 0x3f
je case.0x14020de0b.63
cmp eax, 0x40
jne 0x14020de10
movzx eax, byte [rdi + 0x12]
mov rbx, qword [rsp + 0x30]
add eax, 1
mov byte [rdi + 0x12], al
movzx edx, byte [rbx + 0x27]
movzx eax, al
add rsi, rdx
cmp eax, dword [rsp + 0x38]
jl 0x14020db2e
mov rcx, r14
call fcn.140205410
jmp 0x14020daa6
mov rcx, qword [rdx + 0x10]
mov r11d, dword [rcx + 0x38]
cmp eax, 0x47
je 0x14020e0d0
cmp r12b, 1
je 0x14020df40
cmp r11d, 8
je 0x14020defc
jg 0x14020deb8
cmp r11d, 4
je 0x14020dc3b
cmp r11d, 6
jne 0x14020dc6f
mov r8d, dword [rsi + 0x1c]
pxor xmm0, xmm0
bswap r8d
movd xmm5, r8d
mov r8d, dword [rsi + 0x18]
cvtss2sd xmm0, xmm5
movsd qword [rsp + 0x78], xmm0
pxor xmm0, xmm0
bswap r8d
movd xmm2, r8d
cvtss2sd xmm0, xmm2
movsd qword [rsp + 0x70], xmm0
mov r8d, dword [rsi + 0x14]
pxor xmm0, xmm0
bswap r8d
movd xmm4, r8d
mov r8d, dword [rsi + 0x10]
cvtss2sd xmm0, xmm4
movsd qword [rsp + 0x68], xmm0
pxor xmm0, xmm0
bswap r8d
movd xmm5, r8d
cvtss2sd xmm0, xmm5
movsd qword [rsp + 0x60], xmm0
mov r8d, dword [rsi + 0xc]
pxor xmm0, xmm0
bswap r8d
movd xmm2, r8d
mov r8d, dword [rsi + 8]
cvtss2sd xmm0, xmm2
movsd qword [rsp + 0x58], xmm0
pxor xmm0, xmm0
mov r10, qword [rdx + 8]
bswap r8d
movd xmm3, r8d
cvtss2sd xmm0, xmm3
movsd qword [rsp + 0x50], xmm0
cmp eax, 0x46
je 0x14020dfed
mov qword [rcx + 0x28], r15
movzx eax, byte [rdi + 0x10]
movsd xmm0, qword [rdi]
mov qword [rsp + 0x28], rcx
sub eax, 1
movsd qword [rcx + 0x50], xmm0
movsd qword [rcx + 0x60], xmm0
mov dword [rcx + 0x3c], eax
movzx eax, byte [rdi + 0x11]
mov dword [rcx + 0x58], eax
mov dword [rcx + 0x5c], eax
call r10
mov rcx, qword [rsp + 0x28]
mov edx, dword [rcx + 0x5c]
movsd xmm0, qword [rcx + 0x60]
cmp r13d, edx
cmovg r13d, edx
comisd xmm6, xmm0
ja 0x14020dd0d
movapd xmm1, xmm6
cmpltsd xmm1, xmm7
andpd xmm0, xmm1
andnpd xmm1, xmm6
orpd xmm0, xmm1
test eax, eax
jne 0x14020e019
test r13d, r13d
je case.0x14020de0b.64
movapd xmm6, xmm0
add rbx, 0x18
cmp rbp, rbx
jne 0x14020db50
movzx ebx, byte [rdi + 0x12]
movzx r15d, byte [rdi + 0x10]
lea edx, [rbx + 1]
mov byte [rdi + 0x12], dl
sub r15b, 1
jne 0x14020e215
mov rsi, qword [rdi + 8]
movzx edx, dl
cmp edx, dword [rsp + 0x38]
jge 0x14020e208
pxor xmm1, xmm1
movzx r8d, r15b
mov rcx, r14
maxsd xmm1, xmm6
call fcn.1402055d0
test rax, rax
je 0x14020e28f
mov byte [rax + 0x11], r13b
mov qword [rax + 8], rsi
mov byte [rax + 0x12], bl
cmp ebx, dword [rsp + 0x38]
jl 0x14020daa6
jmp 0x14020dbba
sub eax, 0x42
cmp eax, 1
ja 0x14020de10
mov eax, dword [rcx]
bswap eax
cmp r12b, 1
jne 0x14020e190
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rdx + 8]
comisd xmm1, xmm0
jb case.0x14020de0b.64
add rbx, 0x18
cmp rbp, rbx
jne 0x14020db50
jmp 0x14020dd2f
lea ecx, [rcx*4 + 8]
movsxd rcx, ecx
mov ecx, dword [rsi + rcx]
bswap ecx
cmp r12b, 1
jne 0x14020e0b8
pxor xmm0, xmm0
cvtsi2sd xmm0, ecx
sub eax, 0x3f
cmp eax, 6
ja case.0x14020de0b.65
lea rcx, [0x140373e50]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov eax, dword [rcx + 4]
bswap eax
cmp r12b, 1
jne 0x14020e1a8
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
comisd xmm0, xmmword [rdx + 8]
jb case.0x14020de0b.64
add rbx, 0x18
cmp rbp, rbx
jne 0x14020db50
jmp 0x14020dd2f
movsd xmm1, qword [rdx + 8]
comisd xmm1, xmm0
jbe case.0x14020de0b.64
add rbx, 0x18
cmp rbp, rbx
jne 0x14020db50
jmp 0x14020dd2f
comisd xmm0, xmmword [rdx + 8]
jbe case.0x14020de0b.64
add rbx, 0x18
cmp rbp, rbx
jne 0x14020db50
jmp 0x14020dd2f
ucomisd xmm0, qword [rdx + 8]
jp case.0x14020de0b.64
jne case.0x14020de0b.64
add rbx, 0x18
cmp rbp, rbx
jne 0x14020db50
jmp 0x14020dd2f
cmp r11d, 0xa
jne 0x14020dc6f
mov r8d, dword [rsi + 0x2c]
pxor xmm0, xmm0
bswap r8d
movd xmm5, r8d
mov r8d, dword [rsi + 0x28]
cvtss2sd xmm0, xmm5
movsd qword [rsp + 0x98], xmm0
pxor xmm0, xmm0
bswap r8d
movd xmm4, r8d
cvtss2sd xmm0, xmm4
movsd qword [rsp + 0x90], xmm0
mov r8d, dword [rsi + 0x24]
pxor xmm0, xmm0
bswap r8d
movd xmm3, r8d
mov r8d, dword [rsi + 0x20]
cvtss2sd xmm0, xmm3
movsd qword [rsp + 0x88], xmm0
pxor xmm0, xmm0
bswap r8d
movd xmm3, r8d
cvtss2sd xmm0, xmm3
movsd qword [rsp + 0x80], xmm0
jmp 0x14020dc07
cmp r11d, 8
je 0x14020e07c
jg 0x14020e040
cmp r11d, 4
je 0x14020df88
cmp r11d, 6
jne 0x14020dfb4
mov r8d, dword [rsi + 0x1c]
pxor xmm0, xmm0
bswap r8d
cvtsi2sd xmm0, r8d
mov r8d, dword [rsi + 0x18]
bswap r8d
movsd qword [rsp + 0x78], xmm0
pxor xmm0, xmm0
cvtsi2sd xmm0, r8d
movsd qword [rsp + 0x70], xmm0
mov r8d, dword [rsi + 0x14]
pxor xmm0, xmm0
bswap r8d
cvtsi2sd xmm0, r8d
mov r8d, dword [rsi + 0x10]
bswap r8d
movsd qword [rsp + 0x68], xmm0
pxor xmm0, xmm0
cvtsi2sd xmm0, r8d
movsd qword [rsp + 0x60], xmm0
mov r8d, dword [rsi + 0xc]
pxor xmm0, xmm0
bswap r8d
cvtsi2sd xmm0, r8d
mov r8d, dword [rsi + 8]
bswap r8d
movsd qword [rsp + 0x58], xmm0
pxor xmm0, xmm0
mov r10, qword [rdx + 8]
cvtsi2sd xmm0, r8d
movsd qword [rsp + 0x50], xmm0
cmp eax, 0x46
jne 0x14020dcb0
mov r8, r15
mov dword [rsp + 0x4c], 0
lea r9, [rsp + 0x4c]
mov edx, r11d
call r10
mov r8d, dword [rsp + 0x4c]
test r8d, r8d
jne 0x14020e140
test eax, eax
je case.0x14020de0b.64
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
cmp r11d, 0xa
jne 0x14020dfb4
mov r8d, dword [rsi + 0x2c]
pxor xmm0, xmm0
bswap r8d
cvtsi2sd xmm0, r8d
mov r8d, dword [rsi + 0x28]
bswap r8d
movsd qword [rsp + 0x98], xmm0
pxor xmm0, xmm0
cvtsi2sd xmm0, r8d
movsd qword [rsp + 0x90], xmm0
mov r8d, dword [rsi + 0x24]
pxor xmm0, xmm0
bswap r8d
cvtsi2sd xmm0, r8d
mov r8d, dword [rsi + 0x20]
bswap r8d
movsd qword [rsp + 0x88], xmm0
pxor xmm0, xmm0
cvtsi2sd xmm0, r8d
movsd qword [rsp + 0x80], xmm0
jmp 0x14020df5c
movd xmm4, ecx
pxor xmm0, xmm0
cvtss2sd xmm0, xmm4
jmp 0x14020ddf1
cmp byte [rdi + 0x10], 1
jne 0x14020dbe1
mov r8, qword [rsi]
bswap r8
mov qword [rcx + 0x48], r8
jmp 0x14020dbe1
mov eax, dword [rcx]
movsd xmm1, qword [rdx + 8]
bswap eax
cmp r12b, 1
jne 0x14020e160
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
comisd xmm1, xmm0
jb case.0x14020de0b.64
mov eax, dword [rcx + 4]
pxor xmm0, xmm0
bswap eax
cvtsi2sd xmm0, eax
comisd xmm0, xmm1
jb case.0x14020de0b.64
add rbx, 0x18
cmp rbp, rbx
jne 0x14020db50
jmp 0x14020dd2f
test eax, eax
jne 0x14020e019
add rbx, 0x18
pxor xmm6, xmm6
cmp rbp, rbx
jne 0x14020db50
jmp 0x14020dd2f
movd xmm5, eax
pxor xmm0, xmm0
cvtss2sd xmm0, xmm5
comisd xmm1, xmm0
jb case.0x14020de0b.64
mov eax, dword [rcx + 4]
pxor xmm0, xmm0
bswap eax
movd xmm3, eax
cvtss2sd xmm0, xmm3
jmp 0x14020e11e
movd xmm4, eax
pxor xmm0, xmm0
cvtss2sd xmm0, xmm4
jmp case.0x14020de0b.66
movd xmm2, eax
pxor xmm0, xmm0
cvtss2sd xmm0, xmm2
comisd xmm0, xmmword [rdx + 8]
jb case.0x14020de0b.64
jmp 0x14020de32
test edx, edx
jne 0x14020e258
mov r11, qword [r14 + 0x48]
mov edx, 0xc
mov rcx, qword [r14]
xor r8d, r8d
sub edx, eax
movsxd rax, edx
mov rdx, r11
lea r9, [r14 + rax*8]
call fcn.14020ae90
mov rcx, qword [r14 + rbx*8 + 0x58]
test eax, eax
je 0x14020daf0
jmp 0x14020e019
mov rcx, r14
call fcn.140205410
jmp 0x14020dd59
mov rsi, qword [rsi]
mov r8d, dword [r14 + 0x24]
bswap rsi
test r8d, r8d
jle 0x14020e275
mov rcx, qword [r14 + 0x30]
sub r8d, 1
lea r8, [r8 + r8*2]
lea rax, [rcx + 8]
lea rcx, [rcx + r8*8 + 0x20]
jmp 0x14020e249
add rax, 0x18
cmp rcx, rax
je 0x14020e275
cmp qword [rax], rsi
jne 0x14020e240
mov eax, 0x10b
jmp 0x14020e019
mov rdx, qword [r14 + 0x30]
mov r11, qword [rdx + 8]
jmp 0x14020e1d4
mov edx, 1
mov byte [r14 + 8], dl
xor eax, eax
jmp 0x14020e019
xor ebx, ebx
jmp 0x14020dd4c
movsd xmm6, qword [0x14037d6a0]
mov r13d, 2
jmp 0x14020dd2f
mov eax, 7
jmp 0x14020e019