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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x358
movapd xmmword [rsp + 0x340], xmm15
movapd xmmword [rsp + 0x330], xmm14
movapd xmmword [rsp + 0x320], xmm13
movapd xmmword [rsp + 0x310], xmm12
movapd xmmword [rsp + 0x300], xmm11
movapd xmmword [rsp + 0x2f0], xmm10
movapd xmmword [rsp + 0x2e0], xmm9
movapd xmmword [rsp + 0x2d0], xmm8
movapd xmmword [rsp + 0x2c0], xmm7
movapd xmmword [rsp + 0x2b0], xmm6
mov rdi, rcx
mov ebp, dword [rsp + 0x3c0]
movabs rcx, 0x8000000000000000
cmp ebp, 0xffff
ja 0x14002ab0a
mov r14d, dword [rsp + 0x3c8]
cmp r14d, 0x10000
jb 0x14002ab25
and qword [rdi + 0x20], 0
movabs rax, 0x8000000000000006
mov qword [rdi], rax
mov qword [rdi + 8], rcx
jmp 0x14002cad6
mov rbx, rdx
lea rsi, [rsp + 0x298]
mov rcx, rsi
mov rdx, r8
mov r8, r9
call fcn.14001a88b
mov rcx, qword [rsi + 8]
mov r9, qword [rsi + 0x10]
mov eax, ebp
mov r8d, r14d
imul r8, rax
lea rax, [r8*4]
mov qword [rsp + 0x290], rax
mov qword [rsp + 0x198], r9
cmp rax, r9
jne 0x14002d152
mov qword [rsp + 0x148], r9
and r9, 0xfffffffffffffffc
xor edx, edx
mov qword [rsp + 0x138], rcx
mov rax, rcx
mov qword [rsp + 0x130], r9
mov rcx, r9
add rax, 4
add rcx, 0xfffffffffffffffc
cmp rcx, 0xfffffffffffffffc
je 0x14002abca
cmp byte [rax - 1], 0
je 0x14002abae
mov byte [rax - 1], 0xff
jmp 0x14002ab94
movzx edx, byte [rax - 4]
movzx r9d, word [rax - 3]
shl r9d, 8
or r9d, edx
mov dword [rsp + 0x158], r9d
mov dl, 1
jmp 0x14002ab94
mov dword [rsp + 0x12c], edx
mov qword [rsp + 0x288], r8
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x1d8], rdi
call fcn.140019460
movupd xmm6, xmmword [0x140072200]
lea rsi, [rsp + 0x1c0]
movapd xmmword [rsi - 0x20], xmm6
movupd xmm7, xmmword [0x140072210]
movapd xmmword [rsi - 0x10], xmm7
mov qword [rsi], rax
mov qword [rsi + 8], rdx
xor r12d, r12d
lea rdi, [rsp + 0xf0]
lea rbx, [rsp + 0x1a0]
lea r13, [rsp + 0x1e8]
lea rbp, case.0x140006536.104
lea r14, [rsp + 0x50]
xor r15d, r15d
cmp qword [rsp + 0x130], r12
je 0x14002ad42
mov rax, qword [rsp + 0x138]
mov eax, dword [rax + r12]
mov dword [rsp + 0xf0], eax
mov rcx, qword [rsp + 0x1c0]
mov rdx, qword [rsp + 0x1c8]
mov r8, rdi
call fcn.140018bdf
mov r15, rax
mov qword [rsp + 0x1e8], rdi
cmp qword [rsp + 0x1b0], 0
je 0x14002ad32
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x58], rbx
mov rcx, qword [rsp + 0x1a0]
mov rdx, qword [rsp + 0x1a8]
mov qword [rsp + 0x20], rbp
mov r8, r15
mov r9, r14
call fcn.140018fb9
test rax, rax
je 0x14002ad0e
mov rcx, qword [rsp + 0x1a0]
mov r8d, dword [rsp + 0xf0]
movzx r9d, byte [rcx + rdx]
and r9d, 1
sub qword [rsp + 0x1b0], r9
shr r15, 0x39
lea r9, [rdx - 0x10]
and r9, qword [rsp + 0x1a8]
mov byte [rcx + rdx], r15b
mov byte [rcx + r9 + 0x10], r15b
inc qword [rsp + 0x1b8]
shl rdx, 2
neg rdx
mov dword [rcx + rdx - 4], r8d
add r12, 4
mov r15, qword [rsp + 0x1b8]
test rax, rax
je 0x14002ac3e
cmp r15, 0x101
jb 0x14002ac3e
jmp 0x14002ad9e
mov rcx, rbx
mov rdx, rsi
call fcn.140057f5a
jmp 0x14002ac91
mov rdi, qword [rsp + 0x1a0]
mov r9, qword [rsp + 0x1a8]
lea rbx, [rdi + r9]
inc rbx
movdqa xmm0, xmmword [rdi]
pmovmskb ebp, xmm0
not ebp
lea r14, [rdi + 0x10]
test r9, r9
je 0x14002bb17
inc r9
lea rsi, [rsp + 0x50]
mov edx, 4
mov r8d, 0x10
mov rcx, rsi
call fcn.140018df2
mov rax, qword [rsi]
mov rdx, qword [rsi + 8]
mov r8, rdi
sub r8, qword [rsi + 0x10]
jmp 0x14002bb19
mov ecx, 8
mov edx, 0x2000
call fcn.14000a14b
test rax, rax
je 0x14002d248
mov rbx, rax
mov ecx, 4
mov edx, 0x1000
call fcn.14000a14b
test rax, rax
je 0x14002d257
mov r14, rax
mov ecx, 8
mov edx, 0x800
mov r8b, 1
call fcn.14000a10f
test rax, rax
je 0x14002d266
mov r15d, 0x100
lea rsi, [rsp + 0x98]
mov qword [rsi - 0x18], r15
mov qword [rsi - 0x10], rax
mov qword [rsi - 8], r15
mov rcx, rsi
call fcn.14000a3fe
lea rdi, [rsp + 0xb0]
mov rcx, rdi
call fcn.14000a3fe
mov qword [rdi - 0x60], r15
mov qword [rdi - 0x58], rbx
lea rbx, [rsp + 0x68]
mov qword [rbx], r15
mov qword [rbx + 8], r14
mov dword [rbx + 0x68], 1
mov qword [rbx + 0x60], r15
and qword [rbx - 8], 0
and qword [rbx + 0x10], 0
and qword [rbx + 0x40], 0
and qword [rbx + 0x58], 0
xor r15d, r15d
movdqa xmm7, xmmword [0x14005a660]
movapd xmm8, xmmword [0x14005a670]
movsd xmm9, qword [0x14005a680]
movsd xmm10, qword [0x14005a688]
movsd xmm11, qword [0x14005a690]
lea r14, [rsp + 0x50]
movapd xmm12, xmmword [0x14005a6a0]
movsd xmm6, qword [0x14005a6b0]
cmp r15, 0x100
je 0x14002af83
movq xmm13, r15
punpckldq xmm13, xmm7
subpd xmm13, xmm8
haddpd xmm13, xmm13
movapd xmm14, xmm13
mulsd xmm14, xmm9
mulsd xmm13, xmm10
cmp r15, 0x10
jb 0x14002aed4
movapd xmm13, xmm11
movq xmm15, qword [rsp + 0xc8]
mov r12, qword [rsp + 0x60]
cmp r12, qword [rsp + 0x50]
jne 0x14002aef2
mov rcx, r14
call fcn.14000a153
punpckldq xmm15, xmm7
subpd xmm15, xmm8
haddpd xmm15, xmm15
divsd xmm14, xmm15
mov rax, qword [rsp + 0x58]
mov rcx, r12
shl rcx, 5
movsd qword [rax + rcx], xmm14
movsd qword [rax + rcx + 8], xmm14
movsd qword [rax + rcx + 0x10], xmm14
movsd qword [rax + rcx + 0x18], xmm13
inc r12
mov qword [rsp + 0x60], r12
mov r12, qword [rsp + 0x78]
cmp r12, qword [rsp + 0x68]
jne 0x14002af49
mov rcx, rbx
call fcn.14000a203
mov rax, qword [rsp + 0x70]
mov rcx, r12
shl rcx, 4
movupd xmmword [rax + rcx], xmm12
inc r12
mov qword [rsp + 0x78], r12
mov rcx, rdi
movapd xmm1, xmm6
call fcn.14000a4a6
xorpd xmm1, xmm1
mov rcx, rsi
call fcn.14000a4a6
inc r15
jmp 0x14002ae99
mov r14, qword [rsp + 0xc8]
mov ecx, 8
mov eax, r14d
cdq
idiv ecx
mov esi, eax
movsxd r8, dword [rsp + 0xd0]
lea eax, [r8 - 1]
mov ecx, 3
cdq
idiv ecx
cmp r8d, 1
jb 0x14002d275
mov edi, eax
shl esi, 6
mov r13, qword [rsp + 0x148]
shr r13, 2
xor ecx, ecx
mov rax, r13
xor edx, edx
div r8
mov rdx, r14
shr rdx, 1
cmp r14, 0xca
mov r8d, 0x64
cmovae r8, rdx
mov edx, 1
mov qword [rsp + 0x150], rdx
mov qword [rsp + 0xe0], rax
cmp r8, rax
mov r11, qword [rsp + 0x138]
ja 0x14002b01f
mov rax, qword [rsp + 0xe0]
xor edx, edx
div r8
mov qword [rsp + 0x150], rax
add edi, 0x1e
mov ebx, esi
sar ebx, 6
cmp ebx, 2
cmovl ebx, ecx
lea r8, [0x14005b1d0]
xor r9d, r9d
mov dword [rsp + 0x48], esi
cmp r9, 0x20
je 0x14002b067
mov r10, qword [r9 + r8]
test r10, r10
je 0x14002d125
add r9, 8
mov rax, r13
xor edx, edx
div r10
test rdx, rdx
je 0x14002b03b
lea rcx, [r9 + r8]
add rcx, 0xfffffffffffffff8
test rcx, rcx
lea rax, [0x14005b1e8]
cmovne rax, rcx
mov rax, qword [rax]
add rax, r13
mov qword [rsp + 0x140], rax
mov r8d, 0x400
movsd xmm7, qword [0x14005a6b8]
lea rbp, [0x14005b110]
movapd xmm9, xmmword [0x14005a6e0]
xor esi, esi
xor r10d, r10d
mov dword [rsp + 0x1e0], edi
mov dword [rsp + 0x190], r8d
cvtsi2sd xmm10, r8d
mulsd xmm10, xmm7
cvtsi2sd xmm6, ebx
mulsd xmm6, xmm6
mov qword [rsp + 0x40], rbx
movsd qword [rsp + 0xe8], xmm10
cmp r10, qword [rsp + 0xe0]
jae 0x14002b609
lea rcx, [rsi*4]
mov rdx, qword [rsp + 0x148]
sub rdx, rcx
jb 0x14002d0f5
mov qword [rsp + 0x38], r10
cmp rdx, 3
jbe 0x14002d109
movzx eax, byte [r11 + rcx]
cvtsi2sd xmm13, eax
movzx eax, byte [r11 + rcx + 1]
cvtsi2sd xmm14, eax
movzx eax, byte [r11 + rcx + 2]
cvtsi2sd xmm15, eax
movzx eax, byte [r11 + rcx + 3]
cvtsi2sd xmm8, eax
mov r12d, 0xffffffff
xor edi, edi
mov r15d, 0xffffffff
movsd xmm10, qword [0x14005a6d0]
movapd xmm7, xmm10
cmp r14, rdi
je 0x14002b2f3
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
mov r8, rdi
mov r9, rbp
call fcn.14000a440
movsd xmm11, qword [rax]
addsd xmm11, xmm7
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov r8, rdi
lea r9, [0x14005b128]
call fcn.14000a45e
movsd xmm0, qword [rax]
movsd xmm1, qword [rax + 0x10]
subsd xmm1, xmm15
andpd xmm1, xmm9
subsd xmm0, xmm13
andpd xmm0, xmm9
addsd xmm0, xmm1
ucomisd xmm10, xmm0
ja 0x14002b1d5
ucomisd xmm11, xmm0
ja 0x14002b1d5
movapd xmm12, xmm7
movapd xmm11, xmm10
jmp 0x14002b245
movsd xmm1, qword [rax + 8]
movsd xmm12, qword [rax + 0x18]
subsd xmm1, xmm14
andpd xmm1, xmm9
addsd xmm0, xmm1
subsd xmm12, xmm8
andpd xmm12, xmm9
addsd xmm12, xmm0
ucomisd xmm10, xmm12
cmova r15d, edi
movapd xmm11, xmm12
minsd xmm11, xmm10
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
mov r8, rdi
lea r9, [0x14005b140]
call fcn.14000a440
subsd xmm12, qword [rax]
ucomisd xmm7, xmm12
jbe 0x14002b240
mov r12d, edi
jmp 0x14002b245
movapd xmm12, xmm7
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xc0]
mov r8, rdi
lea r9, [0x14005b158]
call fcn.14000a440
movsd xmm7, qword [rax]
mulsd xmm7, qword [0x14005a6f0]
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xc0]
mov r8, rdi
lea r9, [0x14005b170]
call fcn.14000a440
addsd xmm7, qword [rax]
movsd qword [rax], xmm7
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xc0]
mov r8, rdi
lea r9, [0x14005b188]
call fcn.14000a440
movsd xmm7, qword [rax]
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
mov r8, rdi
lea r9, [0x14005b1a0]
call fcn.14000a440
addsd xmm7, qword [rax]
movsd qword [rax], xmm7
inc rdi
movapd xmm7, xmm12
movapd xmm10, xmm11
jmp 0x14002b153
movsxd rdi, r15d
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xc0]
mov r8, rdi
lea r9, [0x14005b0e0]
call fcn.14000a440
movsd xmm0, qword [rax]
movsd xmm7, qword [0x14005a6b8]
addsd xmm0, xmm7
movsd qword [rax], xmm0
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
mov r8, rdi
lea r9, [0x14005b0f8]
call fcn.14000a440
movsd xmm0, qword [rax]
addsd xmm0, qword [0x14005a6f8]
movsd qword [rax], xmm0
movsxd r8, r12d
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
lea r9, [0x14005b098]
call fcn.14000a45e
movsd xmm0, qword [rax + 0x10]
movapd xmm1, xmm0
subsd xmm1, xmm15
movsd xmm10, qword [rsp + 0xe8]
mulsd xmm1, xmm10
subsd xmm0, xmm1
movsd qword [rax + 0x10], xmm0
movsd xmm0, qword [rax]
movsd xmm1, qword [rax + 8]
movapd xmm2, xmm1
subsd xmm2, xmm14
mulsd xmm2, xmm10
subsd xmm1, xmm2
movsd qword [rax + 8], xmm1
movapd xmm1, xmm0
subsd xmm1, xmm13
mulsd xmm1, xmm10
subsd xmm0, xmm1
movsd qword [rax], xmm0
movsd xmm0, qword [rax + 0x18]
movapd xmm1, xmm0
subsd xmm1, xmm8
mulsd xmm1, xmm10
subsd xmm0, xmm1
movsd qword [rax + 0x18], xmm0
test ebx, ebx
jle 0x14002b56a
mov edi, r12d
mov rax, qword [rsp + 0x40]
sub edi, eax
xor r15d, r15d
test edi, edi
cmovle edi, r15d
lea ebp, [r12 + rax]
cmp ebp, r14d
cmovge ebp, r14d
lea ebx, [r12 + 1]
dec r12d
cmp ebx, ebp
jl 0x14002b424
cmp r12d, edi
jle 0x14002b56a
cvtsi2sd xmm0, r15d
mulsd xmm0, xmm0
movapd xmm12, xmm6
subsd xmm12, xmm0
mulsd xmm12, xmm10
divsd xmm12, xmm6
cmp ebx, ebp
jge 0x14002b4d2
movsxd r8, ebx
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
lea r9, [0x14005b0b0]
call fcn.14000a45e
movsd xmm0, qword [rax + 0x10]
movapd xmm1, xmm0
subsd xmm1, xmm15
mulsd xmm1, xmm12
subsd xmm0, xmm1
movsd qword [rax + 0x10], xmm0
movsd xmm0, qword [rax]
movsd xmm1, qword [rax + 8]
movapd xmm2, xmm1
subsd xmm2, xmm14
mulsd xmm2, xmm12
subsd xmm1, xmm2
movsd qword [rax + 8], xmm1
movapd xmm1, xmm0
subsd xmm1, xmm13
mulsd xmm1, xmm12
subsd xmm0, xmm1
movsd qword [rax], xmm0
movsd xmm0, qword [rax + 0x18]
movapd xmm1, xmm0
subsd xmm1, xmm8
mulsd xmm1, xmm12
subsd xmm0, xmm1
movsd qword [rax + 0x18], xmm0
inc ebx
inc r15d
cmp r12d, edi
jle 0x14002b417
mov r8d, r12d
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
lea r9, [0x14005b0c8]
call fcn.14000a45e
movsd xmm0, qword [rax + 0x10]
movapd xmm1, xmm0
subsd xmm1, xmm15
mulsd xmm1, xmm12
subsd xmm0, xmm1
movsd qword [rax + 0x10], xmm0
movsd xmm0, qword [rax]
movsd xmm1, qword [rax + 8]
movapd xmm2, xmm1
subsd xmm2, xmm14
mulsd xmm2, xmm12
subsd xmm1, xmm2
movsd qword [rax + 8], xmm1
movapd xmm1, xmm0
subsd xmm1, xmm13
mulsd xmm1, xmm12
subsd xmm0, xmm1
movsd qword [rax], xmm0
movsd xmm0, qword [rax + 0x18]
movapd xmm1, xmm0
subsd xmm1, xmm8
mulsd xmm1, xmm12
subsd xmm0, xmm1
movsd qword [rax + 0x18], xmm0
jmp 0x14002b414
add rsi, qword [rsp + 0x140]
sub rsi, r13
cmp rsi, r13
jae 0x14002b572
mov r10, qword [rsp + 0x38]
inc r10
mov rax, r10
xor edx, edx
div qword [rsp + 0x150]
test rdx, rdx
mov r11, qword [rsp + 0x138]
mov edi, dword [rsp + 0x1e0]
mov rbx, qword [rsp + 0x40]
lea rbp, [0x14005b110]
jne 0x14002b0d6
test edi, edi
je 0x14002d281
cmp edi, 0xffffffff
mov r8d, dword [rsp + 0x190]
jne 0x14002b5d5
cmp r8d, 0x80000000
je 0x14002d28d
mov eax, r8d
cdq
idiv edi
sub r8d, eax
mov ecx, dword [rsp + 0x48]
mov eax, ecx
cdq
mov r9d, 0xffffffe2
idiv r9d
add ecx, eax
mov dword [rsp + 0x48], ecx
mov ebx, ecx
sar ebx, 6
cmp ebx, 2
mov eax, 0
cmovl ebx, eax
jmp 0x14002b0ad
xor ebx, ebx
movsd xmm6, qword [0x14005a6c0]
movsd xmm7, qword [0x14005a6c8]
mov r15d, 0xff
lea rbp, [0x14005b2e0]
lea rsi, [0x14005b2f8]
xor edi, edi
cmp r14, rdi
je 0x14002b7d4
lea r12, [rdi + 1]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov r8, rdi
lea r9, [0x14005b250]
call fcn.14000a45e
movsd xmm0, qword [rax + 0x10]
call sub.api_ms_win_crt_math_l1_1_0.dll_round
ucomisd xmm0, xmm0
maxsd xmm0, xmm6
minsd xmm0, xmm7
cvttsd2si eax, xmm0
cmovp eax, ebx
cmp eax, r15d
mov r13d, 0xff
cmovb r13d, eax
test eax, eax
cmovs r13d, ebx
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov r8, rdi
lea r9, [0x14005b268]
call fcn.14000a482
mov dword [rax + 8], r13d
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov r8, rdi
lea r9, [0x14005b280]
call fcn.14000a45e
movsd xmm0, qword [rax + 8]
call sub.api_ms_win_crt_math_l1_1_0.dll_round
ucomisd xmm0, xmm0
maxsd xmm0, xmm6
minsd xmm0, xmm7
cvttsd2si eax, xmm0
cmovp eax, ebx
cmp eax, r15d
mov r13d, 0xff
cmovb r13d, eax
test eax, eax
cmovs r13d, ebx
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov r8, rdi
lea r9, [0x14005b298]
call fcn.14000a482
mov dword [rax + 4], r13d
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov r8, rdi
lea r9, [0x14005b2b0]
call fcn.14000a45e
movsd xmm0, qword [rax]
call sub.api_ms_win_crt_math_l1_1_0.dll_round
ucomisd xmm0, xmm0
maxsd xmm0, xmm6
minsd xmm0, xmm7
cvttsd2si eax, xmm0
cmovp eax, ebx
cmp eax, r15d
mov r13d, 0xff
cmovb r13d, eax
test eax, eax
cmovs r13d, ebx
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov r8, rdi
lea r9, [0x14005b2c8]
call fcn.14000a482
mov dword [rax], r13d
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov r8, rdi
mov r9, rbp
call fcn.14000a45e
movsd xmm0, qword [rax + 0x18]
call sub.api_ms_win_crt_math_l1_1_0.dll_round
ucomisd xmm0, xmm0
maxsd xmm0, xmm6
minsd xmm0, xmm7
cvttsd2si eax, xmm0
cmovp eax, ebx
cmp eax, r15d
mov r13d, 0xff
cmovb r13d, eax
test eax, eax
cmovs r13d, ebx
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov r8, rdi
mov r9, rsi
call fcn.14000a482
mov dword [rax + 0xc], r13d
mov rdi, r12
jmp 0x14002b631
xor r13d, r13d
lea rbx, [0x14005b3d0]
xor eax, eax
mov qword [rsp + 0xe8], rax
xor r15d, r15d
lea rdi, [r13 + 1]
cmp r13, r14
je 0x14002b958
mov r12, r13
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov r8, r13
lea r9, [0x14005b340]
call fcn.14000a482
mov ecx, dword [rax]
mov dword [rsp + 0x38], ecx
mov ecx, dword [rax + 4]
mov rax, qword [rax + 8]
mov qword [rsp + 0xe0], rax
mov dword [rsp + 0x40], ecx
movsxd rsi, ecx
mov r13, rdi
mov rbp, r12
cmp r13, r14
jae 0x14002b864
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov r8, r13
mov r9, rbx
call fcn.14000a482
movsxd rax, dword [rax + 4]
cmp rsi, rax
cmova rbp, r13
cmovae rsi, rax
inc r13
jmp 0x14002b836
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov r8, rbp
lea r9, [0x14005b358]
call fcn.14000a482
cmp r12, rbp
je 0x14002b8d5
movupd xmm6, xmmword [rax]
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov r8, r12
lea r9, [0x14005b370]
call fcn.14000a482
movupd xmmword [rax], xmm6
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov r8, rbp
lea r9, [0x14005b388]
call fcn.14000a482
mov ecx, dword [rsp + 0x38]
mov dword [rax], ecx
mov ecx, dword [rsp + 0x40]
mov dword [rax + 4], ecx
mov rcx, qword [rsp + 0xe0]
mov qword [rax + 8], rcx
lea r13, [r12 + 1]
inc rdi
cmp rsi, r15
je 0x14002b7ef
mov rdi, qword [rsp + 0xe8]
add rdi, r12
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x90]
mov r8, r15
lea r9, [0x14005b3a0]
call fcn.14000a440
shr rdi, 1
mov qword [rax], rdi
inc r15
lea rdi, [0x14005b3b8]
cmp r15, rsi
jae 0x14002b948
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x90]
mov r8, r15
mov r9, rdi
call fcn.14000a440
mov qword [rax], r12
inc r15
jmp 0x14002b920
mov qword [rsp + 0xe8], r12
mov r15, rsi
jmp 0x14002b7eb
mov rax, qword [rsp + 0xe8]
lea rsi, [rax + r14]
dec rsi
dec r14
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x90]
lea r9, [0x14005b310]
mov r8, r15
call fcn.14000a440
shr rsi, 1
mov qword [rax], rsi
inc r15
lea rdi, [0x14005b328]
mov rbx, qword [rsp + 0x138]
cmp r15, 0xff
ja 0x14002b9cd
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x90]
mov r8, r15
mov r9, rdi
call fcn.14000a440
mov qword [rax], r14
inc r15
jmp 0x14002b9a1
lea rcx, [rsp + 0x1e8]
lea rdx, [rsp + 0x50]
mov r8d, 0x88
call sub.VCRUNTIME140.dll_memcpy
lea rsi, [rsp + 0xf0]
mov r8d, 4
mov rcx, rsi
mov rdx, qword [rsp + 0x130]
call fcn.140018e38
cmp qword [rsi + 8], 0
je 0x14002d195
mov rdx, qword [rsp + 0x100]
lea rsi, [rsp + 0x50]
mov rcx, rsi
call fcn.1400086eb
cmp qword [rsi], 0
mov rsi, qword [rsi + 8]
movabs r15, 0x8000000000000000
jne 0x14002d1a3
lea rdi, [rsp + 0x50]
mov r14, qword [rdi + 0x10]
mov qword [rsp + 0x160], rsi
mov qword [rsp + 0x168], r14
and qword [rsp + 0x170], 0
mov r8d, 4
mov rcx, rdi
mov rdx, qword [rsp + 0x130]
call fcn.140018e38
cmp qword [rdi + 8], 0
je 0x14002d1b0
mov r8, qword [rsp + 0x60]
cmp r8, rsi
ja 0x14002cb88
xor ebp, ebp
xor edi, edi
lea rsi, [rsp + 0x1e8]
cmp qword [rsp + 0x130], rdi
je 0x14002bacc
mov r9b, byte [rbx + rdi]
mov r8b, byte [rbx + rdi + 1]
mov dl, byte [rbx + rdi + 2]
mov al, byte [rbx + rdi + 3]
mov byte [rsp + 0x20], al
mov rcx, rsi
call fcn.14000a517
mov byte [r14 + rbp], al
inc rbp
add rdi, 4
jmp 0x14002ba98
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x260]
test rax, rax
je 0x14002bd18
lea rdi, [rax + rax*2]
test rdi, rdi
js 0x14002d292
mov esi, 1
mov ecx, 1
mov rdx, rdi
call fcn.14000a14b
test rax, rax
jne 0x14002bd1f
jmp 0x14002d294
xor eax, eax
lea rcx, [rsp + 0x1e8]
mov qword [rcx], rax
mov qword [rcx + 8], rdx
mov qword [rcx + 0x10], r8
mov qword [rcx + 0x18], rdi
mov qword [rcx + 0x20], r14
mov qword [rcx + 0x28], rbx
mov word [rcx + 0x30], bp
mov qword [rcx + 0x38], r15
call fcn.140018ee0
mov rsi, rax
test sil, 1
jne 0x14002bb6a
lea rcx, [rsp + 0x1e8]
call fcn.140018f57
mov r14d, 1
xor ebp, ebp
xor edi, edi
jmp 0x14002beef
mov rax, qword [rsp + 0x220]
inc rax
mov rcx, 0xffffffffffffffff
cmovne rcx, rax
cmp rcx, 5
mov ebp, 4
cmovae rbp, rcx
shr rcx, 0x3d
lea rdi, [rbp*4]
test rcx, rcx
jne 0x14002d299
mov ebx, 1
mov ecx, 1
mov rdx, rdi
call fcn.1400088d2
test rax, rax
je 0x14002d29b
mov r14, rax
shr rsi, 8
mov dword [rax], esi
movdqu xmm0, xmmword [rsp + 0x1e8]
movupd xmm1, xmmword [rsp + 0x1f8]
movupd xmm2, xmmword [rsp + 0x208]
movups xmm3, xmmword [rsp + 0x218]
lea rbx, [rsp + 0x50]
movaps xmmword [rbx + 0x30], xmm3
movapd xmmword [rbx + 0x20], xmm2
movapd xmmword [rbx + 0x10], xmm1
movdqa xmmword [rbx], xmm0
mov edi, 1
mov rsi, 0xffffffffffffffff
xor eax, eax
mov qword [rsp + 0x38], rax
lea r15, [rsp + 0x160]
lea r12, [rsp + 0xf0]
mov rcx, rbx
call fcn.140018ee0
mov r13, rax
test r13b, 1
je 0x14002bce4
cmp rdi, rbp
jne 0x14002bcd4
mov rax, qword [rsp + 0x88]
inc rax
cmove rax, rsi
add rax, rdi
jb 0x14002d131
lea rcx, [rdi + rdi]
cmp rcx, rax
cmova rax, rcx
cmp rax, 5
mov ebp, 4
cmovae rbp, rax
xor edx, edx
shr rax, 0x3d
sete al
test rdi, rdi
je 0x14002bc9e
lea rcx, [rdi*4]
mov qword [rsp + 0xf0], r14
mov qword [rsp + 0x100], rcx
mov ecx, 1
jmp 0x14002bca0
xor ecx, ecx
lea r8, [rbp*4]
mov dl, al
mov qword [rsp + 0xf8], rcx
mov rcx, r15
mov r9, r12
call fcn.14000884e
cmp qword [rsp + 0x160], 0
jne 0x14002d133
mov r14, qword [rsp + 0x168]
shr r13, 8
mov dword [r14 + rdi*4], r13d
inc rdi
jmp 0x14002bc23
lea rcx, [rsp + 0x50]
call fcn.140018f57
cmp rdi, 2
jb 0x14002beef
cmp rdi, 0x15
jae 0x14002bedf
mov r8d, 1
mov rcx, r14
mov rdx, rdi
call fcn.14001970e
jmp 0x14002beef
mov eax, 1
xor edi, edi
lea rsi, [rsp + 0x50]
mov qword [rsi], rdi
mov qword [rsi + 8], rax
and qword [rsi + 0x10], 0
mov rdi, qword [rsp + 0x208]
mov rbx, qword [rsp + 0x210]
shl rbx, 4
mov r12, rdi
test rbx, rbx
je 0x14002bd80
lea r13, [r12 + 0x10]
mov dl, byte [r12]
mov rcx, rsi
call fcn.14000a4e4
mov dl, byte [r12 + 4]
mov rcx, rsi
call fcn.14000a4e4
mov dl, byte [r12 + 8]
mov rcx, rsi
call fcn.14000a4e4
add rbx, 0xfffffffffffffff0
mov r12, r13
jmp 0x14002bd47
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x140], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x190], rax
mov r12d, dword [rsp + 0x12c]
test r12b, r12b
je 0x14002bddd
mov r9d, dword [rsp + 0x158]
mov r8d, r9d
shr r8d, 8
mov edx, r9d
shr edx, 0x10
mov byte [rsp + 0x20], 0
lea rcx, [rsp + 0x1e8]
call fcn.14000a517
mov rsi, rax
jmp 0x14002bddd
mov rbx, qword [rsp + 0x30]
lea rcx, [rsp + 0x50]
and word [rcx + 0x32], 0
mov byte [rcx + 0x3e], 1
mov byte [rcx + 0x30], 0
and qword [rcx + 0x34], 0
and word [rcx + 0x3c], 0
mov qword [rcx], r15
mov qword [rcx + 0x18], r15
mov qword [rcx + 0x20], 1
and qword [rcx + 0x28], 0
call fcn.14001a473
mov r8, qword [rsp + 0x1e8]
test r8, r8
je 0x14002be3a
shl r8, 5
mov rcx, qword [rsp + 0x1f0]
mov edx, 8
call fcn.14000891a
mov r8, qword [rsp + 0x200]
test r8, r8
je 0x14002be58
shl r8, 4
mov edx, 4
mov rcx, rdi
call fcn.14000891a
cmp qword [rsp + 0x218], 0
je 0x14002be75
mov rcx, qword [rsp + 0x220]
mov edx, 8
call fcn.140008050
mov rcx, qword [rsp + 0x230]
mov rdx, qword [rsp + 0x238]
call fcn.14001a413
mov rcx, qword [rsp + 0x248]
mov rdx, qword [rsp + 0x250]
call fcn.14001a413
mov r9, qword [rsp + 0x1a8]
test r9, r9
je 0x14002c520
inc r9
lea rdi, [rsp + 0x50]
mov edx, 4
mov r8d, 0x10
mov rcx, rdi
call fcn.140018df2
mov rdx, qword [rdi]
mov r8, qword [rdi + 8]
mov rcx, qword [rsp + 0x1a0]
jmp 0x14002c517
lea r8, [rsp + 0x50]
mov rcx, r14
mov rdx, rdi
call fcn.1400197ae
lea rdx, [rsp + 0x50]
and qword [rdx], 0
and qword [rdx + 0x20], 0
lea rsi, [r14 + rdi*4]
mov qword [rdx + 0x40], r14
mov qword [rdx + 0x48], rsi
lea rbx, [rsp + 0xf0]
mov rcx, rbx
call fcn.140018e6a
xor eax, eax
cmp qword [rbx + 8], rax
je 0x14002d1be
mov rdx, qword [rsp + 0x100]
lea rbx, [rsp + 0x1e8]
mov rcx, rbx
call fcn.1400086eb
cmp qword [rbx], 0
mov rbx, qword [rbx + 8]
jne 0x14002d1f5
lea r15, [rsp + 0x1e8]
mov r12, qword [r15 + 0x10]
mov qword [rsp + 0x160], rbx
mov qword [rsp + 0x168], r12
and qword [rsp + 0x170], 0
lea rdx, [rsp + 0x50]
mov rcx, r15
call fcn.140018e6a
cmp qword [r15 + 8], 0
je 0x14002d205
lea r15, [rsp + 0x170]
mov r8, qword [rsp + 0x1f8]
cmp r8, rbx
ja 0x14002cb42
xor eax, eax
mov qword [rsp + 0xf0], r15
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], r12
test r14, r14
je 0x14002c01f
test rdi, rdi
je 0x14002c01f
xor r12d, r12d
lea rbx, [rsp + 0xf0]
lea r15, [rsp + 0x1e8]
movzx ecx, byte [r14 + r12*4]
movzx eax, word [r14 + r12*4 + 1]
and qword [rsp + 0x1e8], 0
mov qword [rsp + 0x1f0], 3
mov byte [rsp + 0x1fa], ah
shl eax, 8
or eax, ecx
mov word [rsp + 0x1f8], ax
mov rcx, rbx
mov rdx, r15
call fcn.1400189f2
inc r12
cmp rdi, r12
jne 0x14002bfd8
lea rdi, [rsp + 0x110]
mov rax, qword [rdi - 0x20]
mov rcx, qword [rdi - 0x18]
mov qword [rax], rcx
lea rcx, [rsp + 0x160]
mov rax, qword [rcx]
mov qword [rsp + 0x48], rax
mov rax, qword [rcx + 8]
mov qword [rsp + 0x140], rax
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x190], rax
lea r15, [rsp + 0x1e8]
mov qword [r15], r14
mov qword [r15 + 8], r14
mov qword [r15 + 0x10], rbp
mov qword [r15 + 0x18], rsi
mov byte [r15 + 0x3a], 0xff
and word [r15 + 0x38], 0
pxor xmm0, xmm0
movdqu xmmword [r15 + 0x20], xmm0
and qword [r15 + 0x30], 0
call fcn.140019460
movapd xmmword [rdi - 0x20], xmm6
movapd xmmword [rdi - 0x10], xmm7
mov qword [rdi], rax
mov qword [rdi + 8], rdx
lea rsi, [rsp + 0x50]
mov rcx, rsi
mov rdx, r15
call fcn.140018f6d
mov rdx, qword [rsi]
lea rcx, [rsp + 0xf0]
mov r8, rdi
call fcn.140018fae
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmm2, xmmword [r15 + 0x20]
movups xmm3, xmmword [r15 + 0x30]
movaps xmmword [rsi], xmm0
movaps xmmword [rsi + 0x30], xmm3
movaps xmmword [rsi + 0x10], xmm1
movaps xmmword [rsi + 0x20], xmm2
mov rcx, qword [rsi + 8]
mov r15b, byte [rsi + 0x38]
mov dil, byte [rsi + 0x39]
mov rax, qword [rsi + 0x18]
mov qword [rsp + 0x40], rax
mov al, byte [rsi + 0x3a]
mov byte [rsp + 0xe0], al
mov r12d, r15d
mov rsi, rcx
lea rcx, [rsp + 0x160]
lea rdx, [rsp + 0x50]
call fcn.140018f6d
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x1e0], rax
cmp rax, 1
mov eax, edi
mov ebx, 0
sbb rbx, rbx
or rbx, qword [rsp + 0x170]
mov dword [rsp + 0x150], edi
mov ecx, r12d
mov dword [rsp + 0x38], ecx
mov qword [rsp + 0xe8], rsi
mov rcx, rsi
sub rbx, 1
jb 0x14002c2e7
mov rdx, qword [rsp + 0x40]
mov r13, rdx
cmp rcx, rdx
je 0x14002c185
mov r14d, dword [rcx]
add rcx, 4
mov qword [rsp + 0xe8], rcx
mov r13, rcx
cmp byte [rsp + 0x38], 0
jne 0x14002c1c1
cmp al, byte [rsp + 0xe0]
ja 0x14002c1c1
mov bpl, 1
mov sil, 1
mov edi, eax
mov cl, 1
mov dword [rsp + 0x38], ecx
jae 0x14002c1c9
lea ecx, [rax + 1]
mov dword [rsp + 0x38], 0
mov ebp, r15d
mov esi, r12d
mov dword [rsp + 0x150], ecx
mov edi, ecx
jmp 0x14002c1c9
mov ebp, r15d
mov esi, r12d
mov edi, eax
shl r14, 8
movzx eax, al
shl r14, 0x18
shrd r14, rax, 0x20
mov dword [rsp + 0x15c], r14d
mov rcx, qword [rsp + 0x110]
mov rdx, qword [rsp + 0x118]
lea r15, [rsp + 0x15c]
mov r8, r15
call fcn.140018bdf
mov r12, rax
mov qword [rsp + 0x270], r15
mov edx, 1
lea r15, [rsp + 0xf0]
mov rcx, r15
lea r8, [rsp + 0x110]
call fcn.140018fae
lea rax, [rsp + 0x270]
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x168], r15
mov rcx, qword [rsp + 0xf0]
mov rdx, qword [rsp + 0xf8]
lea rax, [0x1400190e0]
mov qword [rsp + 0x20], rax
mov r8, r12
lea r9, [rsp + 0x160]
call fcn.140018fb9
mov rcx, qword [rsp + 0xf0]
test rax, rax
je 0x14002c2c7
movzx eax, byte [rcx + rdx]
and eax, 1
sub qword [rsp + 0x100], rax
mov eax, dword [rsp + 0x15c]
shr r12, 0x39
lea r8, [rdx - 0x10]
and r8, qword [rsp + 0xf8]
mov byte [rcx + rdx], r12b
mov byte [rcx + r8 + 0x10], r12b
inc qword [rsp + 0x108]
neg rdx
lea rdx, [rdx + rdx*4]
shr r14, 0x20
mov byte [rcx + rdx - 1], r14b
mov dword [rcx + rdx - 5], eax
jmp 0x14002c2d7
shr r14, 0x20
neg rdx
lea rax, [rdx + rdx*4]
mov byte [rcx + rax - 1], r14b
mov r15d, ebp
mov r12d, esi
mov eax, edi
mov rcx, r13
jmp 0x14002c15c
mov rcx, qword [rsp + 0xe8]
mov qword [rsp + 0x58], rcx
mov byte [rsp + 0x88], r15b
mov edi, dword [rsp + 0x150]
mov byte [rsp + 0x89], dil
cmp qword [rsp + 0x1e0], 0
je 0x14002c108
mov r8, qword [rsp + 0x60]
test r8, r8
mov rbx, qword [rsp + 0x30]
je 0x14002c33c
mov rcx, qword [rsp + 0x50]
shl r8, 2
mov edx, 1
call fcn.14000891a
movapd xmm0, xmmword [rsp + 0xf0]
movapd xmm1, xmmword [rsp + 0x100]
movapd xmm2, xmmword [rsp + 0x110]
movapd xmmword [rsp + 0x160], xmm0
movapd xmmword [rsp + 0x170], xmm1
movapd xmmword [rsp + 0x180], xmm2
lea rsi, [rsp + 0x1e8]
mov r8d, 4
mov rcx, rsi
mov rdx, qword [rsp + 0x130]
call fcn.140018e38
cmp qword [rsi + 8], 0
movabs r15, 0x8000000000000000
mov r12d, dword [rsp + 0x12c]
je 0x14002d195
mov rdx, qword [rsp + 0x1f8]
lea rsi, [rsp + 0x50]
mov rcx, rsi
call fcn.1400086eb
cmp qword [rsi], 0
mov rsi, qword [rsi + 8]
jne 0x14002d1a3
lea rdi, [rsp + 0x50]
mov r14, qword [rdi + 0x10]
mov qword [rsp + 0xf0], rsi
mov qword [rsp + 0xf8], r14
and qword [rsp + 0x100], 0
mov r8d, 4
mov rcx, rdi
mov rdx, qword [rsp + 0x130]
call fcn.140018e38
cmp qword [rdi + 8], 0
je 0x14002d1b0
mov r8, qword [rsp + 0x60]
cmp r8, rsi
mov rcx, qword [rsp + 0x148]
ja 0x14002cb61
xor ebp, ebp
and rcx, 0xfffffffffffffffc
neg rcx
lea rsi, [rsp + 0x160]
test rcx, rcx
je 0x14002c474
mov rdx, qword [rsp + 0x138]
lea rdi, [rdx + 4]
mov r8d, 4
mov r13, rcx
mov rcx, rsi
call fcn.140018a4c
mov rcx, r13
mov byte [r14 + rbp], al
inc rbp
add rcx, 4
mov qword [rsp + 0x138], rdi
jmp 0x14002c43a
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x38], rax
test r12b, r12b
je 0x14002c4ab
lea rdx, [rsp + 0x50]
mov eax, dword [rsp + 0x158]
mov dword [rdx], eax
lea rcx, [rsp + 0x160]
mov r8d, 4
call fcn.140018a4c
mov esi, eax
jmp 0x14002c4ab
lea rcx, [rsp + 0x50]
and word [rcx + 0x32], 0
mov byte [rcx + 0x3e], 1
mov byte [rcx + 0x30], 0
and qword [rcx + 0x34], 0
and word [rcx + 0x3c], 0
mov qword [rcx], r15
mov qword [rcx + 0x18], r15
mov qword [rcx + 0x20], 1
and qword [rcx + 0x28], 0
call fcn.14001a473
mov r9, qword [rsp + 0x168]
test r9, r9
je 0x14002c520
inc r9
lea rdi, [rsp + 0x50]
mov edx, 5
mov r8d, 0x10
mov rcx, rdi
call fcn.140018df2
mov rdx, qword [rdi]
mov r8, qword [rdi + 8]
mov rcx, qword [rsp + 0x160]
sub rcx, qword [rdi + 0x10]
call fcn.14000891a
cmp qword [rbx], r15
jne 0x14002c785
mov rax, qword [rbx + 0x28]
and qword [rbx + 0x28], 0
test rax, rax
je 0x14002d23c
lea rdi, [rsp + 0x1e8]
mov qword [rdi + 0x18], rax
xor r13d, r13d
mov byte [rdi + 0x24], r13b
mov r12d, dword [rsp + 0x3c0]
mov word [rdi + 0x20], r12w
mov r15d, dword [rsp + 0x3c8]
mov word [rdi + 0x22], r15w
and qword [rdi], 0
mov qword [rdi + 8], 1
and qword [rdi + 0x10], 0
xorpd xmm0, xmm0
lea rbx, [rsp + 0x270]
movapd xmmword [rbx], xmm0
and qword [rbx + 0xd], 0
lea rdx, str.GIF89a
mov r8d, 6
mov rcx, rbx
call fcn.14001de1f
mov rcx, rbx
mov edx, r12d
call fcn.14001dea6
mov rcx, rbx
mov edx, r15d
call fcn.14001dea6
lea r12, [rsp + 0x198]
mov byte [r12], 0x80
mov r8d, 1
mov rcx, rbx
mov rdx, r12
call fcn.14001de1f
mov byte [r12], r13b
lea r12, [rsp + 0x198]
mov r8d, 1
mov rcx, rbx
mov rdx, r12
call fcn.14001de1f
mov byte [r12], r13b
lea rdx, [rsp + 0x198]
mov r8d, 1
mov rcx, rbx
call fcn.14001de1f
mov rcx, rdi
call fcn.14001dba4
movabs r12, 0x800000000000000a
test rax, rax
je 0x14002c631
movabs r15, 0x8000000000000000
jmp 0x14002c660
lea rax, [rsp + 0x278]
mov r8d, 0xd
mov rcx, rdx
mov rdx, rax
call fcn.14001a94b
mov rdx, rax
test rax, rax
movabs r15, 0x8000000000000000
je 0x14002c8c6
mov byte [rsp + 0xf8], 1
mov qword [rsp + 0x100], rdx
mov qword [rsp + 0xf0], r15
mov rbx, qword [rsp + 0x30]
lea rcx, [rsp + 0x1e8]
call fcn.14001deec
lea rdx, [rsp + 0xf8]
lea rdi, [rsp + 0x50]
mov rcx, rdi
call case.0x14001cb3c.112
mov rax, qword [rdi]
cmp rax, r12
jne 0x14002c818
mov rax, qword [rsp + 0x78]
movups xmm0, xmmword [rsp + 0x58]
movups xmm1, xmmword [rsp + 0x68]
movaps xmmword [rsp + 0x1a0], xmm0
movaps xmmword [rsp + 0x1b0], xmm1
mov qword [rsp + 0x1c0], rax
movzx eax, word [rbx + 0x30]
cmp ax, 2
je 0x14002c727
shl eax, 0x10
movzx ecx, word [rbx + 0x32]
shl rcx, 0x20
lea r8, [rcx + rax]
inc r8
lea rdi, [rsp + 0x1e8]
lea rdx, [rsp + 0x1a0]
mov rcx, rdi
call fcn.14001d951
lea rbx, [rsp + 0x50]
mov rcx, rbx
mov rdx, rdi
call fcn.14002e4d3
mov rax, qword [rbx]
cmp rax, r12
jne 0x14002c8f6
mov rbx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x1c0]
mov qword [rsp + 0x70], rax
movaps xmm0, xmmword [rsp + 0x1a0]
movaps xmm1, xmmword [rsp + 0x1b0]
movaps xmmword [rsp + 0x60], xmm1
movaps xmmword [rsp + 0x50], xmm0
mov rcx, rbx
call fcn.14002d2e8
mov rax, qword [rsp + 0x70]
mov qword [rbx + 0x20], rax
movapd xmm0, xmmword [rsp + 0x50]
movapd xmm1, xmmword [rsp + 0x60]
movupd xmmword [rbx + 0x10], xmm1
movupd xmmword [rbx], xmm0
cmp qword [rbx], r15
je 0x14002d2a6
mov r12d, dword [rsp + 0x12c]
cmp rbp, qword [rsp + 0x288]
jae 0x14002c7b7
lea rdx, [0x14006762c]
mov r8d, 0x2e
mov cl, 0x14
call fcn.14001952a
mov byte [rsp + 0x50], 1
mov qword [rsp + 0x58], rax
mov r15, qword [rsp + 0x48]
jmp 0x14002ca92
mov eax, r12d
or al, 8
movzx ecx, sil
shl ecx, 0x10
xor edx, edx
test r12b, r12b
cmovne rdx, rcx
movzx r8d, al
shl r8d, 8
or r8, rdx
lea rsi, [rsp + 0x50]
mov rcx, rsi
mov rdx, rbx
call fcn.14001d951
mov sil, byte [rsi]
cmp sil, 2
jne 0x14002c883
mov rax, qword [rsp + 0x48]
cmp rax, r15
mov r15, rax
jne 0x14002c8a6
xor esi, esi
cmp byte [rbx + 0x24], 0
je 0x14002ca75
xor ebx, ebx
jmp 0x14002c9b5
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x180], rcx
movups xmm0, xmmword [rsp + 0x58]
movups xmm1, xmmword [rsp + 0x68]
movaps xmmword [rsp + 0x170], xmm1
movaps xmmword [rsp + 0x160], xmm0
movups xmm0, xmmword [rsp + 0x80]
mov rdx, qword [rsp + 0x1d8]
movups xmmword [rdx + 0x30], xmm0
mov rcx, qword [rsp + 0x180]
mov qword [rdx + 0x28], rcx
movapd xmm0, xmmword [rsp + 0x160]
movapd xmm1, xmmword [rsp + 0x170]
movupd xmmword [rdx + 0x18], xmm1
movupd xmmword [rdx + 8], xmm0
mov qword [rdx], rax
jmp 0x14002c93b
mov al, byte [rsp + 0x51]
mov edx, dword [rsp + 0x52]
movzx ecx, word [rsp + 0x56]
shl rcx, 0x20
or rcx, rdx
mov r12, qword [rsp + 0x58]
mov r15, qword [rsp + 0x48]
jmp 0x14002ca77
mov r9, qword [rsp + 0x190]
cmp r9, 0x302
jbe 0x14002c945
xor eax, eax
xor ecx, ecx
xor esi, esi
jmp 0x14002ca77
lea rcx, [rsp + 0x1e8]
call fcn.14001dba4
test rax, rax
mov rbx, qword [rsp + 0x30]
je 0x14002cba7
mov byte [rsp + 0xf8], 1
mov qword [rsp + 0x100], rdx
jmp 0x14002cce8
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x1d8]
mov qword [rdx + 0x38], rcx
movupd xmm0, xmmword [rsp + 0x58]
movupd xmm1, xmmword [rsp + 0x68]
movupd xmm2, xmmword [rsp + 0x78]
movupd xmmword [rdx + 0x28], xmm2
movupd xmmword [rdx + 0x18], xmm1
movupd xmmword [rdx + 8], xmm0
mov qword [rdx], rax
lea rcx, [rsp + 0x1a0]
call fcn.14001deec
mov r15, qword [rsp + 0x48]
jmp 0x14002caa4
mov cx, 3
mov eax, r9d
xor edx, edx
div cx
movzx eax, ax
lea rcx, [rax + rax*2]
mov qword [rsp + 0x40], rcx
cmp rcx, r9
ja 0x14002d2b2
cmp rax, 3
mov ecx, 2
cmovae rcx, rax
mov edx, 0xff
cmp rcx, rdx
cmovae rcx, rdx
dec rcx
bsr rcx, rcx
not ecx
mov rdx, 0xffffffffffffffff
shr rdx, cl
mov edi, 2
inc rdx
bsf rsi, rdx
dec sil
mov ecx, esi
shl rdi, cl
sub rdi, rax
or sil, 0x80
mov rbx, qword [rsp + 0x140]
lea r12, [rsp + 0x50]
and word [r12 + 0x10], 0
xorpd xmm0, xmm0
movapd xmmword [r12], xmm0
lea r13, [rsp + 0x1e8]
mov byte [r13], 0x2c
mov r8d, 1
mov rcx, r12
mov rdx, r13
call fcn.14001dd0e
mov rcx, r12
xor edx, edx
call fcn.14001dd9d
mov rcx, r12
xor edx, edx
call fcn.14001dd9d
mov rcx, r12
mov edx, dword [rsp + 0x3c0]
call fcn.14001dd9d
mov rcx, r12
mov edx, dword [rsp + 0x3c8]
call fcn.14001dd9d
mov byte [r13], sil
lea rdx, [rsp + 0x1e8]
mov r8d, 1
mov rcx, r12
call fcn.14001dd0e
mov rcx, qword [rsp + 0x30]
call fcn.14001dba4
mov r12, rdx
test rax, rax
je 0x14002ca4c
mov sil, 1
jmp 0x14002ca73
lea rdx, [rsp + 0x58]
mov r8d, 0xa
mov rcx, r12
call fcn.14001a94b
test rax, rax
mov r9, qword [rsp + 0x40]
je 0x14002cc45
mov sil, 1
mov r12, rax
jmp 0x14002ca77
mov al, 1
mov byte [rsp + 0x51], al
mov dword [rsp + 0x52], ecx
shr rcx, 0x20
mov word [rsp + 0x56], cx
mov qword [rsp + 0x58], r12
mov byte [rsp + 0x50], sil
lea rdx, [rsp + 0x50]
mov rcx, qword [rsp + 0x1d8]
call fcn.14002e4d3
mov rcx, r15
mov rdx, qword [rsp + 0x140]
call fcn.14001d93d
mov rcx, qword [rsp + 0x38]
mov rdx, r14
call fcn.14001d93d
mov rcx, qword [rsp + 0x298]
mov rdx, qword [rsp + 0x2a0]
call fcn.14004d481
movaps xmm6, xmmword [rsp + 0x2b0]
movaps xmm7, xmmword [rsp + 0x2c0]
movaps xmm8, xmmword [rsp + 0x2d0]
movaps xmm9, xmmword [rsp + 0x2e0]
movaps xmm10, xmmword [rsp + 0x2f0]
movaps xmm11, xmmword [rsp + 0x300]
movaps xmm12, xmmword [rsp + 0x310]
movaps xmm13, xmmword [rsp + 0x320]
movaps xmm14, xmmword [rsp + 0x330]
movaps xmm15, xmmword [rsp + 0x340]
add rsp, 0x358
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rbx, [rsp + 0x160]
mov rcx, rbx
xor edx, edx
call fcn.140057426
mov r12, qword [rbx + 8]
mov rax, qword [rbx + 0x10]
jmp 0x14002bfa3
lea rsi, [rsp + 0xf0]
mov rcx, rsi
xor edx, edx
call fcn.140057426
mov rcx, qword [rsp + 0x148]
mov r14, qword [rsi + 8]
mov rbp, qword [rsi + 0x10]
jmp 0x14002c42b
lea rsi, [rsp + 0x160]
mov rcx, rsi
xor edx, edx
call fcn.140057426
mov r14, qword [rsi + 8]
mov rbp, qword [rsi + 0x10]
jmp 0x14002ba8e
mov qword [rsp + 0x20], 2
lea rdi, [rsp + 0x270]
mov r8d, 1
mov rcx, rdi
xor r9d, r9d
call fcn.14001ddbd
mov al, byte [rdi]
cmp al, 2
jne 0x14002ccc1
movupd xmm0, xmmword [rsp + 0x1e8]
movupd xmm1, xmmword [rsp + 0x1f8]
movapd xmmword [rsp + 0xf0], xmm0
movapd xmmword [rsp + 0x100], xmm1
mov rax, qword [rsp + 0x208]
mov qword [rsp + 0x110], rax
cmp qword [rsp + 0xf0], r15
je 0x14002c68a
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x78], rax
movapd xmm0, xmmword [rsp + 0xf0]
movapd xmm1, xmmword [rsp + 0x100]
movupd xmmword [rsp + 0x68], xmm1
movupd xmmword [rsp + 0x58], xmm0
jmp 0x14002c6ab
test rbx, rbx
je 0x14002cc72
mov qword [rsp + 0x20], rdi
lea rsi, [rsp + 0x1e8]
mov rcx, rsi
mov rdx, r12
mov r8, rbx
call fcn.14001ddbd
mov sil, byte [rsi]
cmp sil, 2
jne 0x14002ccf5
mov rdi, qword [rsp + 0x30]
and qword [rdi + 0x10], 0
mov r8, rbp
shr r8, 2
mov rax, qword [rdi]
cmp rax, r8
jae 0x14002cd22
mov rcx, rdi
xor edx, edx
call fcn.1400087ae
movabs rcx, 0x8000000000000001
cmp rax, rcx
je 0x14002cd1f
mov byte [rsp + 0x50], 1
movabs rax, 0x2600000003
mov qword [rsp + 0x58], rax
jmp 0x14002ca92
mov rcx, qword [rsp + 0x271]
mov rdx, qword [rsp + 0x278]
mov qword [rsp + 0x100], rdx
mov qword [rsp + 0xf9], rcx
mov byte [rsp + 0xf8], al
mov qword [rsp + 0xf0], r15
jmp 0x14002c67d
mov al, byte [rsp + 0x1e9]
mov edx, dword [rsp + 0x1ea]
movzx ecx, word [rsp + 0x1ee]
shl rcx, 0x20
or rcx, rdx
mov r12, qword [rsp + 0x1f0]
jmp 0x14002ca77
mov rax, qword [rdi]
lea rcx, [r14 + rbp]
xor edx, edx
mov r8, r14
cmp r8, rcx
je 0x14002cd45
mov r9b, byte [r8]
inc r8
cmp r9b, dl
jbe 0x14002cd2b
mov edx, r9d
test r9b, r9b
jns 0x14002cd2b
jmp 0x14002cd48
mov r9d, edx
movzx ecx, r9b
cmp cl, 4
mov edx, 3
cmovae edx, ecx
movzx ecx, dl
bsr ecx, ecx
not ecx
mov edx, 0xffffffff
shr edx, cl
inc edx
bsf r13d, edx
mov rsi, qword [rdi + 0x10]
cmp rsi, rax
jne 0x14002cd7d
mov rcx, rdi
call fcn.14000a2ae
mov rax, qword [rdi + 8]
mov byte [rax + rsi], r13b
inc rsi
mov qword [rdi + 0x10], rsi
mov ecx, r13d
call fcn.140059db7
mov ecx, r13d
and cl, 0xf
mov ebx, 1
shl ebx, cl
lea rsi, [rsp + 0x50]
and qword [rsi], 0
mov eax, 2
mov qword [rsi + 8], rax
xorpd xmm0, xmm0
movupd xmmword [rsi + 0x10], xmm0
mov qword [rsi + 0x20], rax
movupd xmmword [rsi + 0x28], xmm0
mov qword [rsi + 0x38], rax
and qword [rsi + 0x40], 0
mov rcx, rsi
mov edx, r13d
call fcn.1400549c8
lea r12d, [r13 + 1]
lea rdi, [rsp + 0x1e8]
mov ecx, 9
rep movsq qword [rdi], qword [rsi]
call fcn.140053edd
mov ecx, 9
mov rdi, rax
lea rsi, [rsp + 0x1e8]
rep movsq qword [rdi], qword [rsi]
mov qword [rax + 0x48], rbx
mov byte [rax + 0x50], r12b
mov byte [rax + 0x51], r12b
mov word [rax + 0x58], bx
mov word [rax + 0x5a], bx
and word [rax + 0x5c], 0
mov qword [rsp + 0xe0], rax
mov byte [rax + 0x5e], r13b
mov rax, qword [rsp + 0x30]
mov rdi, qword [rax + 0x10]
xor edx, edx
mov rsi, r14
mov r12, qword [rsp + 0x30]
mov qword [rsp + 0x40], rdx
mov rax, qword [rsp + 0x30]
mov rax, qword [rax]
sub rax, rdi
mov rdx, rdi
cmp rax, 0xfff
jbe 0x14002cf42
lea rax, [rdi + 0x1000]
mov r13, rax
sub r13, rdx
jbe 0x14002ceac
mov rax, qword [rsp + 0x30]
mov rax, qword [rax]
sub rax, rdx
cmp rax, r13
jb 0x14002cf61
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 8]
add rax, rdx
xor ecx, ecx
lea r8, [rcx + 1]
cmp r8, r13
jae 0x14002ce9f
mov byte [rax + rcx], 0
mov rcx, r8
jmp 0x14002ce8d
add rdx, rcx
mov byte [rax + rcx], 0
inc rdx
mov rax, rdx
mov qword [r12 + 0x10], rax
mov r13, rax
sub r13, rdi
jb 0x14002d2c6
add rdi, qword [r12 + 8]
mov rbx, qword [rsp + 0xe0]
mov rcx, rbx
call fcn.140054913
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rdi
lea rcx, [rsp + 0x50]
mov rdx, rbx
mov r8, rsi
mov r9, rbp
call fcn.1400546f6
mov rcx, qword [rsp + 0x50]
mov rax, rbp
sub rax, rcx
jb 0x14002d2d8
mov rdx, qword [rsp + 0x58]
mov r8, rdx
sub r8, r13
mov rdi, qword [r12 + 0x10]
add r8, rdi
cmp rdi, r8
jb 0x14002cf24
mov r9, qword [rsp + 0x30]
mov qword [r9 + 0x10], r8
mov rdi, r8
mov r8, qword [rsp + 0x40]
add r8, rdx
mov rdx, r8
add rsi, rcx
cmp byte [rsp + 0x60], 2
mov rbp, rax
jb 0x14002ce3d
jmp 0x14002cf7a
mov r8d, 0x1000
mov r13, qword [rsp + 0x30]
mov rcx, r13
mov rdx, rdi
call fcn.140057426
mov rdx, qword [r13 + 0x10]
jmp 0x14002ce5c
mov rbx, qword [rsp + 0x30]
mov rcx, rbx
mov r8, r13
call fcn.140057426
mov rdx, qword [rbx + 0x10]
jmp 0x14002ce7f
inc rdx
mov rdi, qword [rsp + 0x30]
cmp qword [rdi + 0x10], rdx
jb 0x14002cf8c
mov qword [rdi + 0x10], rdx
mov rsi, qword [rsp + 0xe0]
mov rcx, rsi
call fcn.1400546f1
mov edx, 8
mov r8d, 0x60
mov rcx, rsi
call fcn.14000891a
lea rcx, [rdi + 0x18]
mov rax, qword [rdi + 0x18]
test rax, rax
cmove rcx, rax
call fcn.14001dcd6
mov rsi, rdx
test rax, rax
je 0x14002cfda
mov byte [rsp + 0x50], 1
mov qword [rsp + 0x58], rsi
jmp 0x14002ca92
mov rax, qword [rdi + 8]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
lea rcx, [0x1400672f0]
cmovne rcx, rax
lea r12, [rax + 1]
mov eax, 1
cmove r12, rax
mov al, byte [rcx]
lea rdx, [rsp + 0x50]
mov byte [rdx], al
mov r8d, 1
mov rcx, rsi
call fcn.14001a94b
test rax, rax
je 0x14002d023
mov byte [rsp + 0x50], 1
jmp 0x14002ccb7
xor eax, eax
sub rdi, 1
cmovb rdi, rax
mov ecx, 0xff
mov rax, rdi
xor edx, edx
div rcx
mov rbx, rdx
sub rdi, rdx
lea r15, [r12 + rdi]
lea rbp, [rsp + 0x50]
sub rdi, 0xff
jb 0x14002d097
mov byte [rsp + 0x50], 0xff
mov r8d, 1
mov rcx, rsi
mov rdx, rbp
call fcn.14001a94b
test rax, rax
jne 0x14002c7a3
lea r13, [r12 + 0xff]
mov r8d, 0xff
mov rcx, rsi
mov rdx, r12
call fcn.14001a94b
mov r12, r13
test rax, rax
je 0x14002d049
jmp 0x14002c7a3
test rbx, rbx
je 0x14002d0d1
lea rdx, [rsp + 0x50]
mov byte [rdx], bl
mov r8d, 1
mov rcx, rsi
call fcn.14001a94b
test rax, rax
jne 0x14002c7a3
mov rcx, rsi
mov rdx, r15
mov r8, rbx
call fcn.14001a94b
test rax, rax
jne 0x14002c7a3
lea rdx, [rsp + 0x50]
mov byte [rdx], 0
mov r8d, 1
mov rcx, rsi
call fcn.14001a94b
test rax, rax
je 0x14002d11a
mov qword [rsp + 0x58], rax
mov al, 1
jmp 0x14002d11c
lea r8, [0x14005b1f0]
mov rdx, qword [rsp + 0x148]
call fcn.140057490
lea r8, [0x14005b208]
mov ecx, 4
call fcn.140057570
mov al, 2
mov byte [rsp + 0x50], al
jmp 0x14002c7ad
lea rcx, [0x14005b238]
call fcn.140057c80
jmp 0x14002d148
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x38], rax
mov rdx, qword [rsp + 0x170]
mov rcx, qword [rsp + 0x38]
call fcn.140057350
lea rax, str.Too_much_or_too_little_pixel_data_for_the_given_width_and_height_to_create_a_GIF_Frame
lea r8, [rsp + 0x50]
mov qword [r8], rax
mov qword [r8 + 8], 1
mov qword [r8 + 0x10], 8
xorps xmm0, xmm0
movups xmmword [r8 + 0x18], xmm0
lea r9, str.C:Usersuser.cargo_registry_srcindex.crates.io_6f17d22bba15001fgif_0.13.1_srccommon.rs
lea rcx, [rsp + 0x290]
lea rdx, [rsp + 0x198]
call fcn.140057f22
lea rax, str.capacity_overflow
lea rcx, [rsp + 0x50]
jmp 0x14002d1cd
mov rdx, qword [rsp + 0x60]
mov rcx, rsi
call fcn.140057350
lea rax, str.capacity_overflow
lea rcx, [rsp + 0x50]
jmp 0x14002d214
lea rax, str.capacity_overflow
lea rcx, [rsp + 0x1e8]
mov qword [rcx], rax
mov qword [rcx + 8], 1
mov qword [rcx + 0x10], 8
pxor xmm0, xmm0
movdqu xmmword [rcx + 0x18], xmm0
lea rdx, str._rustc_eeb90cda1969383f56a2637cbd3037bdf598841clibrary_alloc_src_vec_spec_from_iter_nested.rs
call fcn.140057450
mov rdx, qword [rsp + 0x1f8]
mov rcx, rbx
call fcn.140057350
lea rax, str.capacity_overflow
lea rcx, [rsp + 0x1e8]
mov qword [rcx], rax
mov qword [rcx + 8], 1
mov qword [rcx + 0x10], 8
pxor xmm0, xmm0
movdqu xmmword [rcx + 0x18], xmm0
lea rdx, [0x14006e848]
call fcn.140057450
lea rcx, str.C:Usersuser.cargo_registry_srcindex.crates.io_6f17d22bba15001fimage_0.24.9_srccodecsgif.rs
call fcn.1400579c0
mov ecx, 8
mov edx, 0x2000
call fcn.140057350
mov ecx, 4
mov edx, 0x1000
call fcn.140057350
mov ecx, 8
mov edx, 0x800
call fcn.140057350
lea rcx, [0x14005b1b8]
call fcn.1400577c0
lea rcx, [0x14005b220]
call fcn.1400577c0
call fcn.140057c40
xor esi, esi
mov rcx, rsi
jmp 0x14002d29e
xor ebx, ebx
mov rcx, rbx
mov rdx, rdi
call fcn.140057350
lea rcx, str.C:Usersuser.cargo_registry_srcindex.crates.io_6f17d22bba15001fimage_0.24.9_srccodecsgif.rs
call fcn.1400579c0
lea r8, [0x140067668]
mov rcx, qword [rsp + 0x40]
mov rdx, r9
call fcn.140057570
lea r8, str.C:Usersuser.cargo_registry_srcindex.crates.io_6f17d22bba15001fweezl_0.1.8_srcencode.rs
mov rcx, rdi
mov rdx, rax
call fcn.140057490
lea r8, str.C:Usersuser.cargo_registry_srcindex.crates.io_6f17d22bba15001fweezl_0.1.8_srcencode.rs
mov rdx, rbp
call fcn.140057490
int3