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

Disassembly:
push rbp
push rsi
push r14
push r15
lea rbp, [rsp - 8]
sub rsp, 0x108
mov rax, qword [0x14006b040]
xor rax, rsp
mov qword [rbp - 0x30], rax
mov r14, qword [0x14006bab8]
mov r15d, edx
mov dword [rbp - 0x38], edx
mov rax, qword [r14 + 0x3fe0]
mov byte [rax + 0xcd], 1
mov rsi, qword [r14 + 0x3fe0]
cmp byte [rsi + 0xd0], 0
je 0x1400403c3
xor al, al
jmp 0x1400412ff
cmp qword [rsi + 0x1c8], 0
movss xmm2, dword [rsi + 0x270]
mov qword [rsp + 0x130], rbx
mov qword [rsp + 0x140], rdi
mov qword [rsp + 0x148], r12
mov qword [rsp + 0x100], r13
movaps xmmword [rsp + 0xe0], xmm7
jne 0x140040407
cmp qword [r14 + 0x44b8], 0
je 0x14004040f
movss xmm2, dword [rsi + 0x240]
subss xmm2, dword [rsi + 0x118]
mov rdx, qword [rbp + 0x50]
lea rcx, [rsp + 0x30]
xorps xmm3, xmm3
xorps xmm7, xmm7
maxss xmm2, dword [0x14006041c]
mov rdx, qword [rdx]
call fcn.140017c80
movss xmm2, dword [rsi + 0x118]
lea rcx, [r14 + 0x44e8]
movss xmm0, dword [rsi + 0x11c]
mov edx, r15d
movss xmm3, dword [rsp + 0x30]
movss xmm1, dword [rsp + 0x34]
addss xmm3, xmm2
addss xmm1, xmm0
movss dword [rbp - 0x48], xmm2
movss dword [rbp - 0x44], xmm0
movss dword [rbp - 0x40], xmm3
movss dword [rbp - 0x3c], xmm1
call fcn.140007e80
mov rdx, rax
movsxd rcx, dword [rax]
cmp ecx, 0xffffffff
je 0x140040498
imul rbx, rcx, 0x218
add rbx, qword [r14 + 0x44e0]
jmp 0x1400404b0
mov eax, dword [r14 + 0x44f8]
lea rcx, [r14 + 0x44d8]
mov dword [rdx], eax
call fcn.140046b50
mov rbx, rax
mov ecx, dword [r14 + 0x3f60]
lea r13, [rbx + 0x80]
xor edi, edi
cmp dword [rbx + 0x70], ecx
je 0x1400404ce
mov r8d, edi
mov dword [rsp + 0x20], edi
jmp 0x1400404db
movsx r8d, word [r13]
inc r8d
mov dword [rsp + 0x20], r8d
mov r12d, dword [r14 + 0x44c0]
lea eax, [r15 + r8]
mov dword [rbp - 0x58], eax
inc r12d
mov eax, dword [rbx + 4]
mov rcx, rbx
sub rcx, qword [r14 + 0x44e0]
mov r9, r13
mov dword [rsp + 0x30], eax
movabs rax, 0x7a44c6afc2dd9ca9
imul rcx
mov dword [r14 + 0x44c0], r12d
mov r15, rdx
mov edx, 8
sar r15, 8
mov rax, r15
shr rax, 0x3f
add r15, rax
cmp r12d, dword [r14 + 0x44c8]
jle 0x1400406cf
mov ecx, dword [r14 + 0x44cc]
movaps xmmword [rsp + 0xf0], xmm6
xorps xmm6, xmm6
movups xmmword [rsp + 0x38], xmm6
mov dword [rsp + 0x3c], 0xbf800000
movups xmmword [rsp + 0x48], xmm6
movups xmmword [rsp + 0x58], xmm6
movups xmmword [rsp + 0x68], xmm6
movups xmmword [rsp + 0x78], xmm6
movups xmmword [rbp - 0x78], xmm6
movups xmmword [rbp - 0x68], xmm6
cmp r12d, ecx
jle 0x140040615
test ecx, ecx
je 0x140040589
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
lea edx, [rcx + rax]
cmp edx, r12d
mov eax, r12d
cmovg eax, edx
mov dword [rsp + 0x28], eax
cmp eax, ecx
jle 0x140040615
mov rcx, qword [0x14006bab8]
test rcx, rcx
je 0x1400405ac
inc dword [rcx + 0xf4]
cdqe
imul rcx, rax, 0x70
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rdx, qword [r14 + 0x44d0]
mov qword [rbp - 0x50], rax
test rdx, rdx
je 0x140040603
movsxd rcx, dword [r14 + 0x44c8]
imul r8, rcx, 0x70
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [r14 + 0x44d0]
test rcx, rcx
je 0x1400405f9
mov rax, qword [0x14006bab8]
test rax, rax
je 0x1400405f9
dec dword [rax + 0xf4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [rbp - 0x50]
mov qword [r14 + 0x44d0], rax
mov eax, dword [rsp + 0x28]
mov dword [r14 + 0x44cc], eax
movsxd rax, dword [r14 + 0x44c8]
mov qword [rsp + 0x28], r13
cmp r12d, eax
jle 0x140040680
movsxd rdx, r12d
mov qword [rsp + 0x28], r13
cmp rax, rdx
jge 0x140040680
movups xmm0, xmmword [rsp + 0x38]
imul rcx, rax, 0x70
sub rdx, rax
nop
mov rax, qword [r14 + 0x44d0]
lea rcx, [rcx + 0x70]
movups xmmword [rcx + rax - 0x70], xmm0
movups xmmword [rcx + rax - 0x60], xmm6
movups xmmword [rcx + rax - 0x50], xmm6
movups xmmword [rcx + rax - 0x40], xmm6
movups xmmword [rcx + rax - 0x30], xmm6
movups xmmword [rcx + rax - 0x20], xmm6
movups xmmword [rcx + rax - 0x10], xmm6
sub rdx, 1
jne 0x140040640
lea rax, [rbx + 0x80]
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x48]
mov dword [r14 + 0x44c8], r12d
call fcn.140036880
mov rcx, qword [rsp + 0x58]
movaps xmm6, xmmword [rsp + 0xf0]
test rcx, rcx
je 0x1400406c0
mov rax, qword [0x14006bab8]
test rax, rax
je 0x1400406b5
dec dword [rax + 0xf4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r9, r13
jmp 0x1400406c5
mov r9, qword [rsp + 0x28]
mov r8d, dword [rsp + 0x20]
mov edx, 8
movsxd rax, dword [r14 + 0x44c0]
mov r13, qword [r14 + 0x44d0]
movss xmm0, dword [rbp + 0x58]
add r13, 0xffffffffffffff90
imul rcx, rax, 0x70
add r13, rcx
mov qword [rbx + 0x10], r13
mov dword [r13], r15d
mov rax, qword [rbx + 0x10]
add rax, 0x10
mov qword [rbx + 0x1a0], rax
mov dword [rax], edi
mov dword [rax + 4], 1
mov eax, dword [rbp - 0x38]
mov dword [rbx], eax
mov byte [rbx + 0x215], dil
mov dword [rbx + 4], 0x2010
mov word [r9], r8w
mov eax, dword [r14 + 0x3f60]
mov dword [rbx + 0x70], eax
mov rax, qword [rbp + 0x50]
movss dword [rbx + 0xd4], xmm0
mov qword [rbx + 0x188], rsi
mov qword [rbx + 0x180], rsi
mov dword [rbx + 0x74], 4
mov byte [rbx + 0x209], dil
movsd xmm1, qword [rax]
movsd qword [r13 + 8], xmm1
test r8d, r8d
jle 0x140040840
mov r12d, dword [rbx + 0x1b0]
cmp r12d, r8d
jge 0x140040840
mov ecx, dword [rbx + 0x1b4]
mov qword [rbp - 0x38], rdi
cmp r12d, ecx
jne 0x140040824
inc r12d
test ecx, ecx
je 0x14004079e
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1400407a0
mov eax, edx
cmp eax, r12d
cmovg r12d, eax
cmp r12d, ecx
jle 0x140040824
mov rax, qword [0x14006bab8]
test rax, rax
je 0x1400407be
inc dword [rax + 0xf4]
movsxd rcx, r12d
shl rcx, 3
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rdx, qword [rbx + 0x1b8]
mov qword [rbp - 0x50], rax
test rdx, rdx
je 0x140040816
movsxd r8, dword [rbx + 0x1b0]
mov rcx, rax
shl r8, 3
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rbx + 0x1b8]
test rcx, rcx
je 0x14004080c
mov rax, qword [0x14006bab8]
test rax, rax
je 0x14004080c
dec dword [rax + 0xf4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [rbp - 0x50]
mov qword [rbx + 0x1b8], rax
mov dword [rbx + 0x1b4], r12d
movsxd rdx, dword [rbx + 0x1b0]
mov rcx, qword [rbx + 0x1b8]
mov rax, qword [rbp - 0x38]
mov qword [rcx + rdx*8], rax
inc dword [rbx + 0x1b0]
movups xmm0, xmmword [rbp - 0x48]
mov rax, qword [0x14006bab8]
mov ecx, dword [rbp - 0x58]
movups xmmword [rbx + 0xfc], xmm0
movups xmmword [rbx + 0xec], xmm0
movups xmmword [rbx + 0x10c], xmm0
mov r12, qword [rax + 0x3fe0]
cmp dword [rax + 0x401c], ecx
jne 0x14004087f
xor r8d, r8d
mov edx, 0xd
call fcn.14002a160
add r12, 0x108
mov ecx, dword [r12 + 4]
mov r8d, dword [r12]
cmp r8d, ecx
jne 0x1400408bd
inc r8d
test ecx, ecx
je 0x1400408a6
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1400408ab
mov eax, 8
cmp eax, r8d
mov rcx, r12
cmovg r8d, eax
mov edx, r8d
call fcn.14002b530
movsxd rcx, dword [r12]
mov rax, qword [r12 + 8]
mov edx, dword [rbp - 0x58]
mov dword [rax + rcx*4], edx
lea rcx, [rbx + 0x11c]
inc dword [r12]
mov r9, qword [rbx + 0x188]
cmp r9, rsi
mov qword [rbp - 0x50], r9
mov eax, dword [r9 + 0x15c]
lea rdx, [r9 + 0x258]
mov dword [rbx + 0xb8], eax
movups xmm0, xmmword [rdx]
movups xmmword [rbx + 0x15c], xmm0
movzx eax, byte [r9 + 0xd0]
mov byte [rbx + 0x217], al
movups xmm0, xmmword [r9 + 0x238]
movups xmmword [r13 + 0x28], xmm0
movups xmm0, xmmword [r9 + 0x248]
movups xmmword [r13 + 0x38], xmm0
movss xmm1, dword [rsi + 0x160]
movss dword [r13 + 0x60], xmm1
movsd xmm0, qword [r9 + 0x148]
movsd qword [r13 + 0x48], xmm0
movsd xmm0, qword [r9 + 0x140]
movsd qword [r13 + 0x50], xmm0
movsd xmm1, qword [r9 + 0x130]
movsd qword [r13 + 0x58], xmm1
mov eax, dword [rsi + 0x1dc]
mov dword [r13 + 0x64], eax
mov eax, dword [rsi + 0x1e8]
mov dword [r13 + 0x68], eax
mov qword [r9 + 0x140], rdi
mov qword [r9 + 0x148], rdi
movss xmm1, dword [r14 + 0x3964]
movss dword [rbx + 0xd0], xmm1
movaps xmm0, xmm1
mov dword [rbx + 0xc4], edi
addss xmm0, xmm7
movss dword [rbx + 0xcc], xmm0
mov eax, dword [r14 + 0x3968]
mov dword [rbx + 0xc8], eax
lea rax, [rbx + 0x10c]
mov dword [rbx + 0xc0], edi
cmove rdx, rax
mov qword [rbx + 0x78], 0xffffffffffffffff
mov dword [rbx + 0x9c], edi
mov word [rbx + 0x9a], di
movups xmm0, xmmword [rdx]
lea rdx, [rbx + 0x15c]
movups xmmword [rcx], xmm0
movss xmm1, dword [rcx]
movss xmm0, dword [rcx + 4]
maxss xmm1, dword [rax]
maxss xmm0, dword [rax + 4]
movss dword [rcx], xmm1
movss dword [rcx + 4], xmm0
movss xmm1, dword [rcx + 8]
movss xmm0, dword [rcx + 0xc]
minss xmm1, dword [rax + 8]
minss xmm0, dword [rax + 0xc]
movss dword [rcx + 8], xmm1
movss dword [rcx + 0xc], xmm0
call fcn.140005c00
movss xmm4, dword [r9 + 0x264]
lea rcx, [rbp - 0x48]
movss xmm5, dword [rbx + 0x110]
mov r8, qword [0x14006bab8]
movss dword [rbx + 0x128], xmm4
movss dword [rbx + 0x88], xmm5
movss dword [rbx + 0x84], xmm5
mov dword [rbx + 0x90], edi
mov dword [rbx + 0x201], edi
mov byte [rbx + 0x214], 1
mov byte [rbx + 0x1f3], dil
movups xmm0, xmmword [r8 + 0x3ca0]
movups xmmword [rbp - 0x48], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [r8 + 0x3908]
movss dword [rbp - 0x3c], xmm0
call fcn.140007dd0
mov dword [rbx + 0xa8], eax
lea rcx, [rbp - 0x48]
movups xmm0, xmmword [r8 + 0x3cb0]
movups xmmword [rbp - 0x48], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [r8 + 0x3908]
movss dword [rbp - 0x3c], xmm0
call fcn.140007dd0
mov dword [rbx + 0xac], eax
mov qword [r14 + 0x44b8], rbx
mov dword [rsi + 0x1d0], r15d
cmp r9, rsi
je 0x140040aea
mov dword [r9 + 0x1d0], r15d
test byte [rsp + 0x30], 2
je 0x140040af8
mov byte [rbx + 0x213], 1
lea rcx, [r14 + 0x4500]
cmp r15d, dword [rcx]
jl 0x140040b1a
lea edx, [r15 + 1]
mov dword [rsp + 0x30], 0xbf800000
lea r8, [rsp + 0x30]
call fcn.14003bc10
movsd xmm0, qword [r14 + 0x3f58]
mov rsi, rdi
mov rax, qword [r14 + 0x4508]
mov r12, rdi
movsxd rcx, r15d
cvtpd2ps xmm0, xmm0
movss dword [rax + rcx*4], xmm0
movabs rax, 0x4ec4ec4ec4ec4ec5
movsd xmm0, qword [r14 + 0x3f58]
cvtpd2ps xmm0, xmm0
movss dword [r13 + 4], xmm0
mov r13, qword [rsp + 0x100]
mov byte [rbx + 0x216], dil
mov r8, qword [rbx + 0x18]
mov rcx, qword [rbx + 0x20]
sub rcx, r8
imul rcx
mov r15, rdx
sar r15, 5
mov rax, r15
shr rax, 0x3f
add r15, rax
test r15d, 0xfffffffb
je 0x140040b9b
mov r12, qword [rbx + 8]
mov rsi, r8
mov qword [rbx + 8], rdi
cmp qword [rbx + 8], rdi
jne 0x140040c11
mov rax, qword [0x14006bab8]
test rax, rax
je 0x140040bb3
inc dword [rax + 0xf4]
mov ecx, 0x1c4
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
xor edx, edx
mov r8d, 0x1c4
mov rcx, rax
mov qword [rbx + 8], rax
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [rbx + 8]
mov qword [rbx + 0x18], rcx
lea rax, [rcx + 0x1a0]
mov qword [rbx + 0x20], rax
mov qword [rbx + 0x28], rax
lea rax, [rcx + 0x1a4]
mov qword [rbx + 0x30], rax
mov qword [rbx + 0x38], rax
lea rax, [rcx + 0x1c4]
mov qword [rbx + 0x40], rax
mov byte [rbx + 0x20f], 1
mov byte [rbx + 0x20b], 1
cmp byte [rbx + 0x212], dil
je 0x140040c34
mov word [rbx + 0x20f], pe_nt_image_headers64
mov byte [rbx + 0x20b], 1
mov byte [rbx + 0x212], dil
mov dword [rbx + 0x68], edi
cmp byte [rbx + 0x20b], dil
je 0x140041047
mov rcx, qword [rbx + 0x18]
mov r8d, 0xffffffff
mov dword [rbx + 0x6c], r8d
mov word [rbx + 0x82], r8w
mov byte [rbx + 0x200], r8b
mov byte [rbx + 0x1fa], r8b
mov byte [rbx + 0x1f4], r8b
mov byte [rbx + 0x20c], 1
mov dword [rbx + 0x1f5], 0xffffffff
test rsi, rsi
je 0x140040cda
test r15d, r15d
jle 0x140040cda
movups xmm0, xmmword [rsi]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rsi + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rsi + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rsi + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rsi + 0x50]
movups xmmword [rcx + 0x50], xmm1
movsd xmm0, qword [rsi + 0x60]
movsd qword [rcx + 0x60], xmm0
mov rax, qword [rbx + 0x28]
mov byte [rax], dil
mov byte [rcx + 0x52], dil
mov rcx, qword [rbx + 0x18]
add rcx, 0x68
mov rdx, rcx
jmp 0x140040d6b
movss xmm2, dword [rcx + 0x14]
xorps xmm1, xmm1
movups xmmword [rcx], xmm1
xor eax, eax
movups xmmword [rsp + 0x48], xmm1
mov qword [rbp - 0x68], rax
and byte [rbp - 0x63], 0xfc
movups xmmword [rbp - 0x78], xmm1
mov dword [rsp + 0x48], 0xbf800000
mov dword [rsp + 0x50], 0xbf800000
movups xmm0, xmmword [rsp + 0x48]
mov qword [rbp - 0x78], 0xffffffffffffffff
mov word [rbp - 0x70], 0xffff
movups xmmword [rcx + 0x10], xmm0
movups xmm0, xmmword [rbp - 0x78]
movups xmmword [rcx + 0x20], xmm1
movups xmmword [rcx + 0x30], xmm1
movups xmmword [rcx + 0x40], xmm1
movsd xmm1, qword [rbp - 0x68]
movups xmmword [rcx + 0x50], xmm0
movsd qword [rcx + 0x60], xmm1
movss dword [rcx + 0x14], xmm2
mov byte [rcx + 0x61], 1
mov word [rcx + 0x5b], 0x101
mov byte [rcx + 0x5a], 1
mov rax, qword [rbx + 0x28]
mov byte [rax], dil
mov byte [rcx + 0x52], dil
mov rcx, qword [rbx + 0x18]
add rcx, 0x68
mov rdx, rcx
test rsi, rsi
je 0x140040dd8
cmp r15d, 1
jle 0x140040dd8
movups xmm0, xmmword [rsi + 0x68]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rsi + 0x78]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rsi + 0x88]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rsi + 0x98]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rsi + 0xa8]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rsi + 0xb8]
movups xmmword [rcx + 0x50], xmm1
movsd xmm0, qword [rsi + 0xc8]
movsd qword [rcx + 0x60], xmm0
mov rax, qword [rbx + 0x28]
mov byte [rax + 1], 1
mov byte [rdx + 0x52], 1
mov rcx, qword [rbx + 0x18]
add rcx, 0xd0
mov rdx, rcx
jmp 0x140040e6d
movss xmm2, dword [rcx + 0x14]
xorps xmm1, xmm1
movups xmmword [rcx], xmm1
xor eax, eax
movups xmmword [rsp + 0x48], xmm1
mov qword [rbp - 0x68], rax
and byte [rbp - 0x63], 0xfc
movups xmmword [rbp - 0x78], xmm1
mov dword [rsp + 0x48], 0xbf800000
mov dword [rsp + 0x50], 0xbf800000
movups xmm0, xmmword [rsp + 0x48]
mov qword [rbp - 0x78], 0xffffffffffffffff
mov word [rbp - 0x70], 0xffff
movups xmmword [rcx + 0x10], xmm0
movups xmm0, xmmword [rbp - 0x78]
movups xmmword [rcx + 0x20], xmm1
movups xmmword [rcx + 0x30], xmm1
movups xmmword [rcx + 0x40], xmm1
movsd xmm1, qword [rbp - 0x68]
movups xmmword [rcx + 0x50], xmm0
movsd qword [rcx + 0x60], xmm1
movss dword [rcx + 0x14], xmm2
mov byte [rcx + 0x61], 1
mov word [rcx + 0x5b], 0x101
mov byte [rcx + 0x5a], 1
mov rax, qword [rbx + 0x28]
mov byte [rax + 1], 1
mov byte [rcx + 0x52], 1
mov rcx, qword [rbx + 0x18]
add rcx, 0xd0
mov rdx, rcx
test rsi, rsi
je 0x140040edd
cmp r15d, 2
jle 0x140040edd
movups xmm0, xmmword [rsi + 0xd0]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rsi + 0xe0]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rsi + 0xf0]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rsi + 0x100]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rsi + 0x110]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rsi + 0x120]
movups xmmword [rcx + 0x50], xmm1
movsd xmm0, qword [rsi + 0x130]
movsd qword [rcx + 0x60], xmm0
mov rax, qword [rbx + 0x28]
mov byte [rax + 2], 2
mov byte [rdx + 0x52], 2
mov rcx, qword [rbx + 0x18]
add rcx, 0x138
jmp 0x140040f6f
movss xmm2, dword [rcx + 0x14]
xorps xmm1, xmm1
movups xmmword [rcx], xmm1
xor eax, eax
movups xmmword [rsp + 0x48], xmm1
mov qword [rbp - 0x68], rax
and byte [rbp - 0x63], 0xfc
movups xmmword [rbp - 0x78], xmm1
mov dword [rsp + 0x48], 0xbf800000
mov dword [rsp + 0x50], 0xbf800000
movups xmm0, xmmword [rsp + 0x48]
mov qword [rbp - 0x78], 0xffffffffffffffff
mov word [rbp - 0x70], 0xffff
movups xmmword [rcx + 0x10], xmm0
movups xmm0, xmmword [rbp - 0x78]
movups xmmword [rcx + 0x20], xmm1
movups xmmword [rcx + 0x30], xmm1
movups xmmword [rcx + 0x40], xmm1
movsd xmm1, qword [rbp - 0x68]
movups xmmword [rcx + 0x50], xmm0
movsd qword [rcx + 0x60], xmm1
movss dword [rcx + 0x14], xmm2
mov byte [rcx + 0x61], 1
mov word [rcx + 0x5b], 0x101
mov byte [rcx + 0x5a], 1
mov rax, qword [rbx + 0x28]
mov byte [rax + 2], 2
mov byte [rcx + 0x52], 2
mov rcx, qword [rbx + 0x18]
add rcx, 0x138
test rsi, rsi
je 0x140040fc5
cmp r15d, 3
jle 0x140040fc5
movups xmm0, xmmword [rsi + 0x138]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rsi + 0x148]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rsi + 0x158]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rsi + 0x168]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rsi + 0x178]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rsi + 0x188]
movups xmmword [rcx + 0x50], xmm1
movsd xmm0, qword [rsi + 0x198]
movsd qword [rcx + 0x60], xmm0
jmp 0x14004103b
movss xmm2, dword [rcx + 0x14]
xorps xmm1, xmm1
movups xmmword [rcx], xmm1
xor eax, eax
movups xmmword [rsp + 0x48], xmm1
mov qword [rbp - 0x68], rax
and byte [rbp - 0x63], 0xfc
movups xmmword [rbp - 0x78], xmm1
mov dword [rsp + 0x48], 0xbf800000
mov dword [rsp + 0x50], 0xbf800000
movups xmm0, xmmword [rsp + 0x48]
mov qword [rbp - 0x78], 0xffffffffffffffff
mov word [rbp - 0x70], 0xffff
movups xmmword [rcx + 0x10], xmm0
movups xmm0, xmmword [rbp - 0x78]
movups xmmword [rcx + 0x20], xmm1
movups xmmword [rcx + 0x30], xmm1
movups xmmword [rcx + 0x40], xmm1
movsd xmm1, qword [rbp - 0x68]
movups xmmword [rcx + 0x50], xmm0
movsd qword [rcx + 0x60], xmm1
movss dword [rcx + 0x14], xmm2
mov byte [rcx + 0x61], 1
mov word [rcx + 0x5b], 0x101
mov byte [rcx + 0x5a], 1
mov rax, qword [rbx + 0x28]
mov byte [rax + 3], 3
mov byte [rcx + 0x52], 3
test r12, r12
je 0x140041067
mov rax, qword [0x14006bab8]
test rax, rax
je 0x14004105e
dec dword [rax + 0xf4]
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r12, qword [rsp + 0x148]
cmp byte [rbx + 0x20f], dil
je 0x140041080
mov rcx, rbx
call fcn.140045720
movss xmm0, dword [rbx + 0xe8]
movss xmm2, dword [r14 + 0x3d50]
ucomiss xmm0, xmm7
movaps xmm7, xmmword [rsp + 0xe0]
jp 0x1400410a0
je 0x1400410fb
ucomiss xmm0, xmm2
jp 0x1400410a7
je 0x1400410fb
mov rax, qword [rbx + 0x18]
movaps xmm1, xmm2
divss xmm1, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [rax + 0x10]
movss dword [rax + 0x10], xmm0
movaps xmm0, xmm1
mov rax, qword [rbx + 0x18]
mulss xmm0, dword [rax + 0x78]
movss dword [rax + 0x78], xmm0
movaps xmm0, xmm1
mov rax, qword [rbx + 0x18]
mulss xmm0, dword [rax + 0xe0]
movss dword [rax + 0xe0], xmm0
mov rax, qword [rbx + 0x18]
mulss xmm1, dword [rax + 0x148]
movss dword [rax + 0x148], xmm1
mov rax, qword [rbp - 0x50]
movss dword [rbx + 0xe8], xmm2
mov byte [rax + 0xd0], 1
cmp dword [rbx + 0x190], edi
jle 0x140041142
mov ecx, dword [rbx + 0x194]
test ecx, ecx
jns 0x14004113c
mov eax, ecx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
add eax, ecx
lea rcx, [rbx + 0x190]
test eax, eax
cmovg edx, eax
call fcn.14002b1d0
mov dword [rbx + 0x190], edi
cmp word [rbx + 0x80], di
jne 0x1400412b0
movsx eax, byte [rbx + 0x1f7]
cmp al, 0xff
je 0x140041174
movss xmm1, dword [rbx + 0xe0]
ucomiss xmm1, dword [0x1400604d8]
jp 0x14004116d
je 0x140041174
mov ecx, eax
call fcn.140043d10
movzx eax, byte [rbx + 0x1f7]
movsx rcx, byte [rbx + 0x1f6]
mov byte [rbx + 0x1f8], al
mov dword [rbx + 0xe0], 0x7f7fffff
mov byte [rbx + 0x1f7], 0xff
cmp cl, 0xff
je 0x1400411b9
mov rax, qword [rbx + 0x18]
imul rdx, rcx, 0x68
movss xmm1, dword [rdx + rax + 0x14]
call fcn.140043d10
mov byte [rbx + 0x1f6], 0xff
cmp word [rbx + 0x80], di
jne 0x1400412b0
cmp byte [rbx + 0x1f9], 0xff
jne 0x1400411df
cmp byte [rbx + 0x1fa], 0xff
je 0x1400411df
mov byte [rbx + 0x1fa], 0xff
movsx rax, byte [rbx + 0x1fa]
mov byte [rbx + 0x1f9], 0xff
cmp al, 0xff
je 0x1400412b0
movsx r10d, byte [rbx + 0x1fb]
test r10b, r10b
je 0x1400412b0
mov r11, qword [rbx + 0x18]
imul r8, rax, 0x68
add r8, r11
cmp r10d, 0xffffffff
jne 0x14004121f
movzx eax, byte [r8 + 0x54]
jmp 0x140041224
movzx eax, byte [r8 + 0x55]
movsx edx, byte [r8 + 0x52]
movsx rax, al
imul rcx, rax, 0x68
movsx eax, byte [rcx + r11 + 0x52]
mov byte [r8 + 0x52], al
lea r8d, [rdx + r10]
lea r11d, [r10 + rax]
cmp r8d, r11d
je 0x140041271
nop dword [rax + rax]
mov rax, qword [rbx + 0x28]
movsxd rcx, r8d
add r8d, r10d
movsx rcx, byte [rcx + rax]
mov rax, qword [rbx + 0x18]
imul rdx, rcx, 0x68
sub byte [rdx + rax + 0x52], r10b
cmp r8d, r11d
jne 0x140041250
mov r8d, edi
cmp dword [rbx + 0x74], edi
jle 0x1400412a2
nop dword [rax]
movsxd rax, r8d
imul rcx, rax, 0x68
mov rax, qword [rbx + 0x18]
movsx rdx, byte [rcx + rax + 0x52]
mov rax, qword [rbx + 0x28]
mov byte [rdx + rax], r8b
inc r8d
cmp r8d, dword [rbx + 0x74]
jl 0x140041280
mov byte [rbx + 0x1fb], dil
mov byte [rbx + 0x210], 1
cmp byte [rbx + 0x213], dil
je 0x1400412ed
cmp dword [rbx + 0x74], edi
jle 0x1400412df
nop
mov rax, qword [rbx + 0x18]
movsxd rdx, edi
imul rcx, rdx, 0x68
mov byte [rcx + rax + 0x52], dil
mov rax, qword [rbx + 0x28]
mov byte [rdx + rax], dil
inc edi
cmp edi, dword [rbx + 0x74]
jl 0x1400412c0
mov byte [rbx + 0x213], 0
mov byte [rbx + 0x210], 1
mov rdi, qword [rsp + 0x140]
mov al, 1
mov rbx, qword [rsp + 0x130]
mov rcx, qword [rbp - 0x30]
xor rcx, rsp
call fcn.1400578d0
add rsp, 0x108
pop r15
pop r14
pop rsi
pop rbp
ret