Function at 0x140024a20
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbp
push rsi
push r12
push r15
sub rsp, 0x48
movss xmm0, dword [rdx + 0x14]
movaps xmmword [rsp + 0x30], xmm6
movaps xmmword [rsp + 0x20], xmm7
movss xmm7, dword [0x1402ab594]
mov rbp, rdx
mov rsi, rcx
comiss xmm7, xmm0
jbe 0x140024a52
movaps xmm6, xmm7
jmp 0x140024a62
movss xmm6, dword [0x1402ab5d0]
comiss xmm0, xmm6
ja 0x140024a62
movaps xmm6, xmm0
mov eax, dword [rdx]
mov dword [rcx], eax
mov ecx, dword [rdx + 4]
mov dword [rsi + 4], ecx
mov edx, dword [rdx + 8]
and ecx, 0xfffffffe
movss dword [rsi + 0x14], xmm6
mov dword [rsi + 8], edx
mov eax, dword [rbp + 0x340]
mov dword [rsi + 0x4a8], 0
mov dword [rsi + 0x4ac], 0
mov dword [rsi + 0x4b0], ecx
mov dword [rsi + 0x340], eax
and edx, 0xfffffffe
mov dword [rsi + 0x4b4], edx
movzx eax, word [rbp + 0x37c]
mov word [rsi + 0x37c], ax
movzx eax, byte [rbp + 0x37e]
mov byte [rsi + 0x37e], al
mov eax, dword [rbp + 0x380]
mov dword [rsi + 0x380], eax
mov eax, dword [rbp + 0x384]
mov dword [rsi + 0x384], eax
mov eax, dword [rbp + 0x388]
mov dword [rsi + 0x388], eax
mov eax, dword [rbp + 0x358]
mov dword [rsi + 0x358], eax
movzx eax, byte [rbp + 0x38f]
mov byte [rsi + 0x38f], al
mov eax, dword [rbp + 0x10]
mov dword [rsi + 0x10], eax
movzx eax, byte [rbp + 0x352]
mov byte [rsi + 0x352], al
mov eax, dword [rbp + 0x354]
mov dword [rsi + 0x354], eax
mov eax, dword [rbp + 0xc]
mov dword [rsi + 0xc], eax
mov ecx, dword [rbp + 0x360]
mov dword [rsi + 0x360], ecx
test ecx, ecx
je 0x140024b40
cmp ecx, eax
jge 0x140024b40
mov dword [rsi + 0x360], eax
mov eax, dword [rbp + 0x364]
mov dword [rsi + 0x364], eax
mov eax, dword [rbp + 0x368]
mov dword [rsi + 0x368], eax
mov eax, dword [rbp + 0x36c]
mov dword [rsi + 0x36c], eax
cmp byte [rbp + 0x38c], 0
setne al
mov byte [rsi + 0x38c], al
movzx eax, byte [rbp + 0x390]
mov byte [rsi + 0x390], al
cmp byte [rbp + 0x38d], 0
setne al
mov byte [rsi + 0x38d], al
cmp byte [rbp + 0x38e], 0
setne al
mov byte [rsi + 0x38e], al
cmp byte [rbp + 0x35c], 0
setne al
mov byte [rsi + 0x35c], al
cmp byte [rbp + 0x370], 0
setne cl
cmp dword [rsi], 1
mov byte [rsi + 0x370], cl
mov eax, dword [rbp + 0x378]
mov dword [rsi + 0x378], eax
movzx eax, byte [rbp + 0x391]
mov byte [rsi + 0x391], al
jne 0x140024bed
test al, al
jne 0x140024bed
test cl, cl
je 0x140024bed
mov byte [rsi + 0x370], al
movzx eax, byte [rbp + 0x351]
mov r8d, 1
mov ecx, 4
mov byte [rsi + 0x351], al
movzx eax, byte [rbp + 0x352]
mov byte [rsi + 0x352], al
mov eax, dword [rbp + 0x1c]
cmp eax, r8d
jge 0x140024c1f
mov eax, r8d
jmp 0x140024c24
cmp eax, ecx
cmovg eax, ecx
movsx r9d, al
mov dword [rsi + 0x1c], r9d
mov eax, dword [rbp + 0x18]
cmp eax, r8d
jge 0x140024c39
mov eax, r8d
jmp 0x140024c3e
cmp eax, ecx
cmovg eax, ecx
movsx ecx, al
mov dword [rsi + 0x18], ecx
movzx eax, byte [rsi + 0x18]
dec ecx
shl r8d, cl
dec al
mov byte [rsi + 0x4c8], al
mov dword [rsi + 0x4a4], r8d
mov ecx, dword [rbp + 0x344]
mov dword [rsi + 0x344], ecx
cmp ecx, 0xffffffff
jne 0x140024c79
mov dword [rsi + 0x344], 0
jmp 0x140024c95
lea eax, [r8 - 1]
test ecx, eax
je 0x140024c95
xor edx, edx
lea eax, [r8 + rcx - 1]
div r8d
imul eax, r8d
mov dword [rsi + 0x344], eax
mov eax, dword [rbp + 0x348]
cmp eax, 0xffffffff
je 0x140024caa
cmp eax, 0x10
jg 0x140024cb8
cmp eax, 1
jl 0x140024cb8
cmp dword [rsi + 0x348], 0xffffffff
je 0x140024cbe
cmp eax, 0xffffffff
jne 0x140024cbe
mov dword [rsi + 0x348], eax
mov eax, dword [rsi + 0x348]
cmp eax, 0xffffffff
je 0x140024cd7
cmp eax, dword [rsi + 0x4cc]
jle 0x140024cd7
mov dword [rsi + 0x4cc], eax
cmp byte [rbp + 0x370], 0
je 0x140024ce8
mov eax, dword [rbp + 0x374]
jmp 0x140024cea
xor eax, eax
mov dword [rsi + 0x374], eax
mov eax, dword [rbp + 0x378]
mov dword [rsi + 0x378], eax
movzx eax, byte [rbp + 0x350]
mov byte [rsi + 0x350], al
mov eax, dword [rbp + 0x34c]
test eax, eax
je 0x140024d27
cmp eax, 1
je 0x140024d27
cmp eax, 2
je 0x140024d27
cmp eax, 3
je 0x140024d27
cmp eax, 6
jne 0x140024d2d
mov dword [rsi + 0x34c], eax
cmp dword [rsi + 0x358], 0
mov ecx, 0x42
mov eax, 0x64
cmovne ecx, eax
xor r15b, r15b
lea r12, [rsi + 0x20]
mov dword [rsp + 0x70], ecx
test r9d, r9d
jle 0x140024faa
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x88], r13
mov qword [rsp + 0x40], r14
lea r14, [rsi + 0x3bc]
nop word [rax + rax]
movsx r13, r15b
imul r13, r13, 0xc8
mov eax, dword [r13 + rbp + 0x34]
test eax, eax
cmove eax, ecx
mov dword [r12 + 0x14], eax
mov eax, dword [r13 + rbp + 0x38]
mov dword [r12 + 0x18], eax
movss xmm0, dword [r13 + rbp + 0x28]
comiss xmm7, xmm0
jbe 0x140024db5
movaps xmm0, xmm7
jmp 0x140024dbd
comiss xmm0, xmm6
jbe 0x140024dbd
movaps xmm0, xmm6
comiss xmm7, xmm0
movss dword [r14 - 4], xmm6
jbe 0x140024dcd
movaps xmm0, xmm7
jmp 0x140024dd5
comiss xmm0, xmm6
jbe 0x140024dd5
movaps xmm0, xmm6
movss dword [r14], xmm0
movss dword [r12 + 8], xmm0
mov ecx, dword [r13 + rbp + 0x20]
test ecx, ecx
jns 0x140024dee
xor ecx, ecx
jmp 0x140024df6
mov eax, dword [rsi + 4]
cmp ecx, eax
cmovg ecx, eax
mov dword [r12], ecx
mov edx, dword [r13 + rbp + 0x24]
test edx, edx
jns 0x140024e07
xor edx, edx
jmp 0x140024e0f
mov eax, dword [rsi + 8]
cmp edx, eax
cmovg edx, eax
mov dword [r12 + 4], edx
mov eax, dword [r13 + rbp + 0x2c]
mov dword [r12 + 0xc], eax
mov eax, dword [r13 + rbp + 0x30]
mov dword [r12 + 0x10], eax
cmp dword [rsi + 0x1c], 1
jne 0x140024e6d
test r15b, r15b
jne 0x140024e6d
test ecx, ecx
jne 0x140024e3e
mov eax, dword [rsi + 4]
mov dword [r12], eax
test edx, edx
jne 0x140024e4a
mov eax, dword [rsi + 8]
mov dword [r12 + 4], eax
cmp dword [r12 + 0xc], 0
jne 0x140024e5a
mov eax, dword [rsi + 0xc]
mov dword [r12 + 0xc], eax
cmp dword [r12 + 0x10], 0
jne 0x140024e6d
mov eax, dword [rsi + 0x360]
mov dword [r12 + 0x10], eax
lea rdi, [r13 + rbp + 0x40]
lea rcx, [r12 + 0x20]
mov r8d, 0x98
mov rdx, rdi
call fcn.1401e75a0
lea rcx, [r12 + 0x20]
mov rdx, rdi
mov r8d, 0x98
call fcn.1401e75a0
mov r11d, dword [r13 + rbp + 0x3c]
mov ecx, dword [rsp + 0x70]
mov dword [r12 + 0x1c], r11d
movzx eax, byte [r13 + rbp + 0xd8]
mov byte [r12 + 0xb8], al
movzx eax, byte [r13 + rbp + 0xd9]
mov byte [r12 + 0xb9], al
movzx eax, byte [r13 + rbp + 0xda]
mov byte [r12 + 0xba], al
movzx eax, byte [r13 + rbp + 0xdb]
mov byte [r12 + 0xbb], al
movzx eax, byte [r13 + rbp + 0xdc]
mov byte [r12 + 0xbc], al
movzx eax, byte [r13 + rbp + 0xdd]
mov byte [r12 + 0xbd], al
movzx eax, byte [r13 + rbp + 0xde]
mov byte [r12 + 0xbe], al
movzx eax, byte [r13 + rbp + 0xdf]
mov byte [r12 + 0xbf], al
mov eax, dword [r13 + rbp + 0xe0]
mov dword [r12 + 0xc0], eax
movzx eax, word [r13 + rbp + 0xe4]
mov word [r12 + 0xc4], ax
movzx eax, word [r13 + rbp + 0xe6]
mov word [r12 + 0xc6], ax
cmp byte [rsi + 0x352], 0
mov eax, 0x53
cmove ecx, eax
inc r15b
add r14, 0x44
movsx eax, r15b
add r12, 0xc8
mov dword [rsp + 0x70], ecx
cmp eax, dword [rsi + 0x1c]
jl 0x140024d80
mov r14, qword [rsp + 0x40]
mov r13, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x78]
mov rcx, rsi
call fcn.140024fd0
xor eax, eax
movaps xmm6, xmmword [rsp + 0x30]
movaps xmm7, xmmword [rsp + 0x20]
add rsp, 0x48
pop r15
pop r12
pop rsi
pop rbp
ret