Function at 0x140436e50
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
movups xmmword [rsp + 0xa0], xmm6
movups xmmword [rsp + 0xb0], xmm7
mov r14, qword [rcx]
mov bpl, byte [r14 + 0x26]
mov rsi, rcx
xor ecx, ecx
mov eax, dword [rsi + 0x10]
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x34], eax
mov rcx, rsi
call fcn.140436b20
mov r15, rax
test rax, rax
je 0x1404373e2
cmp byte [rax + 0x10], 0
je 0x1404373e2
lea rdx, [rsp + 0x48]
mov rcx, rsi
call fcn.140436870
mov rdx, rax
mov eax, dword [rsp + 0x48]
test eax, eax
jne 0x140437410
mov rbx, qword [rdx + 0x18]
movzx eax, byte [r14 + 0x27]
movzx edx, byte [r15 + 0x12]
mov di, word [rbx + 2]
imul eax, edx
rol di, 8
movzx edi, di
add eax, 4
cdqe
add rbx, rax
movzx eax, byte [r15 + 0x12]
cmp eax, edi
jge 0x1404373d5
mov rax, qword [0x140621438]
xor r13d, r13d
mov r12d, 2
xorps xmm7, xmm7
movq xmm6, rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
cmp dword [rsp + 0x34], r13d
jle 0x14043735c
imul rax, r13, 0x18
add rax, qword [rsi + 0x18]
mov edx, dword [rax + 4]
cmp edx, 0x45
jle 0x140437205
mov rcx, qword [rax + 0x10]
mov r11d, dword [rcx + 0x38]
cmp edx, 0x47
jne 0x140436f54
cmp byte [r15 + 0x10], 1
jne 0x140436f54
mov r8, qword [rbx]
bswap r8
mov qword [rcx + 0x48], r8
cmp bpl, 1
mov r8d, dword [rbx + 0xc]
je 0x14043706c
cmp r11d, 8
je 0x140436fbb
jg 0x140436f7f
cmp r11d, 4
je 0x140437019
cmp r11d, 6
je 0x140436fed
jmp 0x140437045
cmp r11d, 0xa
jne 0x140437045
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 0x140437149
cmp r11d, 8
je 0x1404370bd
jg 0x140437089
cmp r11d, 4
je 0x14043710b
cmp r11d, 6
je 0x1404370e7
jmp 0x14043712f
cmp r11d, 0xa
jne 0x14043712f
mov r9d, dword [rbx + 0x2c]
bswap r9d
cvtsi2sd xmm0, r9d
mov r9d, dword [rbx + 0x28]
bswap r9d
movsd qword [rsp + 0x98], xmm0
cvtsi2sd xmm0, r9d
movsd qword [rsp + 0x90], xmm0
mov r9d, dword [rbx + 0x24]
bswap r9d
cvtsi2sd xmm0, r9d
mov r9d, dword [rbx + 0x20]
bswap r9d
movsd qword [rsp + 0x88], xmm0
cvtsi2sd xmm0, r9d
movsd qword [rsp + 0x80], xmm0
mov r9d, dword [rbx + 0x1c]
bswap r9d
cvtsi2sd xmm0, r9d
mov r9d, dword [rbx + 0x18]
bswap r9d
movsd qword [rsp + 0x78], xmm0
cvtsi2sd xmm0, r9d
movsd qword [rsp + 0x70], xmm0
mov r9d, dword [rbx + 0x14]
bswap r9d
cvtsi2sd xmm0, r9d
mov r9d, dword [rbx + 0x10]
bswap r9d
movsd qword [rsp + 0x68], xmm0
cvtsi2sd xmm0, r9d
movsd qword [rsp + 0x60], xmm0
bswap r8d
cvtsi2sd xmm0, r8d
mov r8d, dword [rbx + 8]
bswap r8d
movsd qword [rsp + 0x58], xmm0
cvtsi2sd xmm0, r8d
mov rax, qword [rax + 8]
movsd qword [rsp + 0x50], xmm0
cmp edx, 0x46
jne 0x140437195
xor edx, edx
mov r8, qword [rsp + 0x28]
lea r9, [rsp + 0x4c]
mov dword [rsp + 0x4c], edx
mov edx, r11d
call rax
cmp dword [rsp + 0x4c], 0
mov dword [rsp + 0x48], eax
jne 0x140437185
test eax, eax
je case.0x140437247.64
jmp 0x140437410
test eax, eax
jne 0x140437410
xorps xmm6, xmm6
jmp case.0x140437247.63
mov rdx, qword [rsp + 0x28]
movsd xmm0, qword [r15]
mov qword [rsp + 0x38], rcx
mov qword [rcx + 0x28], rdx
movzx edx, byte [r15 + 0x10]
movsd qword [rcx + 0x50], xmm0
dec edx
movsd qword [rcx + 0x60], xmm0
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 r12d, edx
cmovg r12d, edx
comisd xmm6, xmm0
ja 0x1404371f4
movups xmm1, xmm6
cmpltsd xmm1, xmm7
andps xmm0, xmm1
andnps xmm1, xmm6
orps xmm0, xmm1
mov dword [rsp + 0x48], eax
test eax, eax
je 0x14043733c
jmp 0x140437410
cmp byte [r15 + 0x10], 1
mov ecx, dword [rax]
jne 0x140437254
lea ecx, [rcx*4 + 8]
movsxd rcx, ecx
mov ecx, dword [rbx + rcx]
bswap ecx
cmp bpl, 1
jne 0x140437229
cvtsi2sd xmm0, ecx
jmp 0x140437231
movd xmm4, ecx
cvtss2sd xmm0, xmm4
sub edx, 0x3f
cmp edx, 6
ja case.0x140437247.65
lea rcx, [0x14061ce20]
movsxd rdx, dword [rcx + rdx*4]
add rdx, rcx
jmp rdx
movsd xmm1, qword [rax + 8]
comisd xmm1, xmm0
jmp 0x14043729a
and ecx, 0xfe
lea rcx, [rbx + rcx*4 + 8]
cmp edx, 0x41
je 0x1404372c5
jg 0x1404372bb
cmp edx, 0x3f
je case.0x140437247.63
cmp edx, 0x40
je case.0x140437247.64
mov edx, dword [rcx + 4]
bswap edx
cmp bpl, 1
jne 0x14043732f
cvtsi2sd xmm0, edx
comisd xmm0, xmmword [rax + 8]
jmp 0x14043732b
comisd xmm0, xmmword [rax + 8]
jbe case.0x140437247.64
jmp case.0x140437247.63
ucomisd xmm0, qword [rax + 8]
jp case.0x140437247.64
jne case.0x140437247.64
jmp case.0x140437247.63
sub edx, 0x42
cmp edx, 1
jbe 0x14043730a
jmp 0x140437278
mov edx, dword [rcx]
movsd xmm1, qword [rax + 8]
bswap edx
cmp bpl, 1
jne 0x1404372e9
cvtsi2sd xmm0, edx
comisd xmm1, xmm0
jb case.0x140437247.64
mov eax, dword [rcx + 4]
bswap eax
cvtsi2sd xmm0, eax
jmp 0x140437304
movd xmm5, edx
cvtss2sd xmm0, xmm5
comisd xmm1, xmm0
jb case.0x140437247.64
mov eax, dword [rcx + 4]
bswap eax
movd xmm2, eax
cvtss2sd xmm0, xmm2
comisd xmm0, xmm1
jmp 0x14043732b
mov edx, dword [rcx]
bswap edx
cmp bpl, 1
jne 0x14043731a
cvtsi2sd xmm0, edx
jmp case.0x140437247.66
movd xmm3, edx
cvtss2sd xmm0, xmm3
movsd xmm1, qword [rax + 8]
comisd xmm1, xmm0
jb case.0x140437247.64
jmp case.0x140437247.63
movd xmm4, edx
cvtss2sd xmm0, xmm4
jmp case.0x140437247.68
test r12d, r12d
je case.0x140437247.64
movups xmm6, xmm0
jmp case.0x140437247.63
inc byte [r15 + 0x12]
movzx eax, byte [r14 + 0x27]
jmp 0x140436ee5
inc r13
jmp 0x140436f17
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 0x140437405
mov rbx, qword [rbx]
mov r8d, dword [rsi + 0x24]
xor edx, edx
bswap rbx
cmp r8d, edx
jg 0x1404373ed
xor r13d, r13d
movzx eax, al
cmp eax, edi
jl 0x14043739b
mov rcx, rsi
call fcn.140436c20
xorps xmm0, xmm0
comisd xmm0, xmm6
jbe 0x1404373a7
movups xmm6, xmm0
movzx r8d, byte [rsp + 0x28]
movups xmm1, xmm6
mov rcx, rsi
call fcn.140436b40
test rax, rax
je 0x14043740b
movzx edx, r13b
mov byte [rax + 0x11], r12b
mov qword [rax + 8], rbx
mov byte [rax + 0x12], r13b
cmp edx, edi
jl 0x140436e8a
mov rcx, rsi
call fcn.140436c20
jmp 0x140436e8a
test r15, r15
sete byte [rsi + 8]
xor eax, eax
jmp 0x140437410
imul rcx, rdx, 0x18
add rcx, qword [rsi + 0x30]
inc rdx
cmp qword [rcx + 8], rbx
jne 0x140437384
mov eax, 0x10b
jmp 0x140437410
mov rbx, qword [r15 + 8]
jmp 0x14043738c
mov eax, 7
movups xmm6, xmmword [rsp + 0xa0]
movups xmm7, xmmword [rsp + 0xb0]
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret