Function at 0x140277480
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.140277140
test rax, rax
mov r15, rax
je 0x140277a09
cmp byte [rax + 0x10], 0
je 0x140277a09
lea rdx, [rsp + 0x48]
mov rcx, rsi
call fcn.140276e90
mov rdx, rax
mov eax, dword [rsp + 0x48]
test eax, eax
jne 0x140277a19
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 0x1402779fc
mov rax, qword [0x1403f4418]
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 0x140277961
imul rax, r13, 0x18
add rax, qword [rsi + 0x18]
mov edx, dword [rax + 4]
cmp edx, 0x45
jle 0x140277818
mov rcx, qword [rax + 0x10]
cmp edx, 0x47
mov r11d, dword [rcx + 0x38]
jne 0x140277583
cmp byte [r15 + 0x10], 1
jne 0x140277583
mov r8, qword [rbx]
bswap r8
mov qword [rcx + 0x48], r8
cmp r12b, 1
mov r8d, dword [rbx + 0xc]
je 0x14027769b
cmp r11d, 8
je 0x1402775ea
jg 0x1402775ae
cmp r11d, 4
je 0x140277648
cmp r11d, 6
je 0x14027761c
jmp 0x140277674
cmp r11d, 0xa
jne 0x140277674
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 0x140277778
cmp r11d, 8
je 0x1402776ec
jg 0x1402776b8
cmp r11d, 4
je 0x14027773a
cmp r11d, 6
je 0x140277716
jmp 0x14027775e
cmp r11d, 0xa
jne 0x14027775e
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 0x1402777aa
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 0x140277807
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 0x140277807
movaps xmm1, xmm6
cmpltsd xmm1, xmm7
andps xmm0, xmm1
andnps xmm1, xmm6
orps xmm0, xmm1
test eax, eax
mov dword [rsp + 0x48], eax
je 0x140277944
jmp 0x140277a19
cmp byte [r15 + 0x10], 1
mov ecx, dword [rax]
jne 0x14027788d
lea ecx, [rcx*4 + 8]
cmp r12b, 1
movsxd rcx, ecx
mov ecx, dword [rbx + rcx]
bswap ecx
jne 0x14027783c
cvtsi2sd xmm0, ecx
jmp 0x140277844
movd xmm4, ecx
cvtss2sd xmm0, xmm4
sub edx, 0x3f
cmp edx, 6
ja case.0x14027785a.65
lea rcx, [0x1403efa08]
movsxd rdx, dword [rcx + rdx*4]
add rdx, rcx
jmp rdx
movsd xmm1, qword [rax + 8]
comisd xmm1, xmm0
jmp 0x14027786c
comisd xmm0, xmmword [rax + 8]
jbe case.0x14027785a.64
jmp case.0x14027785a.63
ucomisd xmm0, qword [rax + 8]
jp case.0x14027785a.64
jne case.0x14027785a.64
jmp case.0x14027785a.63
and ecx, 0xfe
cmp edx, 0x41
lea rcx, [rbx + rcx*4 + 8]
je 0x1402778bd
jg 0x1402778b3
cmp edx, 0x3f
je case.0x14027785a.63
cmp edx, 0x40
je case.0x14027785a.64
jmp 0x140277922
sub edx, 0x42
cmp edx, 1
jbe 0x1402778ff
jmp 0x140277922
mov edx, dword [rcx]
cmp r12b, 1
bswap edx
jne 0x1402778cd
cvtsi2sd xmm0, edx
jmp 0x1402778d5
movd xmm5, edx
cvtss2sd xmm0, xmm5
movsd xmm1, qword [rax + 8]
comisd xmm1, xmm0
jb case.0x14027785a.64
mov eax, dword [rcx + 4]
cmp r12b, 1
bswap eax
jne 0x1402778f1
cvtsi2sd xmm0, eax
jmp 0x1402778f9
movd xmm2, eax
cvtss2sd xmm0, xmm2
comisd xmm0, xmm1
jmp 0x140277940
mov edx, dword [rcx]
cmp r12b, 1
bswap edx
jne 0x14027790f
cvtsi2sd xmm0, edx
jmp case.0x14027785a.66
movd xmm3, edx
cvtss2sd xmm0, xmm3
movsd xmm1, qword [rax + 8]
comisd xmm1, xmm0
jmp 0x140277940
mov edx, dword [rcx + 4]
cmp r12b, 1
bswap edx
jne 0x140277933
cvtsi2sd xmm0, edx
jmp case.0x14027785a.68
movd xmm4, edx
cvtss2sd xmm0, xmm4
comisd xmm0, xmmword [rax + 8]
jb case.0x14027785a.64
jmp case.0x14027785a.63
test edi, edi
jne 0x140277956
inc byte [r15 + 0x12]
movzx eax, byte [r14 + 0x27]
jmp 0x140277515
movaps xmm6, xmm0
inc r13
jmp 0x140277546
test edi, edi
je 0x140277518
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 0x1402779af
mov rbx, qword [rbx]
xor edx, edx
mov r8d, dword [rsi + 0x24]
bswap rbx
cmp r8d, edx
jle 0x1402779aa
imul rcx, rdx, 0x18
inc rdx
add rcx, qword [rsi + 0x30]
cmp qword [rcx + 8], rbx
jne 0x14027798d
mov eax, 0x10b
jmp 0x140277a19
xor r13d, r13d
jmp 0x1402779b3
mov rbx, qword [r15 + 8]
movzx eax, al
cmp eax, ebp
jl 0x1402779c2
mov rcx, rsi
call fcn.140277240
xorps xmm0, xmm0
comisd xmm0, xmm6
jbe 0x1402779ce
movaps xmm6, xmm0
movzx r8d, byte [rsp + 0x28]
movaps xmm1, xmm6
mov rcx, rsi
call fcn.140277160
test rax, rax
je 0x140277a14
movzx edx, r13b
mov byte [rax + 0x11], dil
cmp edx, ebp
mov qword [rax + 8], rbx
mov byte [rax + 0x12], r13b
jl 0x1402774ba
mov rcx, rsi
call fcn.140277240
jmp 0x1402774ba
test r15, r15
sete byte [rsi + 8]
xor eax, eax
jmp 0x140277a19
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