Function at 0x140229910
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, 0x158
movaps xmmword [rsp + 0x100], xmm6
movaps xmmword [rsp + 0x110], xmm7
movaps xmmword [rsp + 0x120], xmm8
movaps xmmword [rsp + 0x130], xmm9
movaps xmmword [rsp + 0x140], xmm10
mov qword [rsp + 0x50], rdx
mov r12, rcx
mov qword [rsp + 0x78], r8
mov dword [rsp + 0x80], r9d
test r9d, r9d
jle 0x1402299d7
mov rdx, qword [r8]
mov eax, edx
imul rax, rax, 0x51d07eaf
shr rax, 0x20
mov rcx, rax
mov eax, edx
sub eax, ecx
shr eax, 1
add eax, ecx
mov ecx, edx
shr eax, 6
imul eax, eax, 0x61
sub ecx, eax
mov rbx, qword [r12 + rcx*8 + 0xc0]
test rbx, rbx
jne 0x1402299a9
jmp 0x1402299d7
mov rbx, qword [rbx + 0x20]
test rbx, rbx
je 0x1402299d7
cmp rdx, qword [rbx + 8]
jne 0x1402299a0
mov rdx, qword [rbx]
test rdx, rdx
je 0x1402299c1
sub dword [rdx + 0x10], 1
je 0x14022a0d9
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x1402299cf
add dword [rax + 0x10], 1
mov rax, qword [rsp + 0x50]
mov qword [rbx], rax
mov rdi, qword [rsp + 0x50]
mov r8, qword [rsp + 0x78]
mov rcx, r12
mov rdx, rdi
call fcn.140164460
test eax, eax
je 0x14022a01d
mov eax, dword [0x14026b5b4]
mov ebx, dword [rsp + 0x80]
cmp dword [r12 + 0x68], ebx
jge 0x140229bae
cmp qword [rdi + 8], 1
je 0x140229bae
mov rdi, qword [rsp + 0x50]
mov ebx, dword [rsp + 0x80]
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xd8], 0
mov rdx, qword [rdi + 0x18]
mov dword [r12 + 0x68], ebx
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xf0], 0
movzx ecx, byte [rdx + 2]
movzx edx, byte [rdx + 3]
shl ecx, 8
lea ebx, [rcx + rdx]
mov dword [rsp + 0x68], ebx
lea ebp, [rbx + 1]
test eax, eax
jne 0x14022a0d1
call fcn.14015c230
test eax, eax
jne 0x14022a985
call fcn.1401a0eb0
test eax, eax
jne 0x14022a985
mov eax, dword [rsp + 0x68]
lea esi, [rax + 2]
and esi, 0x3fffe
mov rcx, rsi
shl rcx, 6
call fcn.140160470
mov r14, rax
test rax, rax
je 0x14022a985
lea rbx, [rsi + rsi*2]
shl rsi, 2
mov r15, qword [rsp + 0x78]
mov r11, r14
shl rbx, 4
xor edi, edi
add rbx, rax
lea r13, [rbx + rsi]
lea rax, [r13 + rsi]
mov rsi, r14
mov qword [rsp + 0x38], rax
movsxd rax, ebp
mov qword [rsp + 0x40], rax
mov eax, edi
cmp dword [rsp + 0x68], edi
je 0x14022a6d3
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x20], r11
mov r9d, edi
movzx edx, byte [r12 + 0x27]
movzx ecx, byte [r12 + 0x25]
mov dword [rsp + 0x58], edi
mov r8, qword [rax + 0x18]
call fcn.140161180
mov eax, dword [rsp + 0x58]
mov dword [rbx + rdi*4], eax
movzx r8d, byte [r12 + 0x24]
test r8d, r8d
je 0x14022a3c2
movzx r9d, byte [r12 + 0x26]
xor eax, eax
lea rcx, [rsp + 0xd0]
jmp 0x140229b83
movd xmm7, edx
pxor xmm1, xmm1
movd xmm6, r10d
cvtss2sd xmm1, xmm7
addsd xmm1, xmm0
pxor xmm0, xmm0
cvtss2sd xmm0, xmm6
addsd xmm0, xmm1
movsd qword [rcx + rax*8], xmm0
add rax, 1
cmp r8d, eax
jle 0x14022a3c2
movsd xmm0, qword [rcx + rax*8]
mov edx, dword [r11 + rax*8 + 8]
mov r10d, dword [r11 + rax*8 + 0xc]
test r9b, r9b
je 0x140229b50
pxor xmm1, xmm1
cvtsi2sd xmm1, edx
addsd xmm1, xmm0
pxor xmm0, xmm0
cvtsi2sd xmm0, r10d
jmp 0x140229b6d
mov rdi, qword [rsp + 0x50]
mov rdx, qword [rdi + 0x18]
movzx ebx, byte [rdx + 2]
movzx esi, byte [rdx + 3]
test eax, eax
jne 0x14022a73d
call fcn.14015c230
test eax, eax
jne 0x140229fc9
call fcn.1401a0eb0
test eax, eax
jne 0x140229fc9
movzx eax, bl
movzx edx, sil
shl eax, 8
lea r15d, [rax + rdx]
lea eax, [r15 + 1]
mov dword [rsp + 0x38], r15d
movsxd rdi, eax
mov dword [rsp + 0x68], eax
lea rsi, [rdi + rdi*2]
lea rcx, [rdi + rsi*4]
shl rcx, 2
call fcn.140160470
mov r14, rax
test rax, rax
je 0x140229fc9
shl rsi, 4
lea r8, [rdi*4]
xor edx, edx
movsxd rbx, r15d
mov rcx, rsi
mov qword [rsp + 0x98], r8
mov rsi, r14
add rcx, rax
call sub.msvcrt.dll_memset
xor r11d, r11d
test r15d, r15d
je 0x140229c7e
mov edi, dword [rsp + 0x38]
mov rbp, qword [rsp + 0x50]
mov qword [rsp + 0x20], rsi
movzx edx, byte [r12 + 0x27]
mov r9d, r11d
add r11d, 1
movzx ecx, byte [r12 + 0x25]
mov r8, qword [rbp + 0x18]
add rsi, 0x30
call fcn.140161180
cmp edi, r11d
jne 0x140229c54
mov rdi, qword [rsp + 0x50]
mov eax, dword [r12 + 0x20]
xor edx, edx
lea r8d, [rax - 2]
mov rax, qword [rdi + 0x18]
movsxd r8, r8d
lea rcx, [rax + 2]
mov qword [rsp + 0x40], rax
call sub.msvcrt.dll_memset
mov rsi, qword [rsp + 0x78]
lea rax, [rbx + rbx*2]
mov dword [rdi + 0x14], 1
shl rax, 4
movdqu xmm7, xmmword [rsi]
add rax, r14
movups xmmword [rax], xmm7
movdqu xmm7, xmmword [rsi + 0x10]
movups xmmword [rax + 0x10], xmm7
movdqu xmm7, xmmword [rsi + 0x20]
movups xmmword [rax + 0x20], xmm7
cmp qword [rdi + 8], 1
movaps xmmword [rsp + 0x40], xmm7
je 0x14022a9a3
mov rdi, qword [rsp + 0x50]
mov rcx, r12
mov rdx, qword [rdi]
call fcn.1401a4850
add dword [rdi + 0x10], 1
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x58], rdi
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x14022aa47
mov rdi, qword [rsp + 0x40]
test rdi, rdi
je 0x14022a998
mov rcx, qword [rax + 0x18]
movsxd r8, dword [r12 + 0x20]
xor edx, edx
call sub.msvcrt.dll_memset
mov rcx, qword [rdi + 0x18]
movsxd r8, dword [r12 + 0x20]
xor edx, edx
call sub.msvcrt.dll_memset
mov r9d, dword [0x14026b5b4]
movzx ebx, byte [r12 + 0x24]
test r9d, r9d
jne 0x14022a990
call fcn.14015c230
test eax, eax
jne 0x14022a7f2
call fcn.1401a0eb0
test eax, eax
jne 0x14022a7f2
mov eax, dword [rsp + 0x38]
lea esi, [rax + 3]
lea rax, [rbx + 1]
movsxd rsi, esi
imul rsi, rax
shl rsi, 2
mov rcx, rsi
call fcn.140160470
mov qword [rsp + 0x88], rax
mov r13, rax
test rax, rax
je 0x14022a7f2
movzx edx, byte [r12 + 0x24]
mov r15d, dword [rsp + 0x68]
mov r8, rsi
mov rcx, r13
mov rax, rdx
imul edx, r15d
shl rax, 3
movsxd rdx, edx
lea rbx, [rax + rdx*4]
xor edx, edx
call sub.msvcrt.dll_memset
movzx eax, byte [r12 + 0x24]
add rbx, r13
test al, al
je 0x14022aa2d
xor ebp, ebp
xor edi, edi
movsxd rsi, r15d
lea rdx, [rbp + rax*8]
mov r9d, edi
xor eax, eax
add rdx, r13
mov qword [r13 + rdi*8], rdx
nop dword [rax + rax]
mov dword [rdx + rax*4], eax
add rax, 1
cmp rsi, rax
jne 0x140229df8
mov qword [rsp + 0x28], rbx
mov r8d, dword [rsp + 0x68]
mov rcx, r12
add rdi, 1
mov qword [rsp + 0x20], r14
call fcn.14015bd50
movzx eax, byte [r12 + 0x24]
add rbp, qword [rsp + 0x98]
movzx edx, al
cmp edx, edi
jg 0x140229de1
test al, al
je 0x14022aa2d
movzx eax, byte [r12 + 0x27]
pxor xmm7, xmm7
mov dword [rsp + 0x84], 0
mov dword [rsp + 0x94], 0
mov ebx, dword [r12 + 0x20]
movapd xmm10, xmm7
mov dword [rsp + 0x90], 0
mov r15, qword [rsp + 0x88]
mov r13d, eax
movsd xmm8, qword [0x1403d01a0]
lea eax, [rbx - 4]
cdq
idiv r13d
movsxd rdx, eax
sar eax, 0x1f
imul rdx, rdx, 0x55555556
shr rdx, 0x20
mov esi, edx
sub esi, eax
sub eax, edx
add eax, dword [rsp + 0x68]
cmp esi, eax
jg 0x14022a84d
movzx r11d, byte [r12 + 0x25]
movzx r10d, byte [r12 + 0x26]
movapd xmm9, xmm7
mov dword [rsp + 0x6c], 0
mov rax, qword [rsp + 0x98]
movapd xmm6, xmm7
movapd xmm5, xmm7
lea rbp, [rsp + 0xa0]
lea rdi, [rsp + 0xd0]
sub rax, 4
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x38]
sub eax, 2
mov qword [rsp + 0x70], rax
nop dword [rax]
mov rax, qword [r15]
mov rcx, qword [rsp + 0x60]
movsxd rax, dword [rax]
lea rax, [rax + rax*2]
shl rax, 4
add rax, r14
movdqu xmm2, xmmword [rax]
movaps xmmword [rbp], xmm2
movdqu xmm2, xmmword [rax + 0x10]
movaps xmmword [rbp + 0x10], xmm2
movdqu xmm4, xmmword [rax + 0x20]
movaps xmmword [rbp + 0x20], xmm4
mov rax, qword [r15]
movsxd rax, dword [rax + rcx]
lea rax, [rax + rax*2]
shl rax, 4
add rax, r14
cmp dword [rsp + 0x38], 1
movdqu xmm2, xmmword [rax]
movaps xmmword [rdi], xmm2
movdqu xmm4, xmmword [rax + 0x10]
movaps xmmword [rdi + 0x10], xmm4
movdqu xmm2, xmmword [rax + 0x20]
movaps xmmword [rdi + 0x20], xmm2
jle 0x14022a104
mov edx, r10d
xor r13d, r13d
mov r10, qword [rsp + 0x70]
mov ecx, r11d
jmp 0x140229fa0
mov r8, rbp
call fcn.140160eb0
movzx ecx, byte [r12 + 0x25]
movzx edx, byte [r12 + 0x26]
cmp r10, r13
je 0x14022a0f0
mov r13, rbx
mov rax, qword [r15]
lea rbx, [r13 + 1]
movsxd rax, dword [rax + r13*4 + 4]
lea r9, [rax + rax*2]
lea eax, [r13 + 1]
shl r9, 4
add r9, r14
cmp eax, esi
jl 0x140229f80
mov r8, rdi
call fcn.140160eb0
jmp 0x140229f88
xor r14d, r14d
mov r13d, 7
mov rcx, r14
call fcn.14015d2f0
nop
movaps xmm6, xmmword [rsp + 0x100]
mov eax, r13d
movaps xmm7, xmmword [rsp + 0x110]
movaps xmm8, xmmword [rsp + 0x120]
movaps xmm9, xmmword [rsp + 0x130]
movaps xmm10, xmmword [rsp + 0x140]
add rsp, 0x158
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rsi, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x50]
mov rcx, r12
mov r8, rsi
mov rdx, rdi
call fcn.1401633f0
mov r13d, eax
test eax, eax
jne 0x140229fdb
mov eax, dword [rsp + 0x80]
mov rbx, qword [rdi + 8]
mov r8, qword [rsi]
test eax, eax
jne 0x14022a9ec
mov rcx, qword [r12 + 0x90]
mov edx, 1
call fcn.14019c2f0
mov rcx, qword [r12 + 0x90]
mov r8, rbx
mov edx, 2
call fcn.14019c2f0
mov rcx, qword [r12 + 0x90]
call fcn.1401fac20
mov rcx, qword [r12 + 0x90]
movaps xmm6, xmmword [rsp + 0x100]
movaps xmm7, xmmword [rsp + 0x110]
movaps xmm8, xmmword [rsp + 0x120]
movaps xmm9, xmmword [rsp + 0x130]
movaps xmm10, xmmword [rsp + 0x140]
add rsp, 0x158
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.1401cb7f0
mfence
jmp 0x140229a9f
mov rcx, r12
call fcn.140222d40
jmp 0x1402299c1
movzx eax, byte [r12 + 0x27]
mov ebx, dword [r12 + 0x20]
mov r10d, edx
mov r11d, ecx
mov r13d, eax
mov r8, rbp
mov edx, r10d
mov ecx, r11d
call fcn.140160f30
mov r8, rdi
mov edx, r10d
mov ecx, r11d
addsd xmm5, xmm0
call fcn.140160f30
addsd xmm5, xmm0
test r11b, r11b
je 0x14022a668
movzx ecx, r11b
mov rax, rdi
movapd xmm2, xmm8
mov rdx, rbp
sub ecx, 1
shr ecx, 1
lea r8, [rsp + rcx*8 + 0xd8]
jmp 0x14022a196
movd xmm1, ecx
movd xmm4, r9d
pxor xmm0, xmm0
pxor xmm3, xmm3
maxss xmm1, xmm4
cvtss2sd xmm0, dword [rdx + 0xc]
cvtss2sd xmm3, dword [rax + 0xc]
minsd xmm0, xmm3
cvtss2sd xmm1, xmm1
comisd xmm1, xmm0
ja 0x14022a1d0
subsd xmm0, xmm1
add rax, 8
add rdx, 8
mulsd xmm2, xmm0
cmp r8, rax
je 0x14022a3b5
mov r9d, dword [rax + 8]
mov ecx, dword [rdx + 8]
test r10b, r10b
je 0x14022a150
cmp r9d, ecx
jl 0x14022a3a8
pxor xmm1, xmm1
cvtsi2sd xmm1, r9d
pxor xmm0, xmm0
pxor xmm3, xmm3
cvtsi2sd xmm0, dword [rdx + 0xc]
cvtsi2sd xmm3, dword [rax + 0xc]
minsd xmm0, xmm3
comisd xmm1, xmm0
jbe 0x14022a17d
movapd xmm3, xmm7
movzx ecx, byte [r12 + 0x24]
mov r8, rbp
mov edx, r10d
call fcn.140160fb0
mov r8, rdi
mov edx, r10d
movapd xmm4, xmm0
call fcn.140160fb0
lea eax, [rbx - 4]
cdq
addsd xmm4, xmm0
idiv r13d
movsxd rdx, eax
mov r9d, eax
imul r8, rdx, 0x55555556
sar r9d, 0x1f
shr r8, 0x20
sub r8d, r9d
cmp r8d, esi
je 0x14022a231
comisd xmm6, xmm3
ja 0x14022a231
ucomisd xmm3, xmm6
jp 0x14022a23e
jne 0x14022a23e
comisd xmm9, xmm4
jbe 0x14022a23e
mov dword [rsp + 0x6c], esi
movapd xmm9, xmm4
movapd xmm6, xmm3
imul rdx, rdx, 0x55555556
sar eax, 0x1f
add esi, 1
shr rdx, 0x20
sub eax, edx
add eax, dword [rsp + 0x68]
cmp esi, eax
jle 0x140229f00
mov eax, dword [rsp + 0x90]
test eax, eax
je 0x14022a648
comisd xmm10, xmm5
jbe 0x14022a28a
mov edi, dword [rsp + 0x6c]
mov dword [rsp + 0x94], eax
movapd xmm10, xmm5
mov dword [rsp + 0x84], edi
add dword [rsp + 0x90], 1
mov eax, dword [rsp + 0x90]
add r15, 8
cmp eax, ecx
jl 0x140229e85
movsxd rax, dword [rsp + 0x94]
mov rbx, qword [rsp + 0x88]
movsxd rdx, dword [rsp + 0x84]
lea rsi, [rbx + rax*8]
shl rdx, 2
mov rax, qword [rsi]
movsxd rbp, dword [rsp + 0x68]
xor ebx, ebx
lea r13, [rsp + 0xa0]
movsxd rax, dword [rax]
lea rax, [rax + rax*2]
shl rax, 4
add rax, r14
movdqu xmm7, xmmword [rax]
movaps xmmword [rsp + 0xa0], xmm7
movdqu xmm7, xmmword [rax + 0x10]
movaps xmmword [rsp + 0xb0], xmm7
movdqu xmm7, xmmword [rax + 0x20]
movaps xmmword [rsp + 0xc0], xmm7
mov rax, qword [rsi]
movsxd rax, dword [rax + rdx]
lea rax, [rax + rax*2]
shl rax, 4
add rax, r14
movdqu xmm6, xmmword [rax]
movaps xmmword [rsp + 0xd0], xmm6
movdqu xmm7, xmmword [rax + 0x10]
movaps xmmword [rsp + 0xe0], xmm7
movdqu xmm6, xmmword [rax + 0x20]
movaps xmmword [rsp + 0xf0], xmm6
jmp 0x14022a390
mov rdx, qword [rsp + 0x40]
lea rdi, [rsp + 0xd0]
mov rax, qword [rsi]
mov rcx, r12
movsxd rax, dword [rax + rbx*4]
add rbx, 1
lea r8, [rax + rax*2]
shl r8, 4
add r8, r14
call fcn.140164460
movzx edx, byte [r12 + 0x26]
movzx ecx, byte [r12 + 0x25]
mov r9, r8
mov r8, rdi
call fcn.140160eb0
cmp rbp, rbx
je 0x14022a745
cmp dword [rsp + 0x84], ebx
jle 0x14022a345
mov rdx, qword [rsp + 0x58]
mov rdi, r13
jmp 0x14022a352
pxor xmm1, xmm1
cvtsi2sd xmm1, ecx
jmp 0x14022a1b4
addsd xmm2, xmm7
movapd xmm3, xmm2
jmp 0x14022a1d4
add rdi, 1
add r11, 0x30
cmp qword [rsp + 0x40], rdi
jne 0x140229af6
test r8d, r8d
je 0x14022a410
pxor xmm0, xmm0
lea edx, [r8 - 1]
lea rax, [rsp + 0xd0]
cvtsi2sd xmm0, ebp
lea rdx, [rsp + rdx*8 + 0xd8]
addsd xmm0, xmm0
movsd xmm1, qword [rax]
add rax, 8
divsd xmm1, xmm0
movsd qword [rax - 8], xmm1
cmp rdx, rax
jne 0x14022a3fa
movsxd rax, ebp
mov r11, qword [rsp + 0x38]
pxor xmm7, xmm7
lea r9, [rsp + 0xd0]
lea rdi, [rax + rax*2]
shl rdi, 4
add rdi, r14
mov qword [r11], 0
test r8d, r8d
je 0x14022a4a2
movzx ecx, byte [r12 + 0x26]
xor eax, eax
movapd xmm2, xmm7
jmp 0x14022a47d
movd xmm6, edx
pxor xmm0, xmm0
pxor xmm1, xmm1
cvtss2sd xmm0, xmm6
movd xmm6, r10d
cvtss2sd xmm1, xmm6
subsd xmm0, xmm1
subsd xmm0, qword [r9 + rax*8]
add rax, 1
mulsd xmm0, xmm0
addsd xmm2, xmm0
cmp r8d, eax
jle 0x14022a49d
mov edx, dword [rsi + rax*8 + 0xc]
mov r10d, dword [rsi + rax*8 + 8]
test cl, cl
je 0x14022a449
pxor xmm0, xmm0
pxor xmm1, xmm1
cvtsi2sd xmm0, edx
cvtsi2sd xmm1, r10d
jmp 0x14022a462
movsd qword [r11], xmm2
add rsi, 0x30
add r11, 8
cmp rdi, rsi
jne 0x14022a42f
mov r8, qword [rsp + 0x38]
mov r9, r13
mov edx, ebp
mov rcx, rbx
xor esi, esi
call fcn.14015bf20
mov eax, dword [r12 + 0x20]
mov rdi, qword [rsp + 0x50]
xor edx, edx
lea r8d, [rax - 2]
mov rax, qword [rdi + 0x18]
movsxd r8, r8d
lea rcx, [rax + 2]
mov qword [rsp + 0x38], rax
call sub.msvcrt.dll_memset
mov dword [rdi + 0x14], 1
mov eax, dword [r12 + 0x20]
movzx ecx, byte [r12 + 0x27]
sub eax, 4
cdq
idiv ecx
movsxd rdx, eax
sar eax, 0x1f
imul rdx, rdx, 0x55555556
shr rdx, 0x20
sub edx, eax
mov eax, dword [rsp + 0x68]
sub eax, edx
cmp eax, esi
jle 0x14022a584
movsxd rax, esi
lea r13, [rbx + rax*4]
movsxd rax, dword [r13]
mov rdx, rdi
mov rcx, r12
add esi, 1
lea r8, [rax + rax*2]
shl r8, 4
add r8, r14
call fcn.140164460
mov rax, qword [rsp + 0x78]
mov r8, qword [r8]
cmp r8, qword [rax]
je 0x14022a672
mov eax, dword [r12 + 0x20]
movzx ecx, byte [r12 + 0x27]
add r13, 4
sub eax, 4
cdq
idiv ecx
movsxd rdx, eax
sar eax, 0x1f
imul rdx, rdx, 0x55555556
shr rdx, 0x20
sub edx, eax
mov eax, dword [rsp + 0x68]
sub eax, edx
cmp eax, esi
jg 0x14022a524
mov rdx, qword [rsp + 0x50]
mov rcx, r12
call fcn.140165630
mov r13d, eax
cmp ebp, esi
jle 0x140229fd2
test eax, eax
jne 0x140229fd2
mov r15d, dword [rsp + 0x80]
movsxd rsi, esi
lea rdi, [rsp + 0xa0]
movsxd rax, dword [rbx + rsi*4]
mov r9, rdi
mov r8d, r15d
mov rcx, r12
lea rbp, [rax + rax*2]
shl rbp, 4
add rbp, r14
mov rdx, rbp
call fcn.1402296f0
mov r13d, eax
test eax, eax
jne 0x140229fd2
mov rdx, qword [rsp + 0xa0]
mov r8, rbp
mov r9d, r15d
mov rcx, r12
call fcn.140229910
mov rdx, qword [rsp + 0xa0]
mov ebp, eax
test rdx, rdx
je 0x14022a618
sub dword [rdx + 0x10], 1
jne 0x14022a618
mov rcx, r12
call fcn.140222d40
mov r13d, eax
test ebp, ebp
je 0x14022a624
mov r13d, ebp
jmp 0x140229fd2
test r13d, r13d
sete dl
cmp dword [rsp + 0x68], esi
setg al
add rsi, 1
test dl, al
jne 0x14022a5b7
jmp 0x140229fd2
mov eax, dword [rsp + 0x6c]
movapd xmm10, xmm5
mov dword [rsp + 0x94], 0
mov dword [rsp + 0x84], eax
jmp 0x14022a28a
movapd xmm3, xmm8
jmp 0x14022a1d4
mov edx, dword [rsp + 0x80]
mov r13, qword [rdi + 8]
test edx, edx
jne 0x14022a6f7
mov rcx, qword [r12 + 0x90]
mov edx, 1
call fcn.14019c2f0
mov rcx, qword [r12 + 0x90]
mov r8, r13
mov edx, 2
call fcn.14019c2f0
mov rcx, qword [r12 + 0x90]
call fcn.1401fac20
mov rcx, qword [r12 + 0x90]
call fcn.1401cb7f0
mov r13d, eax
test r13d, r13d
je 0x14022a4ef
jmp 0x140229fd2
movdqu xmm7, xmmword [r15]
movups xmmword [r11], xmm7
movdqu xmm6, xmmword [r15 + 0x10]
movups xmmword [r11 + 0x10], xmm6
movdqu xmm7, xmmword [r15 + 0x20]
movups xmmword [r11 + 0x20], xmm7
jmp 0x140229b2c
mov rcx, qword [r12 + 0xa8]
mov edx, 1
call fcn.14019c2f0
mov rcx, qword [r12 + 0xa8]
mov r8, r13
mov edx, 2
call fcn.14019c2f0
mov rcx, qword [r12 + 0xa8]
call fcn.1401fac20
mov rcx, qword [r12 + 0xa8]
call fcn.1401cb7f0
mov r13d, eax
jmp 0x14022a6c5
mfence
jmp 0x140229be1
mov rcx, qword [rsp + 0x88]
call fcn.14015d2f0
mov rax, qword [rsp + 0x40]
mov r8d, dword [rax + 0x14]
test r8d, r8d
je 0x14022a778
mov rdx, qword [rsp + 0x40]
mov rcx, r12
call fcn.140222c10
mov r13d, eax
test eax, eax
jne 0x14022a7f8
mov rax, qword [rsp + 0x58]
mov rdx, qword [rax + 8]
test rdx, rdx
jne 0x14022a796
mov rdi, qword [rsp + 0x58]
mov ecx, dword [rdi + 0x14]
test ecx, ecx
jne 0x14022aab1
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 8]
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x58]
mov r10, qword [rax]
mov rax, qword [rsp + 0x50]
cmp qword [rax + 8], 1
je 0x14022aa81
mov rax, qword [r10 + 0x18]
movzx ecx, byte [rax + 2]
movzx r8d, byte [rax + 3]
shl ecx, 8
add ecx, r8d
je 0x14022aa76
movzx r11d, byte [r12 + 0x27]
add rax, 4
xor r8d, r8d
jmp 0x14022a874
mov r13d, 7
mov rsi, qword [rsp + 0x40]
mov eax, dword [rsi + 0x10]
mov dword [rsp + 0x68], eax
sub eax, 1
mov dword [rsi + 0x10], eax
jne 0x14022a825
mov rdx, qword [rsp + 0x40]
mov rcx, r12
call fcn.140222d40
cmp qword [rsp + 0x58], 0
je 0x140229fd2
mov rdi, qword [rsp + 0x58]
mov eax, dword [rdi + 0x10]
mov dword [rsp + 0x68], eax
sub eax, 1
mov dword [rdi + 0x10], eax
jne 0x140229fd2
mov rdx, rdi
mov rcx, r12
call fcn.140222d40
jmp 0x140229fd2
mov dword [rsp + 0x6c], 0
movzx ecx, byte [r12 + 0x24]
movapd xmm5, xmm7
jmp 0x14022a25d
add r8d, 1
add rax, r11
cmp ecx, r8d
je 0x14022aa76
mov r9, qword [rax]
bswap r9
cmp r9, rdx
jne 0x14022a864
bswap rdx
mov qword [rax], rdx
xor edx, edx
cmp byte [r12 + 0x25], 0
lea rdi, [rsp + 0xa0]
je 0x14022a8af
mov ecx, dword [rdi + rdx*4 + 8]
bswap ecx
mov dword [rax + rdx*4 + 8], ecx
movzx ecx, byte [r12 + 0x25]
add rdx, 1
cmp ecx, edx
jg 0x14022a897
mov dword [r10 + 0x14], 1
mov r8, rdi
mov rdx, r10
mov rcx, r12
call fcn.1401633f0
mov r13d, eax
test eax, eax
jne 0x14022a7f8
mov eax, dword [rsp + 0x80]
lea ebx, [rax + 1]
mov rbp, qword [rsp + 0x40]
mov r9d, ebx
lea r8, [rsp + 0xd0]
mov rcx, r12
mov rdx, qword [rbp]
call fcn.140229910
mov r13d, eax
test eax, eax
jne 0x14022a7f8
mov rdx, qword [rbp + 0x18]
movzx eax, byte [rdx + 2]
movzx ecx, byte [rdx + 3]
shl eax, 8
add eax, ecx
je 0x14022ab2c
xor edi, edi
xor esi, esi
mov ebx, 1
jmp 0x14022a93f
mov rdx, qword [rbp + 0x18]
add esi, 1
movzx eax, byte [rdx + 2]
movzx ecx, byte [rdx + 3]
shl eax, 8
add eax, ecx
cmp esi, eax
jge 0x14022aad0
movzx eax, byte [r12 + 0x27]
mov r9d, dword [rsp + 0x80]
mov r8, rbp
mov rcx, r12
imul eax, esi
add eax, 4
cdqe
mov r15, qword [rdx + rax]
bswap r15
mov rdx, r15
call fcn.140222f90
mov r13d, eax
mov rax, qword [rsp + 0x78]
mov r10, qword [rax]
cmp r15, r10
cmove edi, ebx
test r13d, r13d
je 0x14022a923
jmp 0x14022a7f8
mov r13d, 7
jmp 0x140229fdb
mfence
jmp 0x140229d6d
mov r13d, 7
jmp 0x14022a819
mov rdi, qword [rsp + 0x50]
mov rcx, r12
mov rdx, rdi
call fcn.1401a4850
mov rdx, rdi
mov rcx, r12
mov qword [rsp + 0x40], rax
call fcn.1401a4850
mov rdx, qword [rdi + 0x18]
mov qword [rsp + 0x58], rax
mov eax, dword [r12 + 0x2c]
add eax, 1
mov dword [r12 + 0x2c], eax
rol ax, 8
mov dword [rdi + 0x14], 1
mov word [rdx], ax
jmp 0x140229d01
mov rcx, qword [r12 + 0xa8]
mov edx, 1
call fcn.14019c2f0
mov rcx, qword [r12 + 0xa8]
mov r8, rbx
mov edx, 2
call fcn.14019c2f0
mov rcx, qword [r12 + 0xa8]
call fcn.1401fac20
mov rcx, qword [r12 + 0xa8]
jmp 0x14022a08e
mov dword [rsp + 0x84], 0
mov rsi, qword [rsp + 0x88]
xor edx, edx
jmp 0x14022a2c5
cmp qword [rsp + 0x40], 0
je 0x14022a998
mov rdi, qword [rsp + 0x40]
mov eax, dword [rdi + 0x10]
mov dword [rsp + 0x68], eax
sub eax, 1
mov dword [rdi + 0x10], eax
jne 0x14022a998
mov r13d, 7
jmp 0x14022a80c
mov r13d, 0x10b
jmp 0x14022a7f8
mov eax, dword [rsp + 0x80]
lea r8, [rsp + 0xa0]
mov rdx, r10
mov rcx, r12
lea ebx, [rax + 1]
mov r9d, ebx
call fcn.140229910
mov r13d, eax
test eax, eax
je 0x14022a8da
jmp 0x14022a7f8
mov rdx, rdi
mov rcx, r12
call fcn.140222c10
mov r13d, eax
test eax, eax
jne 0x14022a7f8
mov rdx, qword [rdi + 8]
jmp 0x14022a796
mov rax, qword [rsp + 0x50]
cmp qword [rax + 8], 1
je 0x14022ab85
test edi, edi
je 0x14022ab40
mov rbx, qword [rsp + 0x40]
mov eax, dword [rbx + 0x10]
mov dword [rsp + 0x68], eax
sub eax, 1
mov dword [rbx + 0x10], eax
jne 0x14022ab10
mov rdx, qword [rsp + 0x40]
mov rcx, r12
call fcn.140222d40
mov r13d, eax
test eax, eax
jne 0x14022a825
mov rdi, qword [rsp + 0x58]
mov eax, dword [rdi + 0x10]
mov dword [rsp + 0x68], eax
sub eax, 1
mov dword [rdi + 0x10], eax
je 0x14022ab70
xor r13d, r13d
jmp 0x140229fd2
mov rax, qword [rsp + 0x50]
cmp qword [rax + 8], 1
je 0x14022ab85
mov rax, qword [rsp + 0x78]
mov r10, qword [rax]
mov r9d, dword [rsp + 0x80]
mov r8, qword [rsp + 0x58]
mov rdx, r10
mov rcx, r12
call fcn.140222f90
mov r13d, eax
test eax, eax
jne 0x14022a7f8
jmp 0x14022aae4
mov rdx, qword [rsp + 0x58]
mov rcx, r12
call fcn.140222d40
mov r13d, eax
jmp 0x140229fd2
mov rax, qword [rsp + 0x58]
xor ebx, ebx
mov rsi, qword [rsp + 0x58]
mov rdx, qword [rax + 0x18]
movzx eax, byte [rdx + 2]
movzx ecx, byte [rdx + 3]
shl eax, 8
add eax, ecx
jne 0x14022abcc
jmp 0x14022aae4
mov rdx, qword [rsi + 0x18]
add ebx, 1
movzx eax, byte [rdx + 2]
movzx ecx, byte [rdx + 3]
shl eax, 8
add eax, ecx
cmp ebx, eax
jge 0x14022aae4
movzx eax, byte [r12 + 0x27]
mov r9d, dword [rsp + 0x80]
mov r8, rsi
mov rcx, r12
imul eax, ebx
add eax, 4
cdqe
mov rdx, qword [rdx + rax]
bswap rdx
call fcn.140222f90
mov r13d, eax
test eax, eax
je 0x14022abb0
jmp 0x14022a7f8