Function at 0x1400994f0
Capabilities:
Encrypt data using rc4 ksa
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x89c8
call fcn.14011c0b0
sub rsp, rax
mov qword [rsp + 0xb8], r9
mov qword [rsp + 0xd8], r8
mov qword [rsp + 0xd0], rdx
mov r14, rcx
mov eax, dword [rsp + 0x8a40]
mov dword [rsp + 0x78], eax
mov r13, qword [rsp + 0x8a38]
mov eax, dword [rsp + 0x8a30]
mov dword [rsp + 0x74], eax
mov rax, qword [0x14021fc40]
xor rax, rsp
mov qword [rsp + 0x89c0], rax
mov qword [r13], 8
mov dword [r13 + 8], 0
lea rsi, [rcx + 0xc0]
lea rax, [rcx + 0xc8]
mov qword [rsp + 0x58], rax
lea rdi, [rcx + 0x30]
lea r12, [rcx + 0x38]
lea rbp, [rcx + 0x39]
mov rcx, qword [rcx + 0xc0]
mov rax, qword [r14 + 0xc8]
xor r15d, r15d
lea rbx, [0x140131c60]
nop dword [rax + rax]
cmp rcx, rax
jae 0x1400995c0
lea r8, [rcx + 1]
mov qword [rsi], r8
movzx edx, byte [rcx]
mov rcx, r8
jmp 0x14009961b
cmp dword [rdi], 0
je 0x1400995f9
mov r8d, dword [r14 + 0x34]
mov rcx, qword [r14 + 0x28]
mov rdx, r12
call qword [r14 + 0x10]
mov ecx, dword [r14 + 0xc0]
sub ecx, dword [r14 + 0xd0]
add dword [r14 + 0xb8], ecx
test eax, eax
je 0x1400995fd
cdqe
add rax, r12
movzx edx, byte [r12]
jmp 0x14009960d
xor edx, edx
jmp 0x14009961b
mov dword [rdi], 0
mov byte [r12], 0
xor edx, edx
mov rax, rbp
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
mov qword [rsi], rbp
mov rcx, rbp
cmp dl, byte [r15 + rbx]
jne 0x14009967e
inc r15
cmp r15, 8
jne 0x1400995a0
vmovups xmm0, xmmword [r14 + 0xd0]
vmovups xmmword [r14 + 0xc0], xmm0
mov qword [rsp + 0x150], r14
mov edi, dword [rsp + 0x74]
cmp edi, 5
jb 0x140099725
mov eax, dword [0x1402293c0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, str.bad_req_comp
mov qword [rax + 8], rcx
xor r15d, r15d
jmp 0x140099c87
mov eax, dword [0x1402293c0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rbx, [rax + 8]
lea rcx, str.bad_png_sig
mov qword [rax + 8], rcx
mov rcx, qword [r14 + 0xd0]
mov rax, qword [r14 + 0xd8]
mov qword [r14 + 0xc0], rcx
mov qword [r14 + 0xc8], rax
cmp rcx, rax
jae 0x1400996df
lea r8, [rcx + 1]
mov qword [rsi], r8
movzx edx, byte [rcx]
cmp dl, 0x42
je 0x1400997db
jmp 0x1400999d5
cmp dword [rdi], 0
je 0x1400999d5
mov r8d, dword [r14 + 0x34]
mov rcx, qword [r14 + 0x28]
mov rdx, r12
call qword [r14 + 0x10]
mov edx, dword [r14 + 0xc0]
mov rcx, qword [r14 + 0xd0]
sub edx, ecx
add dword [r14 + 0xb8], edx
test eax, eax
je 0x1400997b4
cdqe
add rax, r12
movzx edx, byte [r12]
jmp 0x1400997c4
lea rcx, [rsp + 0x150]
xor edx, edx
mov r8d, edi
call fcn.1400a1db0
test eax, eax
je 0x1400997a4
mov eax, dword [rsp + 0x170]
mov ecx, 8
cmp eax, 9
jl 0x14009975a
mov ecx, 0x10
cmp eax, 0x10
jne 0x140099838
mov dword [r13], ecx
mov rsi, qword [rsp + 0x150]
mov r15, qword [rsp + 0x168]
test edi, edi
je 0x140099c3d
mov edx, dword [rsi + 0xc]
cmp edx, edi
je 0x140099c3d
mov r9d, dword [rsi]
mov ecx, dword [rsi + 4]
cmp eax, 8
jg 0x140099c1f
mov dword [rsp + 0x20], ecx
mov rcx, r15
mov r8d, edi
call fcn.1400a41f0
jmp 0x140099c2e
mov rcx, qword [rsp + 0x168]
xor r15d, r15d
jmp 0x140099c6a
mov dword [rdi], 0
mov byte [r12], 0
xor edx, edx
mov rax, rbp
mov r8, qword [rsp + 0x58]
mov qword [r8], rax
mov qword [rsi], rbp
mov r8, rbp
cmp dl, 0x42
jne 0x1400999d5
cmp r8, rax
jae 0x1400997f8
lea rax, [r8 + 1]
mov qword [rsi], rax
movzx eax, byte [r8]
cmp al, 0x4d
jne 0x1400999d5
jmp 0x14009987a
cmp dword [rdi], 0
je 0x1400999d5
mov r8d, dword [r14 + 0x34]
mov rcx, qword [r14 + 0x28]
mov rdx, r12
call qword [r14 + 0x10]
mov edx, dword [r14 + 0xc0]
mov rcx, qword [r14 + 0xd0]
sub edx, ecx
add dword [r14 + 0xb8], edx
test eax, eax
je 0x140099857
movsxd rdx, eax
add rdx, r12
movzx eax, byte [r12]
jmp 0x140099867
mov eax, dword [0x1402293c0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, str.bad_bits_per_channel
jmp 0x14009966f
mov dword [rdi], 0
mov byte [r12], 0
xor eax, eax
mov rdx, rbp
mov r8, qword [rsp + 0x58]
mov qword [r8], rdx
mov qword [rsi], rbp
cmp al, 0x4d
jne 0x1400999d5
mov rcx, r14
call fcn.1400abf10
mov rcx, r14
call fcn.1400abf10
mov rcx, r14
call fcn.1400abf10
mov rcx, r14
call fcn.1400abf10
mov rcx, r14
call fcn.1400abf10
mov rcx, r14
call fcn.1400abf10
mov rcx, r14
call fcn.1400abf10
mov r15d, eax
mov rcx, r14
call fcn.1400abf10
shl eax, 0x10
or eax, r15d
cmp eax, 0x38
ja 0x1400998d8
movabs rcx, 0x100010000001000
bt rcx, rax
jb 0x1400998e1
cmp eax, 0x6c
jne 0x140099cb1
vmovups xmm0, xmmword [r14 + 0xd0]
vmovups xmmword [r14 + 0xc0], xmm0
mov dword [rsp + 0x144], 0xff
lea rdx, [rsp + 0x128]
mov rcx, r14
call fcn.1400ac040
test rax, rax
je 0x140099676
mov r15d, dword [r14 + 4]
mov eax, r15d
neg eax
cmovs eax, r15d
mov dword [r14 + 4], eax
cmp eax, 0x1000001
jae 0x140099d98
cmp dword [r14], 0x1000001
jae 0x140099d98
mov eax, dword [rsp + 0x134]
mov dword [rsp + 0x88], eax
mov eax, dword [rsp + 0x138]
mov dword [rsp + 0x98], eax
mov eax, dword [rsp + 0x13c]
mov dword [rsp + 0xb0], eax
mov ecx, dword [rsp + 0x140]
mov r8d, dword [rsp + 0x144]
mov r10d, dword [rsp + 0x128]
mov r9d, dword [rsp + 0x130]
cmp r9d, 0xc
mov dword [rsp + 0x90], ecx
jne 0x140099da7
cmp r10d, 0x17
jg 0x140099e76
mov edx, dword [rsp + 0x12c]
mov eax, dword [rsp + 0x148]
neg eax
add eax, edx
add eax, 0xffffffe8
cdqe
imul r11, rax, 0x55555556
mov rax, r11
shr rax, 0x3f
shr r11, 0x20
add r11d, eax
jmp 0x140099dcc
mov qword [r14 + 0xc0], rcx
mov rax, qword [r14 + 0xd8]
mov qword [r14 + 0xc8], rax
mov rcx, r14
call fcn.14009ba30
test eax, eax
je 0x140099a8c
lea r15, [rsp + 0x150]
mov r8d, 0x8870
mov rcx, r15
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov rcx, r14
mov rdx, r15
mov r8, qword [rsp + 0xb8]
xor r9d, r9d
call fcn.1400ac6d0
cmp rax, r14
je 0x140099b3b
mov r15, rax
test rax, rax
je 0x140099b3b
mov r9d, dword [rsp + 0x150]
mov rax, qword [rsp + 0xd0]
mov dword [rax], r9d
mov eax, dword [rsp + 0x154]
mov rcx, qword [rsp + 0xd8]
mov dword [rcx], eax
mov r8d, dword [rsp + 0x74]
test r8d, 0xfffffffb
je 0x140099b51
mov dword [rsp + 0x20], eax
mov rcx, r15
mov edx, 4
call fcn.1400a41f0
mov r15, rax
jmp 0x140099b51
mov rcx, r14
call fcn.1400a8750
mov r15d, eax
shl r15d, 0x10
mov rcx, r14
call fcn.1400a8750
or eax, r15d
vmovups xmm0, xmmword [r14 + 0xd0]
vmovups xmmword [r14 + 0xc0], xmm0
mov rcx, r14
cmp eax, 0x38425053
jne 0x140099b6f
call fcn.1400a8750
mov r15d, eax
shl r15d, 0x10
mov rcx, r14
call fcn.1400a8750
or eax, r15d
cmp eax, 0x38425053
jne 0x140099bbb
mov rcx, r14
call fcn.1400a8750
cmp eax, 1
jne 0x140099c10
cmp qword [r14 + 0x10], 0
je 0x140099d1c
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax]
mov rax, qword [rsi]
mov r8d, ecx
sub r8d, eax
cmp r8d, 5
jg 0x140099d1f
mov qword [r14 + 0xc0], rcx
mov edx, 6
sub edx, r8d
mov rcx, qword [r14 + 0x28]
call qword [r14 + 0x18]
jmp 0x140099d26
mov rcx, qword [rsp + 0x158]
test rcx, rcx
je 0x140099b4e
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor r15d, r15d
mov rcx, qword [rsp + 0x168]
mov rsi, qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
call rsi
mov rcx, qword [rsp + 0x160]
jmp 0x140099c85
call fcn.14009bd70
test eax, eax
je 0x140099bca
mov rcx, qword [rsp + 0x89c0]
xor rcx, rsp
call fcn.14011bef0
mov rcx, r14
mov rdx, qword [rsp + 0xd0]
mov r8, qword [rsp + 0xd8]
mov r9, qword [rsp + 0xb8]
add rsp, 0x89c8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x14009c1f0
lea rax, str.not_PSD
mov qword [rbx], rax
jmp 0x140099676
mov rdi, rbx
mov rcx, r14
call fcn.14009cce0
test eax, eax
mov rsi, qword [rsp + 0xd8]
mov rbx, qword [rsp + 0xd0]
je 0x140099cd1
mov eax, dword [rsp + 0x74]
mov dword [rsp + 0x20], eax
mov rcx, r14
mov rdx, rbx
mov r8, rsi
mov r9, qword [rsp + 0xb8]
call fcn.14009ce10
jmp 0x140099d04
lea rax, str.wrong_version
mov qword [rbx], rax
jmp 0x140099676
mov dword [rsp + 0x20], ecx
mov rcx, r15
mov r8d, edi
call fcn.1400a6c90
mov r15, rax
mov dword [rsi + 0xc], edi
test rax, rax
je 0x140099676
mov eax, dword [rsi]
mov rcx, qword [rsp + 0xd0]
mov dword [rcx], eax
mov eax, dword [rsi + 4]
mov rcx, qword [rsp + 0xd8]
mov dword [rcx], eax
mov rcx, qword [rsp + 0xb8]
test rcx, rcx
je 0x140099c68
mov eax, dword [rsi + 8]
mov dword [rcx], eax
xor ecx, ecx
mov rsi, qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
call rsi
mov rcx, qword [rsp + 0x160]
call rsi
mov rcx, qword [rsp + 0x158]
call rsi
mov rcx, qword [rsp + 0x89c0]
xor rcx, rsp
vzeroupper
call fcn.14011bef0
mov rax, r15
add rsp, 0x89c8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
vmovups xmm0, xmmword [r14 + 0xd0]
vmovups xmmword [r14 + 0xc0], xmm0
cmp eax, 0x7c
jne 0x1400999ea
jmp 0x1400998f3
mov rcx, r14
call fcn.14009f5e0
test eax, eax
je 0x140099eaf
mov qword [rsp + 0x28], r13
mov eax, dword [rsp + 0x74]
mov dword [rsp + 0x20], eax
mov rcx, r14
mov rdx, rbx
mov r8, rsi
mov r9, qword [rsp + 0xb8]
call fcn.14009f720
mov rsi, rax
mov rcx, qword [rsp + 0x89c0]
xor rcx, rsp
call fcn.14011bef0
mov rax, rsi
jmp 0x140099c9d
mov rax, qword [rsi]
add rax, 6
mov qword [rsi], rax
mov rcx, r14
call fcn.1400a8750
cmp eax, 0x11
jb 0x140099d42
lea rax, str.wrong_channel_count
mov qword [rbx], rax
jmp 0x140099676
mov dword [rsp + 0x88], eax
mov rcx, r14
call fcn.1400a8750
mov r15d, eax
shl r15d, 0x10
mov rcx, r14
call fcn.1400a8750
or eax, r15d
mov dword [rsp + 0x3c], eax
mov rcx, r14
call fcn.1400a8750
mov r15d, eax
mov rcx, r14
call fcn.1400a8750
cmp dword [rsp + 0x3c], 0x1000001
jge 0x140099d98
shl r15d, 0x10
or r15d, eax
cmp r15d, 0x1000001
jl 0x140099f4a
lea rax, str.too_large
mov qword [rbx], rax
jmp 0x140099676
cmp r10d, 0xf
jg 0x140099e76
mov edx, dword [rsp + 0x12c]
mov eax, dword [rsp + 0x148]
add eax, r9d
mov r11d, edx
sub r11d, eax
sar r11d, 2
test r11d, r11d
je 0x140099e76
mov qword [rsp + 0x50], rdx
mov dword [rsp + 0x4c], r9d
mov qword [rsp + 0x40], rbx
mov dword [rsp + 0x78], r8d
cmp ecx, 0xff000000
sete al
xor r13d, r13d
mov edx, r13d
mov byte [rsp + 0x64], r13b
cmp ecx, 1
mov ebx, 4
sbb ebx, 0
mov r13d, eax
mov dword [r14 + 8], ebx
mov eax, dword [rsp + 0x74]
cmp eax, 3
cmovge ebx, eax
mov r9d, dword [r14]
mov eax, r9d
or eax, ebx
js 0x140099e62
mov ecx, dword [r14 + 4]
test r9d, r9d
je 0x140099e3a
mov eax, 0x7fffffff
xor edx, edx
div r9d
cmp eax, ebx
jb 0x140099e62
mov r8d, r9d
imul r8d, ebx
mov eax, r8d
or eax, ecx
js 0x140099e62
test ecx, ecx
je 0x14009a067
mov eax, 0x7fffffff
xor edx, edx
div ecx
cmp eax, r8d
jge 0x14009a067
lea rax, str.too_large
mov rcx, qword [rsp + 0x40]
mov qword [rcx], rax
jmp 0x140099676
mov eax, dword [r14 + 0xb8]
mov ecx, dword [r14 + 0xc0]
sub ecx, dword [r14 + 0xd0]
lea edx, [rax + rcx]
add edx, 0xfffffbff
cmp edx, 0xfffffbff
ja 0x140099f20
lea rax, str.bad_header
mov qword [rbx], rax
jmp 0x140099676
mov rcx, r14
call fcn.1400961b0
test eax, eax
je 0x140099fd2
mov ebp, dword [rsp + 0x74]
mov dword [rsp + 0x20], ebp
mov rcx, r14
mov rdx, rbx
mov r8, rsi
mov rdi, qword [rsp + 0xb8]
mov r9, rdi
call fcn.14009f9b0
mov r14, rax
test ebp, ebp
jne 0x140099ee9
mov ebp, dword [rdi]
mov esi, dword [rsi]
mov edi, dword [rbx]
mov rcx, qword [rsp + 0x89c0]
xor rcx, rsp
call fcn.14011bef0
mov rcx, r14
mov edx, edi
mov r8d, esi
mov r9d, ebp
add rsp, 0x89c8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x1400a0570
add eax, ecx
mov ecx, dword [rsp + 0x12c]
mov edx, ecx
sub edx, eax
jl 0x140099f3b
cmp edx, 0x401
jl 0x14009a005
lea rax, str.bad_offset
mov qword [rbx], rax
jmp 0x140099676
mov dword [rsp + 0x4c], r15d
mov rcx, r14
call fcn.1400a8750
mov r15d, eax
cmp r15w, 8
je 0x140099f6b
cmp r15d, 0x10
jne 0x14009a0fb
mov rcx, r14
call fcn.1400a8750
cmp eax, 3
jne 0x14009a10a
mov rcx, r14
call fcn.1400a8720
mov rcx, r14
mov edx, eax
call fcn.1400a86c0
mov rcx, r14
call fcn.1400a8720
mov rcx, r14
mov edx, eax
call fcn.1400a86c0
mov rcx, r14
call fcn.1400a8720
mov rcx, r14
mov edx, eax
call fcn.1400a86c0
mov rcx, r14
call fcn.1400a8750
cmp eax, 2
jb 0x14009a134
lea rax, str.bad_compression
mov qword [rbx], rax
jmp 0x140099676
mov rcx, r14
call fcn.1400a09f0
test eax, eax
je 0x14009a125
mov eax, dword [rsp + 0x74]
mov dword [rsp + 0x20], eax
mov rcx, r14
mov rdx, rbx
mov r8, rsi
mov r9, qword [rsp + 0xb8]
call fcn.1400a0dc0
jmp 0x140099d04
mov qword [rsp + 0x50], rcx
mov dword [rsp + 0x4c], r9d
mov qword [rsp + 0x40], rbx
mov dword [rsp + 0x78], r8d
mov rcx, r14
mov ebx, r10d
call fcn.1400a86c0
mov ecx, dword [rsp + 0x90]
mov r10d, ebx
cmp ecx, 0xff000000
sete al
xor r11d, r11d
mov r13b, 1
cmp ebx, 0x18
jne 0x140099df5
cmp ecx, 0xff000000
jne 0x140099df5
mov ebx, 3
mov r10d, 0x18
mov byte [rsp + 0x64], 1
jmp 0x140099e0b
mov qword [rsp + 0x80], r11
mov dword [rsp + 0xe0], r15d
test r9d, r9d
je 0x14009a08e
mov eax, 0x7fffffff
xor edx, edx
div r9d
cmp eax, ebx
jb 0x14009a119
test ecx, ecx
je 0x14009a0a0
mov eax, 0x7fffffff
xor edx, edx
div ecx
cmp eax, r8d
jl 0x14009a119
imul r8d, ecx
movsxd rcx, r8d
mov dword [rsp + 0x68], r10d
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov ecx, dword [rsp + 0x68]
test rax, rax
je 0x14009a119
mov r15, rax
cmp ecx, 0xf
mov dword [rsp + 0x3c], ebx
jg 0x14009a289
mov rdx, qword [rsp + 0x80]
cmp edx, 0x101
setge al
or byte [rsp + 0x64], al
je 0x14009a2f9
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
lea rax, str.invalid
jmp 0x140099e69
lea rax, str.unsupported_bit_depth
mov qword [rbx], rax
jmp 0x140099676
lea rax, str.wrong_color_format
mov qword [rbx], rax
jmp 0x140099676
lea rax, str.outofmem
jmp 0x140099e69
lea rax, str.unknown_image_type
mov qword [rdi], rax
jmp 0x140099676
mov dword [rsp + 0x50], eax
mov ecx, 4
mov edx, dword [rsp + 0x4c]
mov r8d, dword [rsp + 0x3c]
xor r9d, r9d
call fcn.1400abe30
test eax, eax
je 0x140099d98
cmp dword [rsp + 0x78], 0x10
mov r8d, dword [rsp + 0x3c]
mov dword [rsp + 0x80], r15d
jne 0x14009a195
cmp r15d, 0x10
jne 0x14009a195
cmp dword [rsp + 0x50], 0
jne 0x14009a195
mov ecx, 8
mov edx, dword [rsp + 0x4c]
xor r9d, r9d
call fcn.1400abdd0
mov r15, rax
mov dword [r13], 0x10
jmp 0x14009a1ac
mov eax, r8d
imul eax, dword [rsp + 0x4c]
shl eax, 2
movsxd rcx, eax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r15, rax
test r15, r15
mov edx, dword [rsp + 0x88]
je 0x14009a2ea
mov qword [rsp + 0x40], rbx
mov eax, dword [rsp + 0x4c]
mov r9d, eax
mov eax, dword [rsp + 0x3c]
imul r9d, eax
mov ecx, edx
mov qword [rsp + 0xb0], rcx
cmp dword [rsp + 0x50], 0
mov qword [rsp + 0x68], r9
je 0x14009a585
imul edx, eax
add edx, edx
mov rcx, r14
call fcn.1400a86c0
mov r9, qword [rsp + 0x68]
mov esi, r9d
and esi, 0xfffffff8
mov edi, r9d
and edi, 7
xor ebx, ebx
jmp 0x14009a231
mov rcx, r14
mov r8d, r9d
call fcn.1400addd0
mov r9, qword [rsp + 0x68]
test eax, eax
je 0x14009a8b1
inc rbx
cmp rbx, 4
je 0x14009a801
lea rdx, [r15 + rbx]
cmp rbx, qword [rsp + 0xb0]
jb 0x14009a20c
test r9d, r9d
jle 0x14009a224
cmp rbx, 3
sete al
neg al
cmp r9d, 8
jb 0x14009a275
mov ecx, esi
mov byte [rdx], al
mov byte [rdx + 4], al
mov byte [rdx + 8], al
mov byte [rdx + 0xc], al
mov byte [rdx + 0x10], al
mov byte [rdx + 0x14], al
mov byte [rdx + 0x18], al
mov byte [rdx + 0x1c], al
add rdx, 0x20
add ecx, 0xfffffff8
jne 0x14009a255
test r9b, 7
je 0x14009a224
xor ecx, ecx
mov byte [rdx + rcx*4], al
inc rcx
cmp edi, ecx
jne 0x14009a27d
jmp 0x14009a224
mov eax, dword [rsp + 0x4c]
add eax, dword [rsp + 0x148]
mov rdx, qword [rsp + 0x50]
sub edx, eax
mov qword [rsp + 0x50], rdx
je 0x14009af57
js 0x14009a9e2
cmp qword [r14 + 0x10], 0
je 0x14009af46
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax]
mov rax, qword [rsi]
mov r8d, ecx
sub r8d, eax
mov rdx, qword [rsp + 0x50]
sub edx, r8d
jle 0x14009af49
mov qword [r14 + 0xc0], rcx
mov rcx, qword [r14 + 0x28]
call qword [r14 + 0x18]
jmp 0x14009af53
lea rax, str.outofmem
mov qword [rbx], rax
jmp 0x140099676
test edx, edx
mov ebx, dword [rsp + 0x4c]
jle 0x14009a535
mov eax, edx
mov qword [rsp + 0x90], rax
mov rcx, qword [rsi]
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
xor r13d, r13d
jmp 0x14009a33f
inc rcx
mov qword [rsi], rcx
mov byte [rsp + r13*4 + 0x153], 0xff
inc r13
cmp qword [rsp + 0x90], r13
je 0x14009a535
cmp rcx, rax
jae 0x14009a354
lea r8, [rcx + 1]
mov qword [rsi], r8
movzx r9d, byte [rcx]
mov rcx, r8
jmp 0x14009a3b9
cmp dword [rdi], 0
je 0x14009a38d
mov r8d, dword [r14 + 0x34]
mov rcx, qword [r14 + 0x28]
mov rdx, r12
call qword [r14 + 0x10]
mov ecx, dword [r14 + 0xc0]
sub ecx, dword [r14 + 0xd0]
add dword [r14 + 0xb8], ecx
test eax, eax
je 0x14009a392
cdqe
add rax, r12
movzx r9d, byte [r12]
jmp 0x14009a3a3
xor r9d, r9d
jmp 0x14009a3b9
mov dword [rdi], 0
mov byte [r12], 0
xor r9d, r9d
mov rax, rbp
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
mov qword [rsi], rbp
mov rcx, rbp
mov rdx, qword [rsp + 0x80]
mov byte [rsp + r13*4 + 0x152], r9b
cmp rcx, rax
jae 0x14009a3d6
lea r8, [rcx + 1]
mov qword [rsi], r8
movzx r9d, byte [rcx]
mov rcx, r8
jmp 0x14009a43b
cmp dword [rdi], 0
je 0x14009a40f
mov r8d, dword [r14 + 0x34]
mov rcx, qword [r14 + 0x28]
mov rdx, r12
call qword [r14 + 0x10]
mov ecx, dword [r14 + 0xc0]
sub ecx, dword [r14 + 0xd0]
add dword [r14 + 0xb8], ecx
test eax, eax
je 0x14009a414
cdqe
add rax, r12
movzx r9d, byte [r12]
jmp 0x14009a425
xor r9d, r9d
jmp 0x14009a43b
mov dword [rdi], 0
mov byte [r12], 0
xor r9d, r9d
mov rax, rbp
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
mov qword [rsi], rbp
mov rcx, rbp
mov rdx, qword [rsp + 0x80]
mov byte [rsp + r13*4 + 0x151], r9b
cmp rcx, rax
jae 0x14009a458
lea r8, [rcx + 1]
mov qword [rsi], r8
movzx r9d, byte [rcx]
mov rcx, r8
jmp 0x14009a4bd
cmp dword [rdi], 0
je 0x14009a491
mov r8d, dword [r14 + 0x34]
mov rcx, qword [r14 + 0x28]
mov rdx, r12
call qword [r14 + 0x10]
mov ecx, dword [r14 + 0xc0]
sub ecx, dword [r14 + 0xd0]
add dword [r14 + 0xb8], ecx
test eax, eax
je 0x14009a496
cdqe
add rax, r12
movzx r9d, byte [r12]
jmp 0x14009a4a7
xor r9d, r9d
jmp 0x14009a4bd
mov dword [rdi], 0
mov byte [r12], 0
xor r9d, r9d
mov rax, rbp
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
mov qword [rsi], rbp
mov rcx, rbp
mov byte [rsp + r13*4 + 0x150], r9b
cmp ebx, 0xc
je 0x14009a325
cmp rcx, rax
jb 0x14009a31f
cmp dword [rdi], 0
je 0x14009a325
mov r8d, dword [r14 + 0x34]
mov rcx, qword [r14 + 0x28]
mov rdx, r12
call qword [r14 + 0x10]
mov ecx, dword [r14 + 0xc0]
sub ecx, dword [r14 + 0xd0]
add dword [r14 + 0xb8], ecx
test eax, eax
je 0x14009a50f
cdqe
add rax, r12
jmp 0x14009a51d
mov dword [rdi], 0
mov byte [r12], 0
mov rax, rbp
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
mov rcx, rbp
mov rdx, qword [rsp + 0x80]
jmp 0x14009a322
xor eax, eax
cmp ebx, 0xc
sete al
or eax, 0xfffffffc
imul edx, eax
add edx, dword [rsp + 0x50]
add ebx, dword [rsp + 0x148]
sub edx, ebx
mov rcx, r14
call fcn.1400a86c0
cmp dword [rsp + 0x68], 1
je 0x14009a9f2
cmp dword [rsp + 0x68], 8
je 0x14009ac44
cmp dword [rsp + 0x68], 4
jne 0x14009af31
mov eax, dword [r14]
inc eax
shr eax, 1
jmp 0x14009ac47
mov ecx, dword [rsp + 0x78]
xor ecx, 0x10
mov eax, dword [rsp + 0x80]
xor eax, 0x10
or eax, ecx
sete byte [rsp + 0x64]
mov eax, r9d
and eax, 0xfffffff8
mov dword [rsp + 0xa8], eax
mov eax, r9d
and eax, 7
mov qword [rsp + 0x40], rax
mov eax, r9d
mov qword [rsp + 0x78], rax
xor ecx, ecx
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x90], r15
jmp 0x14009a5f6
mov rcx, qword [rsp + 0x98]
inc rcx
inc qword [rsp + 0x90]
add qword [rsp + 0x50], 2
cmp rcx, 4
mov r9, qword [rsp + 0x68]
je 0x14009a801
cmp rcx, qword [rsp + 0xb0]
mov qword [rsp + 0x98], rcx
jae 0x14009a636
cmp dword [r13], 0x10
jne 0x14009a6bb
test r9d, r9d
jle 0x14009a5ce
xor ebx, ebx
mov rcx, r14
call fcn.1400a8750
mov rcx, qword [rsp + 0x50]
mov word [rcx + rbx*8], ax
inc rbx
cmp dword [rsp + 0x78], ebx
jne 0x14009a61a
jmp 0x14009a5ce
cmp byte [rsp + 0x64], 0
je 0x14009a6f5
xor eax, eax
cmp rcx, 3
sete cl
test r9d, r9d
jle 0x14009a5ce
mov al, cl
neg eax
mov rcx, qword [rsp + 0x98]
lea rcx, [r15 + rcx*2]
mov r8, qword [rsp + 0x68]
cmp r8d, 8
jb 0x14009a69d
mov edx, dword [rsp + 0xa8]
mov word [rcx], ax
mov word [rcx + 8], ax
mov word [rcx + 0x10], ax
mov word [rcx + 0x18], ax
mov word [rcx + 0x20], ax
mov word [rcx + 0x28], ax
mov word [rcx + 0x30], ax
mov word [rcx + 0x38], ax
add rcx, 0x40
add edx, 0xfffffff8
jne 0x14009a675
test r8b, 7
je 0x14009a5ce
xor edx, edx
mov word [rcx + rdx*8], ax
inc rdx
cmp dword [rsp + 0x40], edx
jne 0x14009a6a9
jmp 0x14009a5ce
cmp dword [rsp + 0x80], 0x10
jne 0x14009a761
test r9d, r9d
jle 0x14009a5ce
xor ebx, ebx
mov rcx, r14
call fcn.1400a8750
mov rcx, qword [rsp + 0x90]
mov byte [rcx + rbx*4], ah
inc rbx
cmp dword [rsp + 0x78], ebx
jne 0x14009a6d4
jmp 0x14009a5ce
cmp rcx, 3
sete al
test r9d, r9d
jle 0x14009a5ce
neg al
mov rcx, qword [rsp + 0x98]
add rcx, r15
mov r8, qword [rsp + 0x68]
cmp r8d, 8
jb 0x14009a744
mov edx, dword [rsp + 0xa8]
mov byte [rcx], al
mov byte [rcx + 4], al
mov byte [rcx + 8], al
mov byte [rcx + 0xc], al
mov byte [rcx + 0x10], al
mov byte [rcx + 0x14], al
mov byte [rcx + 0x18], al
mov byte [rcx + 0x1c], al
add rcx, 0x20
add edx, 0xfffffff8
jne 0x14009a724
test r8b, 7
je 0x14009a5ce
xor edx, edx
mov byte [rcx + rdx*4], al
inc rdx
cmp dword [rsp + 0x40], edx
jne 0x14009a750
jmp 0x14009a5ce
test r9d, r9d
jle 0x14009a5ce
mov rcx, qword [rsi]
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
xor ebx, ebx
jmp 0x14009a79f
lea r8, [rcx + 1]
mov qword [rsi], r8
movzx edx, byte [rcx]
mov rcx, r8
mov r8, qword [rsp + 0x90]
mov byte [r8 + rbx*4], dl
inc rbx
cmp dword [rsp + 0x78], ebx
je 0x14009a5ce
cmp rcx, rax
jb 0x14009a779
cmp dword [rdi], 0
je 0x14009a7dd
mov r8d, dword [r14 + 0x34]
mov rcx, qword [r14 + 0x28]
mov rdx, r12
call qword [r14 + 0x10]
mov ecx, dword [r14 + 0xc0]
sub ecx, dword [r14 + 0xd0]
add dword [r14 + 0xb8], ecx
test eax, eax
je 0x14009a7e1
cdqe
add rax, r12
movzx edx, byte [r12]
jmp 0x14009a7f1
xor edx, edx
jmp 0x14009a786
mov dword [rdi], 0
mov byte [r12], 0
xor edx, edx
mov rax, rbp
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
mov qword [rsi], rbp
mov rcx, rbp
jmp 0x14009a786
cmp dword [rsp + 0x88], 4
mov r8d, dword [rsp + 0x74]
jb 0x14009a95c
cmp dword [r13], 0x10
jne 0x14009a8c6
test r9d, r9d
jle 0x14009a95c
mov eax, r9d
xor ecx, ecx
vmovss xmm0, dword [0x1401313d4]
jmp 0x14009a843
inc rcx
cmp rax, rcx
je 0x14009a95c
movzx edx, word [r15 + rcx*8 + 6]
test edx, edx
je 0x14009a837
cmp edx, 0xffff
je 0x14009a837
movzx edx, dx
vcvtsi2ss xmm1, xmm6, edx
vdivss xmm1, xmm0, xmm1
vmovaps xmm2, xmm0
vfnmadd213ss xmm2, xmm1, xmm0
vmovd xmm3, dword [r15 + rcx*8]
vpmovzxwd xmm3, xmm3
vcvtdq2ps xmm3, xmm3
vbroadcastss xmm4, xmm1
vbroadcastss xmm5, xmm2
vfmadd231ps xmm5, xmm3, xmm4
vcvttps2dq xmm3, xmm5
vpshuflw xmm3, xmm3, 0xe8
vmovd dword [r15 + rcx*8], xmm3
movzx edx, word [r15 + rcx*8 + 4]
vcvtsi2ss xmm3, xmm6, edx
vfmadd213ss xmm3, xmm1, xmm2
vcvttss2si edx, xmm3
mov word [r15 + rcx*8 + 4], dx
jmp 0x14009a837
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
lea rax, str.corrupt
jmp 0x140099e69
test r9d, r9d
jle 0x14009a95c
mov eax, r9d
xor ecx, ecx
vmovss xmm0, dword [0x1401313d0]
vmovss xmm1, dword [0x140122d94]
jmp 0x14009a8ee
inc rcx
cmp rax, rcx
je 0x14009a95c
movzx edx, byte [r15 + rcx*4 + 3]
test edx, edx
je 0x14009a8e6
cmp edx, 0xff
je 0x14009a8e6
movzx edx, dl
vcvtsi2ss xmm2, xmm5, edx
vdivss xmm2, xmm0, xmm2
vmovaps xmm3, xmm1
vfnmadd213ss xmm3, xmm2, xmm1
movzx edx, byte [r15 + rcx*4]
vcvtsi2ss xmm4, xmm5, edx
vfmadd213ss xmm4, xmm2, xmm3
vcvttss2si edx, xmm4
mov byte [r15 + rcx*4], dl
movzx edx, byte [r15 + rcx*4 + 1]
vcvtsi2ss xmm4, xmm5, edx
vfmadd213ss xmm4, xmm2, xmm3
vcvttss2si edx, xmm4
mov byte [r15 + rcx*4 + 1], dl
movzx edx, byte [r15 + rcx*4 + 2]
vcvtsi2ss xmm4, xmm5, edx
vfmadd213ss xmm4, xmm2, xmm3
vcvttss2si edx, xmm4
mov byte [r15 + rcx*4 + 2], dl
jmp 0x14009a8e6
test r8d, 0xfffffffb
je 0x14009a9ae
cmp dword [r13], 0x10
jne 0x14009a988
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x20], eax
mov rcx, r15
mov edx, 4
mov r9d, dword [rsp + 0x4c]
call fcn.1400a6c90
jmp 0x14009a9a2
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x20], eax
mov rcx, r15
mov edx, 4
mov r9d, dword [rsp + 0x4c]
call fcn.1400a41f0
mov r15, rax
test rax, rax
je 0x140099676
mov rax, qword [rsp + 0xb8]
test rax, rax
je 0x14009a9c1
mov dword [rax], 4
mov rax, qword [rsp + 0xd8]
mov ecx, dword [rsp + 0x3c]
mov dword [rax], ecx
mov rax, qword [rsp + 0xd0]
mov ecx, dword [rsp + 0x4c]
mov dword [rax], ecx
jmp 0x140099c87
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
mov qword [rsi], rax
jmp 0x14009af53
mov eax, dword [r14 + 4]
test eax, eax
jle 0x14009ba24
mov eax, dword [r14]
add eax, 7
shr eax, 3
neg eax
and eax, 3
mov dword [rsp + 0x88], eax
mov eax, eax
mov qword [rsp + 0x98], rax
xor ebx, ebx
xor edx, edx
jmp 0x14009aa43
add r8, qword [rsp + 0x98]
mov qword [rsi], r8
mov edx, dword [rsp + 0x90]
inc edx
mov ecx, dword [r14 + 4]
cmp edx, ecx
jge 0x14009b6f7
mov r8, qword [rsi]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax]
cmp r8, rcx
mov dword [rsp + 0x90], edx
jae 0x14009aa6c
lea rdx, [r8 + 1]
mov qword [rsi], rdx
movzx r8d, byte [r8]
mov qword [rsp + 0x40], rdx
jmp 0x14009aad1
mov qword [rsp + 0x40], r8
cmp dword [rdi], 0
je 0x14009aaab
mov r8d, dword [r14 + 0x34]
mov rcx, qword [r14 + 0x28]
mov rdx, r12
call qword [r14 + 0x10]
mov ecx, dword [r14 + 0xc0]
sub ecx, dword [r14 + 0xd0]
add dword [r14 + 0xb8], ecx
test eax, eax
je 0x14009aab0
movsxd rcx, eax
add rcx, r12
movzx r8d, byte [r12]
jmp 0x14009aac1
xor r8d, r8d
jmp 0x14009aad1
mov dword [rdi], 0
mov byte [r12], 0
xor r8d, r8d
mov rcx, rbp
mov rax, qword [rsp + 0x58]
mov qword [rax], rcx
mov qword [rsi], rbp
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x50], rcx
mov edx, dword [r14]
test edx, edx
jle 0x14009abf9
movzx r8d, r8b
xor r13d, r13d
mov r9d, 7
mov r10d, ebx
jmp 0x14009ab02
dec r9d
mov r10d, ebx
cmp r13d, edx
jge 0x14009abf9
shrx r11d, r8d, r9d
and r11d, 1
movsxd rbx, r10d
lea rcx, [rbx + 3]
movzx eax, byte [rsp + r11*4 + 0x150]
mov byte [r15 + rbx], al
movzx eax, byte [rsp + r11*4 + 0x151]
mov byte [r15 + rbx + 1], al
movzx eax, byte [rsp + r11*4 + 0x152]
mov byte [r15 + rbx + 2], al
mov rbx, rcx
cmp dword [rsp + 0x3c], 4
jne 0x14009ab51
add r10d, 4
mov byte [r15 + rbx], 0xff
mov ebx, r10d
inc r13d
cmp r13d, edx
je 0x14009abf9
test r9d, r9d
jg 0x14009aaf3
mov rcx, qword [rsp + 0x40]
cmp rcx, qword [rsp + 0x50]
jae 0x14009ab80
lea rax, [rcx + 1]
mov qword [rsi], rax
movzx r8d, byte [rcx]
mov qword [rsp + 0x40], rax
jmp 0x14009abea
cmp dword [rdi], 0
je 0x14009abb9
mov r8d, dword [r14 + 0x34]
mov rcx, qword [r14 + 0x28]
mov rdx, r12
call qword [r14 + 0x10]
mov ecx, dword [r14 + 0xc0]
sub ecx, dword [r14 + 0xd0]
add dword [r14 + 0xb8], ecx
test eax, eax
je 0x14009abbe
cdqe
add rax, r12
movzx r8d, byte [r12]
jmp 0x14009abcf
xor r8d, r8d
jmp 0x14009abea
mov dword [rdi], 0
mov byte [r12], 0
xor r8d, r8d
mov rax, rbp
mov qword [rsp + 0x50], rax
mov qword [r14 + 0xc8], rax
mov qword [r14 + 0xc0], rbp
mov edx, dword [r14]
mov qword [rsp + 0x40], rbp
movzx r8d, r8b
mov r9d, 7
jmp 0x14009aaf6
cmp dword [rsp + 0x88], 0
je 0x14009aa2e
cmp qword [r14 + 0x10], 0
mov rcx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x40]
je 0x14009aa23
mov eax, ecx
sub eax, r8d
mov edx, dword [rsp + 0x88]
sub edx, eax
jle 0x14009aa23
mov qword [r14 + 0xc0], rcx
mov rcx, qword [r14 + 0x28]
call qword [r14 + 0x18]
jmp 0x14009aa2e
mov eax, dword [r14]
mov edx, dword [r14 + 4]
test edx, edx
jle 0x14009b6f4
neg eax
and eax, 3
mov dword [rsp + 0x88], eax
mov eax, eax
mov qword [rsp + 0x98], rax
xor r11d, r11d
xor eax, eax
mov ebx, dword [rsp + 0x3c]
mov r10d, dword [rsp + 0x68]
jmp 0x14009aca8
mov qword [r14 + 0xc0], rcx
mov rcx, qword [r14 + 0x28]
mov r13, r11
call qword [r14 + 0x18]
mov r11, r13
mov r10d, dword [rsp + 0x68]
mov eax, dword [rsp + 0x90]
inc eax
mov ecx, dword [r14 + 4]
cmp eax, ecx
jge 0x14009b6fb
mov dword [rsp + 0x90], eax
cmp dword [r14], 0
jle 0x14009aee6
mov rcx, qword [rsi]
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
xor r13d, r13d
jmp 0x14009acde
add r13d, 2
cmp r13d, dword [r14]
mov r10d, ecx
mov rcx, qword [rsp + 0x50]
jge 0x14009aee6
cmp rcx, rax
jae 0x14009acf7
mov qword [rsp + 0x40], rax
lea r8, [rcx + 1]
mov qword [rsi], r8
movzx edx, byte [rcx]
mov rcx, r8
jmp 0x14009ad6b
cmp dword [rdi], 0
je 0x14009ad35
mov qword [rsp + 0x40], r11
mov r8d, dword [r14 + 0x34]
mov rcx, qword [r14 + 0x28]
mov rdx, r12
call qword [r14 + 0x10]
mov ecx, dword [r14 + 0xc0]
sub ecx, dword [r14 + 0xd0]
add dword [r14 + 0xb8], ecx
test eax, eax
je 0x14009ad3e
cdqe
add rax, r12
movzx edx, byte [r12]
jmp 0x14009ad4e
mov qword [rsp + 0x40], rax
xor edx, edx
jmp 0x14009ad6b
mov dword [rdi], 0
mov byte [r12], 0
xor edx, edx
mov rax, rbp
mov r10d, dword [rsp + 0x68]
mov r11, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x40], rax
mov qword [rcx], rax
mov qword [rsi], rbp
mov rcx, rbp
movzx r8d, dl
mov edx, r8d
and edx, 0xf
mov r9d, r8d
shr r9d, 4
mov eax, r10d
cmp r10d, 4
cmovne r9d, r8d
mov r8d, 0
cmovne edx, r8d
movsxd r8, r11d
lea rbx, [r8 + 3]
movzx r10d, byte [rsp + r9*4 + 0x150]
mov byte [r15 + r8], r10b
movzx r10d, byte [rsp + r9*4 + 0x151]
mov byte [r15 + r8 + 1], r10b
movzx r9d, byte [rsp + r9*4 + 0x152]
mov byte [r15 + r8 + 2], r9b
mov r9, rbx
mov ebx, dword [rsp + 0x3c]
cmp ebx, 4
jne 0x14009add9
add r11d, 4
mov byte [r15 + r9], 0xff
mov r9d, r11d
lea r8d, [r13 + 1]
cmp r8d, dword [r14]
je 0x14009aee0
mov r10d, eax
cmp eax, 8
jne 0x14009ae0c
mov rax, qword [rsp + 0x40]
cmp rcx, rax
jae 0x14009ae1b
lea r8, [rcx + 1]
mov qword [rsi], r8
movzx edx, byte [rcx]
mov qword [rsp + 0x50], r8
jmp 0x14009ae8c
mov qword [rsp + 0x50], rcx
mov ecx, r10d
mov rax, qword [rsp + 0x40]
jmp 0x14009ae92
cmp dword [rdi], 0
je 0x14009ae59
mov qword [rsp + 0x40], r9
mov r8d, dword [r14 + 0x34]
mov rcx, qword [r14 + 0x28]
mov rdx, r12
call qword [r14 + 0x10]
mov ecx, dword [r14 + 0xc0]
sub ecx, dword [r14 + 0xd0]
add dword [r14 + 0xb8], ecx
test eax, eax
je 0x14009ae62
cdqe
add rax, r12
movzx edx, byte [r12]
jmp 0x14009ae72
mov qword [rsp + 0x50], rcx
xor edx, edx
jmp 0x14009ae8c
mov dword [rdi], 0
mov byte [r12], 0
xor edx, edx
mov rax, rbp
mov r9, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
mov qword [rsi], rbp
mov qword [rsp + 0x50], rbp
mov r10d, dword [rsp + 0x68]
mov ecx, r10d
movzx edx, dl
movsxd r8, r9d
lea r11, [r8 + 3]
mov edx, edx
mov r10, r9
movzx r9d, byte [rsp + rdx*4 + 0x150]
mov byte [r15 + r8], r9b
movzx r9d, byte [rsp + rdx*4 + 0x151]
mov byte [r15 + r8 + 1], r9b
movzx edx, byte [rsp + rdx*4 + 0x152]
mov byte [r15 + r8 + 2], dl
cmp ebx, 4
jne 0x14009acc9
add r10d, 4
mov byte [r15 + r11], 0xff
mov r11d, r10d
jmp 0x14009acc9
mov r11d, r9d
mov r10d, eax
cmp dword [rsp + 0x88], 0
je 0x14009ac93
cmp qword [r14 + 0x10], 0
je 0x14009af1e
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax]
mov rax, qword [rsi]
mov r8d, ecx
sub r8d, eax
mov edx, dword [rsp + 0x88]
sub edx, r8d
jg 0x14009ac79
jmp 0x14009af21
mov rax, qword [rsi]
add rax, qword [rsp + 0x98]
mov qword [rsi], rax
jmp 0x14009ac93
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
lea rax, str.bad_bpp
jmp 0x140099e69
mov rax, qword [rsi]
mov ecx, dword [rsp + 0x50]
add rcx, rax
mov qword [rsi], rcx
mov ecx, dword [rsp + 0x68]
cmp ecx, 0x10
je 0x14009af8f
cmp ecx, 0x20
je 0x14009afa3
mov dword [rsp + 0xa4], 0
cmp ecx, 0x18
jne 0x14009b036
mov eax, dword [r14]
and eax, 3
mov dword [rsp + 0xa4], eax
mov dword [rsp + 0xa8], 0
jmp 0x14009afe8
mov eax, dword [r14]
add eax, eax
and eax, 2
mov dword [rsp + 0xa4], eax
jmp 0x14009b036
mov eax, dword [rsp + 0xb0]
xor eax, 0xff
mov ecx, dword [rsp + 0x98]
xor ecx, 0xff00
or ecx, eax
mov eax, dword [rsp + 0x88]
xor eax, 0xff0000
or eax, ecx
sete al
mov dword [rsp + 0xa4], 0
test al, r13b
je 0x14009b036
mov al, 1
mov dword [rsp + 0xa8], eax
mov dword [rsp + 0xc4], 0
mov dword [rsp + 0x4c], 0
mov dword [rsp + 0x64], 0
mov dword [rsp + 0x80], 0
mov dword [rsp + 0xac], 0
xor r13d, r13d
mov dword [rsp + 0x50], 0
mov dword [rsp + 0xc8], 0
xor eax, eax
jmp 0x14009b132
cmp dword [rsp + 0x88], 0
je 0x14009b6df
cmp dword [rsp + 0x98], 0
je 0x14009b6df
cmp dword [rsp + 0xb0], 0
je 0x14009b6df
mov ebx, dword [rsp + 0x88]
mov ecx, ebx
call fcn.1400ac5c0
mov dword [rsp + 0x4c], eax
mov ecx, ebx
call fcn.1400ac630
mov r13d, eax
mov ebx, dword [rsp + 0x98]
mov ecx, ebx
call fcn.1400ac5c0
mov dword [rsp + 0x64], eax
mov ecx, ebx
call fcn.1400ac630
mov dword [rsp + 0x50], eax
mov ebx, dword [rsp + 0xb0]
mov ecx, ebx
call fcn.1400ac5c0
mov dword [rsp + 0x80], eax
mov ecx, ebx
call fcn.1400ac630
mov dword [rsp + 0xc8], eax
mov ebx, dword [rsp + 0x90]
mov ecx, ebx
call fcn.1400ac5c0
mov dword [rsp + 0xac], eax
mov ecx, ebx
call fcn.1400ac630
cmp r13d, 8
ja 0x14009b6df
cmp dword [rsp + 0x50], 8
ja 0x14009b6df
cmp dword [rsp + 0xc8], 8
ja 0x14009b6df
cmp eax, 9
jae 0x14009b6df
add dword [rsp + 0x4c], 0xfffffff9
add dword [rsp + 0x64], 0xfffffff9
add dword [rsp + 0x80], 0xfffffff9
add dword [rsp + 0xac], 0xfffffff9
mov dword [rsp + 0xa8], 0
mov cl, 1
mov dword [rsp + 0xc4], ecx
mov edx, dword [r14 + 4]
test edx, edx
jle 0x14009b6f4
mov ecx, dword [rsp + 0x4c]
neg ecx
mov dword [rsp + 0x104], ecx
mov ecx, 8
mov edx, 8
sub edx, r13d
mov dword [rsp + 0x100], edx
mov edx, r13d
mov qword [rsp + 0x120], rdx
mov edx, dword [rsp + 0x64]
neg edx
mov dword [rsp + 0xfc], edx
mov edx, 8
mov r8d, dword [rsp + 0x50]
sub edx, r8d
mov dword [rsp + 0xf8], edx
mov edx, r8d
mov qword [rsp + 0x118], rdx
mov edx, dword [rsp + 0x80]
neg edx
mov dword [rsp + 0xf4], edx
mov edx, 8
mov r8d, dword [rsp + 0xc8]
sub edx, r8d
mov dword [rsp + 0xf0], edx
mov edx, r8d
mov qword [rsp + 0xc8], rdx
mov edx, dword [rsp + 0xac]
neg edx
mov dword [rsp + 0xe8], edx
sub ecx, eax
mov dword [rsp + 0xec], ecx
mov eax, eax
mov qword [rsp + 0x110], rax
mov eax, dword [rsp + 0xa4]
mov qword [rsp + 0x108], rax
xor r10d, r10d
xor r13d, r13d
mov ebx, dword [rsp + 0x3c]
jmp 0x14009b224
mov rax, qword [rsi]
add rax, qword [rsp + 0x108]
mov qword [rsi], rax
inc r13d
mov ecx, dword [r14 + 4]
cmp r13d, ecx
jge 0x14009b6fb
mov eax, dword [r14]
cmp byte [rsp + 0xc4], 0
mov dword [rsp + 0xe4], r13d
je 0x14009b40e
test eax, eax
jle 0x14009b67f
xor edx, edx
mov eax, r10d
mov dword [rsp + 0x40], r10d
jmp 0x14009b26a
or ecx, eax
mov dword [rsp + 0x78], ecx
inc edx
mov eax, r10d
mov dword [rsp + 0x40], r10d
cmp edx, dword [r14]
jge 0x14009b67f
mov dword [rsp + 0x50], edx
mov rcx, r14
call fcn.1400abf10
mov r13d, eax
cmp dword [rsp + 0x68], 0x10
je 0x14009b28e
mov rcx, r14
call fcn.1400abf10
shl eax, 0x10
or r13d, eax
mov eax, r13d
and eax, dword [rsp + 0x88]
mov edx, dword [rsp + 0x4c]
test edx, edx
mov ecx, dword [rsp + 0x104]
shlx ecx, eax, ecx
shrx eax, eax, edx
cmovs eax, ecx
mov ecx, dword [rsp + 0x100]
shrx eax, eax, ecx
mov r10, qword [rsp + 0x120]
lea rbx, [0x140131d10]
imul eax, dword [rbx + r10*4]
mov ecx, r13d
and ecx, dword [rsp + 0x98]
mov r8d, dword [rsp + 0x64]
test r8d, r8d
mov edx, dword [rsp + 0xfc]
shlx edx, ecx, edx
shrx ecx, ecx, r8d
cmovs ecx, edx
mov edx, dword [rsp + 0xf8]
shrx ecx, ecx, edx
mov r11, qword [rsp + 0x118]
imul ecx, dword [rbx + r11*4]
mov edx, r13d
and edx, dword [rsp + 0xb0]
mov r9d, dword [rsp + 0x80]
test r9d, r9d
mov r8d, dword [rsp + 0xf4]
shlx r8d, edx, r8d
shrx edx, edx, r9d
cmovs edx, r8d
lea r9, [0x140131d40]
movzx r8d, byte [r9 + r10*4]
sarx eax, eax, r8d
movsxd r8, dword [rsp + 0x40]
mov byte [r15 + r8], al
movzx eax, byte [r9 + r11*4]
sarx eax, ecx, eax
mov ecx, dword [rsp + 0xf0]
shrx ecx, edx, ecx
mov rdx, qword [rsp + 0xc8]
imul ecx, dword [rbx + rdx*4]
mov byte [r15 + r8 + 1], al
movzx eax, byte [r9 + rdx*4]
sarx eax, ecx, eax
mov byte [r15 + r8 + 2], al
lea r10, [r8 + 3]
mov eax, dword [rsp + 0x90]
test eax, eax
je 0x14009b3df
and r13d, eax
mov ecx, dword [rsp + 0xac]
test ecx, ecx
mov eax, dword [rsp + 0xe8]
shlx eax, r13d, eax
shrx ecx, r13d, ecx
cmovs ecx, eax
mov eax, dword [rsp + 0xec]
shrx eax, ecx, eax
mov rcx, qword [rsp + 0x110]
imul eax, dword [rbx + rcx*4]
movzx ecx, byte [r9 + rcx*4]
sarx eax, eax, ecx
jmp 0x14009b3e4
mov eax, 0xff
mov ecx, dword [rsp + 0x78]
mov edx, dword [rsp + 0x50]
mov ebx, dword [rsp + 0x3c]
cmp ebx, 4
jne 0x14009b251
mov r8d, dword [rsp + 0x40]
add r8d, 4
mov byte [r15 + r10], al
mov r10d, r8d
jmp 0x14009b251
test eax, eax
jle 0x14009b67f
mov rcx, qword [rsi]
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
xor r13d, r13d
mov r9d, r10d
jmp 0x14009b43f
movzx edx, dl
or dword [rsp + 0x78], edx
inc r13d
mov r9d, r10d
cmp r13d, dword [r14]
jge 0x14009b67f
cmp rcx, rax
jae 0x14009b453
lea r8, [rcx + 1]
mov qword [rsi], r8
movzx edx, byte [rcx]
mov rcx, r8
jmp 0x14009b4b8
cmp dword [rdi], 0
je 0x14009b48f
mov ebx, r9d
mov r8d, dword [r14 + 0x34]
mov rcx, qword [r14 + 0x28]
mov rdx, r12
call qword [r14 + 0x10]
mov ecx, dword [r14 + 0xc0]
sub ecx, dword [r14 + 0xd0]
add dword [r14 + 0xb8], ecx
test eax, eax
je 0x14009b493
cdqe
add rax, r12
movzx edx, byte [r12]
jmp 0x14009b4a3
xor edx, edx
jmp 0x14009b4b8
mov dword [rdi], 0
mov byte [r12], 0
xor edx, edx
mov rax, rbp
mov r9d, ebx
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
mov qword [rsi], rbp
mov rcx, rbp
mov ebx, dword [rsp + 0x3c]
movsxd r10, r9d
mov byte [r10 + r15 + 2], dl
cmp rcx, rax
jae 0x14009b4d4
lea r8, [rcx + 1]
mov qword [rsi], r8
movzx edx, byte [rcx]
mov rcx, r8
jmp 0x14009b543
cmp dword [rdi], 0
je 0x14009b515
mov dword [rsp + 0x40], r9d
mov rbx, r10
mov r8d, dword [r14 + 0x34]
mov rcx, qword [r14 + 0x28]
mov rdx, r12
call qword [r14 + 0x10]
mov ecx, dword [r14 + 0xc0]
sub ecx, dword [r14 + 0xd0]
add dword [r14 + 0xb8], ecx
test eax, eax
je 0x14009b519
cdqe
add rax, r12
movzx edx, byte [r12]
jmp 0x14009b529
xor edx, edx
jmp 0x14009b543
mov dword [rdi], 0
mov byte [r12], 0
xor edx, edx
mov rax, rbp
mov r10, rbx
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
mov qword [rsi], rbp
mov rcx, rbp
mov ebx, dword [rsp + 0x3c]
mov r9d, dword [rsp + 0x40]
mov byte [r10 + r15 + 1], dl
cmp rcx, rax
jae 0x14009b55c
lea r8, [rcx + 1]
mov qword [rsi], r8
movzx edx, byte [rcx]
mov rcx, r8
jmp 0x14009b5cb
cmp dword [rdi], 0
je 0x14009b59d
mov dword [rsp + 0x40], r9d
mov rbx, r10
mov r8d, dword [r14 + 0x34]
mov rcx, qword [r14 + 0x28]
mov rdx, r12
call qword [r14 + 0x10]
mov ecx, dword [r14 + 0xc0]
sub ecx, dword [r14 + 0xd0]
add dword [r14 + 0xb8], ecx
test eax, eax
je 0x14009b5a1
cdqe
add rax, r12
movzx edx, byte [r12]
jmp 0x14009b5b1
xor edx, edx
jmp 0x14009b5cb
mov dword [rdi], 0
mov byte [r12], 0
xor edx, edx
mov rax, rbp
mov r10, rbx
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
mov qword [rsi], rbp
mov rcx, rbp
mov ebx, dword [rsp + 0x3c]
mov r9d, dword [rsp + 0x40]
mov byte [r15 + r10], dl
add r10, 3
mov dl, 0xff
cmp byte [rsp + 0xa8], 0
je 0x14009b666
cmp rcx, rax
jae 0x14009b5f7
lea r8, [rcx + 1]
mov qword [rsi], r8
movzx edx, byte [rcx]
mov rcx, r8
jmp 0x14009b666
cmp dword [rdi], 0
je 0x14009b638
mov dword [rsp + 0x40], r9d
mov rbx, r10
mov r8d, dword [r14 + 0x34]
mov rcx, qword [r14 + 0x28]
mov rdx, r12
call qword [r14 + 0x10]
mov ecx, dword [r14 + 0xc0]
sub ecx, dword [r14 + 0xd0]
add dword [r14 + 0xb8], ecx
test eax, eax
je 0x14009b63c
cdqe
add rax, r12
movzx edx, byte [r12]
jmp 0x14009b64c
xor edx, edx
jmp 0x14009b666
mov dword [rdi], 0
mov byte [r12], 0
xor edx, edx
mov rax, rbp
mov r10, rbx
mov r9d, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
mov qword [rsi], rbp
mov rcx, rbp
mov ebx, dword [rsp + 0x3c]
cmp ebx, 4
jne 0x14009b429
add r9d, 4
mov byte [r15 + r10], dl
mov r10d, r9d
jmp 0x14009b429
cmp dword [rsp + 0xa4], 0
mov r13d, dword [rsp + 0xe4]
je 0x14009b214
cmp qword [r14 + 0x10], 0
je 0x14009b206
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax]
mov rax, qword [rsi]
mov r8d, ecx
sub r8d, eax
mov edx, dword [rsp + 0xa4]
sub edx, r8d
jle 0x14009b209
mov qword [r14 + 0xc0], rcx
mov rcx, qword [r14 + 0x28]
mov rbx, r10
call qword [r14 + 0x18]
mov r10, rbx
mov ebx, dword [rsp + 0x3c]
jmp 0x14009b214
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
lea rax, str.bad_masks
jmp 0x140099e69
mov rcx, rdx
mov ebx, dword [rsp + 0x3c]
cmp ebx, 4
mov qword [rsp + 0x40], rcx
jne 0x14009b789
cmp dword [rsp + 0x78], 0
jne 0x14009b789
mov edx, dword [r14]
imul edx, ecx
shl edx, 2
dec edx
js 0x14009b789
mov r8d, edx
shr r8d, 2
inc r8d
mov rax, rdx
and r8, 7
je 0x14009b741
mov rax, rdx
mov byte [r15 + rax], 0xff
add rax, 0xfffffffffffffffc
dec r8
jne 0x14009b733
cmp edx, 0x1c
mov rcx, qword [rsp + 0x40]
jb 0x14009b789
add rax, 4
mov byte [r15 + rax - 4], 0xff
mov byte [r15 + rax - 8], 0xff
mov byte [r15 + rax - 0xc], 0xff
mov byte [r15 + rax - 0x10], 0xff
mov byte [r15 + rax - 0x14], 0xff
mov byte [r15 + rax - 0x18], 0xff
mov byte [r15 + rax - 0x1c], 0xff
mov byte [r15 + rax - 0x20], 0xff
add rax, 0xffffffffffffffe0
cmp rax, 3
ja 0x14009b74f
cmp dword [rsp + 0xe0], 0
jle 0x14009b9b7
cmp ecx, 2
jl 0x14009b9b7
mov eax, ecx
shr eax, 1
mov qword [rsp + 0x58], rax
mov edx, dword [r14]
imul edx, dword [rsp + 0x3c]
lea rax, [r15 + rdx]
mov qword [rsp + 0x90], rax
mov r9d, edx
and r9d, 0xffffffc0
mov eax, edx
and eax, 0xfffffff0
mov r8, rdx
neg r8
mov qword [rsp + 0x50], r8
lea r8, [r15 + 0x20]
mov qword [rsp + 0xb0], r8
lea edi, [rcx - 1]
imul edi, edx
lea r8, [r15 + 1]
mov qword [rsp + 0x88], r8
xor r12d, r12d
xor r13d, r13d
mov qword [rsp + 0x98], r9
jmp 0x14009b815
inc r13
add r12d, edx
sub edi, edx
cmp r13, qword [rsp + 0x58]
je 0x14009b9b7
test edx, edx
jle 0x14009b802
mov ebp, edi
mov esi, r12d
mov r10d, edx
imul r10d, r13d
lea r8, [r15 + r10]
mov ebx, r13d
not ebx
add ebx, ecx
cmp edx, 0x10
jae 0x14009b83d
xor r10d, r10d
jmp 0x14009b934
mov rcx, r8
mov r8d, edx
imul r8d, ebx
mov r9, qword [rsp + 0x90]
lea r11, [r9 + r8]
mov qword [rsp + 0x78], rcx
cmp rcx, r11
jae 0x14009b87a
add r10, r9
add r8, r15
cmp r8, r10
jae 0x14009b87a
xor r10d, r10d
mov r8, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x40]
jmp 0x14009b934
cmp edx, 0x40
mov rcx, qword [rsp + 0x40]
jae 0x14009b889
xor r11d, r11d
jmp 0x14009b8fa
mov r8, qword [rsp + 0xb0]
lea r10, [r8 + rsi]
lea r11, [r8 + rbp]
xor r8d, r8d
mov r9, qword [rsp + 0x98]
vmovups ymm0, ymmword [r10 + r8 - 0x20]
vmovups ymm1, ymmword [r10 + r8]
vmovups ymm2, ymmword [r11 + r8 - 0x20]
vmovups ymm3, ymmword [r11 + r8]
vmovups ymmword [r10 + r8 - 0x20], ymm2
vmovups ymmword [r10 + r8], ymm3
vmovups ymmword [r11 + r8 - 0x20], ymm0
vmovups ymmword [r11 + r8], ymm1
add r8, 0x40
cmp r9, r8
jne 0x14009b8a4
cmp r9, rdx
mov r8, qword [rsp + 0x78]
je 0x14009b802
mov r11, r9
mov r10, r9
test dl, 0x30
je 0x14009b934
lea r8, [r15 + rsi]
lea r10, [r15 + rbp]
vmovups xmm0, xmmword [r8 + r11]
vmovups xmm1, xmmword [r10 + r11]
vmovups xmmword [r8 + r11], xmm1
vmovups xmmword [r10 + r11], xmm0
add r11, 0x10
cmp rax, r11
jne 0x14009b902
mov r10, rax
cmp rax, rdx
mov r8, qword [rsp + 0x78]
je 0x14009b802
mov r11, r10
test dl, 1
je 0x14009b963
imul ebx, edx
add rbx, r15
mov rcx, r8
movzx r8d, byte [r8 + r10]
movzx r11d, byte [rbx + r10]
mov byte [rcx + r10], r11b
mov rcx, qword [rsp + 0x40]
mov byte [rbx + r10], r8b
mov r11, r10
or r11, 1
not r10
cmp r10, qword [rsp + 0x50]
je 0x14009b802
mov r8, qword [rsp + 0x88]
add rbp, r8
add rsi, r8
movzx r8d, byte [rsi + r11 - 1]
movzx r10d, byte [rbp + r11 - 1]
mov byte [rsi + r11 - 1], r10b
mov byte [rbp + r11 - 1], r8b
movzx r8d, byte [rsi + r11]
movzx r10d, byte [rbp + r11]
mov byte [rsi + r11], r10b
mov byte [rbp + r11], r8b
add r11, 2
cmp rdx, r11
jne 0x14009b97f
jmp 0x14009b802
mov r8d, dword [rsp + 0x74]
test r8d, r8d
je 0x14009b9ed
mov edx, dword [rsp + 0x3c]
cmp edx, r8d
je 0x14009b9ed
mov r9d, dword [r14]
mov rax, qword [rsp + 0x40]
mov dword [rsp + 0x20], eax
mov rcx, r15
vzeroupper
call fcn.1400a41f0
mov r15, rax
test rax, rax
je 0x140099676
mov eax, dword [r14]
mov rcx, qword [rsp + 0xd0]
mov dword [rcx], eax
mov eax, dword [r14 + 4]
mov rcx, qword [rsp + 0xd8]
mov dword [rcx], eax
mov rcx, qword [rsp + 0xb8]
test rcx, rcx
je 0x140099c87
mov eax, dword [r14 + 8]
mov dword [rcx], eax
jmp 0x140099c87
mov rcx, rax
jmp 0x14009b6f7
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
mov rdi, r9
mov r14, r8
mov r13, rdx
mov r15, rcx
mov rax, qword [0x14021fc40]
xor rax, rsp
mov qword [rsp + 0xb0], rax
lea r12, [rcx + 0x38]
lea rbx, [rcx + 0x39]
mov rcx, qword [rcx + 0xc0]
mov rax, qword [r15 + 0xc8]
mov esi, 0x5c
jmp 0x14009c24e
inc rcx
mov qword [r15 + 0xc0], rcx
dec esi
je 0x14009c2a5
cmp rcx, rax
jb 0x14009c240
cmp dword [r15 + 0x30], 0
je 0x14009c24a
mov r8d, dword [r15 + 0x34]
mov rcx, qword [r15 + 0x28]
mov rdx, r12
call qword [r15 + 0x10]
mov ecx, dword [r15 + 0xc0]
sub ecx, dword [r15 + 0xd0]
add dword [r15 + 0xb8], ecx
test eax, eax
je 0x14009c289
cdqe
add rax, r12
jmp 0x14009c299
mov dword [r15 + 0x30], 0
mov byte [r15 + 0x38], 0
mov rax, rbx
mov qword [r15 + 0xc8], rax
mov rcx, rbx
jmp 0x14009c243
mov rcx, r15
call fcn.1400a8750
mov esi, eax
mov rcx, r15
call fcn.1400a8750
mov ebp, eax
cmp qword [r15 + 0x10], 0
je 0x14009c2d3
mov rcx, qword [r15 + 0x28]
call qword [r15 + 0x20]
test eax, eax
je 0x14009c2e3
cmp dword [r15 + 0x30], 0
je 0x14009c34c
mov rax, qword [r15 + 0xc0]
cmp rax, qword [r15 + 0xc8]
jae 0x14009c34c
test ebp, ebp
je 0x14009c36b
mov eax, 0x7fffffff
xor edx, edx
div ebp
cmp eax, esi
jb 0x14009cb75
mov eax, ebp
imul eax, esi
cmp eax, 0x20000000
jae 0x14009cb75
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x40], r14
mov rcx, r15
call fcn.1400a8750
mov rcx, r15
call fcn.1400a8750
mov rcx, r15
call fcn.1400a8750
mov rcx, r15
call fcn.1400a8750
test ebp, ebp
je 0x14009c395
mov eax, 0x7fffffff
xor edx, edx
div ebp
cmp eax, esi
jae 0x14009c395
jmp 0x14009cb59
mov eax, dword [0x1402293c0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [0x1401324ff]
jmp 0x14009cb8f
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x40], r14
mov rcx, r15
call fcn.1400a8750
mov rcx, r15
call fcn.1400a8750
mov rcx, r15
call fcn.1400a8750
mov rcx, r15
call fcn.1400a8750
mov r13d, ebp
imul r13d, esi
cmp r13d, 0x1fffffff
ja 0x14009cb59
shl r13d, 2
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
test rax, rax
je 0x14009cb59
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x48], rax
mov rcx, rax
mov dl, 0xff
mov r8, r13
call sub.VCRUNTIME140.dll_memset
xor esi, esi
lea rdi, [rsp + 0x92]
xor r13d, r13d
mov dword [rsp + 0x5c], ebp
nop dword [rax]
cmp rsi, 0xa
je 0x14009cbbf
mov rcx, qword [r15 + 0xc0]
mov rax, qword [r15 + 0xc8]
cmp rcx, rax
jae 0x14009c450
lea rdx, [rcx + 1]
mov qword [r15 + 0xc0], rdx
movzx ecx, byte [rcx]
mov dword [rsp + 0x34], ecx
mov rcx, rdx
cmp rcx, rax
jae 0x14009c4d0
lea rdx, [rcx + 1]
mov qword [r15 + 0xc0], rdx
movzx ebp, byte [rcx]
mov rcx, rdx
jmp 0x14009c532
cmp dword [r15 + 0x30], 0
je 0x14009c48f
mov r8d, dword [r15 + 0x34]
mov rcx, qword [r15 + 0x28]
mov rdx, r12
call qword [r15 + 0x10]
mov ecx, dword [r15 + 0xc0]
sub ecx, dword [r15 + 0xd0]
add dword [r15 + 0xb8], ecx
test eax, eax
je 0x14009c49e
cdqe
add rax, r12
movzx ecx, byte [r12]
mov dword [rsp + 0x34], ecx
jmp 0x14009c4b6
mov dword [rsp + 0x34], 0
cmp rcx, rax
jb 0x14009c42b
jmp 0x14009c4d0
mov dword [r15 + 0x30], 0
mov byte [r15 + 0x38], 0
mov dword [rsp + 0x34], 0
mov rax, rbx
mov qword [r15 + 0xc8], rax
mov qword [r15 + 0xc0], rbx
mov rcx, rbx
cmp rcx, rax
jb 0x14009c42b
cmp dword [r15 + 0x30], 0
je 0x14009c50b
mov r8d, dword [r15 + 0x34]
mov rcx, qword [r15 + 0x28]
mov rdx, r12
call qword [r15 + 0x10]
mov ecx, dword [r15 + 0xc0]
sub ecx, dword [r15 + 0xd0]
add dword [r15 + 0xb8], ecx
test eax, eax
je 0x14009c50f
cdqe
add rax, r12
movzx ebp, byte [r12]
jmp 0x14009c521
xor ebp, ebp
jmp 0x14009c532
mov dword [r15 + 0x30], 0
mov byte [r15 + 0x38], 0
xor ebp, ebp
mov rax, rbx
mov qword [r15 + 0xc8], rax
mov qword [r15 + 0xc0], rbx
mov rcx, rbx
mov byte [rdi - 2], bpl
cmp rcx, rax
jae 0x14009c550
lea r8, [rcx + 1]
mov qword [r15 + 0xc0], r8
movzx edx, byte [rcx]
mov rcx, r8
jmp 0x14009c5b2
cmp dword [r15 + 0x30], 0
je 0x14009c58b
mov r8d, dword [r15 + 0x34]
mov rcx, qword [r15 + 0x28]
mov rdx, r12
call qword [r15 + 0x10]
mov ecx, dword [r15 + 0xc0]
sub ecx, dword [r15 + 0xd0]
add dword [r15 + 0xb8], ecx
test eax, eax
je 0x14009c58f
cdqe
add rax, r12
movzx edx, byte [r12]
jmp 0x14009c5a1
xor edx, edx
jmp 0x14009c5b2
mov dword [r15 + 0x30], 0
mov byte [r15 + 0x38], 0
xor edx, edx
mov rax, rbx
mov qword [r15 + 0xc8], rax
mov qword [r15 + 0xc0], rbx
mov rcx, rbx
mov byte [rdi - 1], dl
cmp rcx, rax
jae 0x14009c5d0
lea rdx, [rcx + 1]
mov qword [r15 + 0xc0], rdx
movzx r14d, byte [rcx]
mov rcx, rdx
jmp 0x14009c634
cmp dword [r15 + 0x30], 0
je 0x14009c60b
mov r8d, dword [r15 + 0x34]
mov rcx, qword [r15 + 0x28]
mov rdx, r12
call qword [r15 + 0x10]
mov ecx, dword [r15 + 0xc0]
sub ecx, dword [r15 + 0xd0]
add dword [r15 + 0xb8], ecx
test eax, eax
je 0x14009c610
cdqe
add rax, r12
movzx r14d, byte [r12]
jmp 0x14009c623
xor r14d, r14d
jmp 0x14009c634
mov dword [r15 + 0x30], 0
mov byte [r15 + 0x38], 0
xor r14d, r14d
mov rax, rbx
mov qword [r15 + 0xc8], rax
mov qword [r15 + 0xc0], rbx
mov rcx, rbx
mov byte [rdi], r14b
cmp qword [r15 + 0x10], 0
je 0x14009c663
mov rcx, qword [r15 + 0x28]
call qword [r15 + 0x20]
test eax, eax
je 0x14009c66c
cmp dword [r15 + 0x30], 0
je 0x14009cbdb
mov rcx, qword [r15 + 0xc0]
mov rax, qword [r15 + 0xc8]
cmp rcx, rax
jae 0x14009cbdb
cmp bpl, 8
jne 0x14009cbbf
movzx eax, r14b
or r13d, eax
add rdi, 3
inc rsi
cmp byte [rsp + 0x34], 0
mov eax, dword [rsp + 0x5c]
jne 0x14009c3f0
and r13d, 0x10
cmp r13d, 1
mov r8d, 4
sbb r8d, 0
mov rdi, qword [rsp + 0x50]
test rdi, rdi
je 0x14009c6b2
mov dword [rdi], r8d
test eax, eax
mov r14, qword [rsp + 0x40]
mov ebp, dword [rsp + 0x120]
mov r13, qword [rsp + 0x38]
je 0x14009cb4a
mov ecx, eax
mov rax, qword [rsp + 0x28]
lea eax, [rax*4]
mov ecx, ecx
mov qword [rsp + 0x70], rcx
xor ecx, ecx
mov dword [rsp + 0x34], r8d
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x38], r13
mov dword [rsp + 0x6c], eax
mov qword [rsp + 0x78], rcx
imul eax, ecx
cdqe
add rax, qword [rsp + 0x48]
mov qword [rsp + 0x60], rax
xor edx, edx
jmp 0x14009c73c
mov rdx, qword [rsp + 0x80]
inc rdx
cmp rsi, rdx
mov rdi, qword [rsp + 0x50]
mov r14, qword [rsp + 0x40]
mov ebp, dword [rsp + 0x120]
mov r13, qword [rsp + 0x38]
mov r8d, dword [rsp + 0x34]
je 0x14009cb33
lea rax, [rdx + rdx*2]
movzx ecx, byte [rsp + rax + 0x91]
test ecx, ecx
mov qword [rsp + 0x80], rdx
je 0x14009c954
cmp ecx, 1
je 0x14009c998
cmp ecx, 2
jne 0x14009cc89
cmp dword [rsp + 0x28], 0
je 0x14009c70d
lea r14, [rsp + rax]
add r14, 0x92
mov rax, qword [rsp + 0x28]
mov ebp, eax
mov r13, qword [rsp + 0x60]
mov rcx, qword [r15 + 0xc0]
mov rax, qword [r15 + 0xc8]
cmp rcx, rax
jae 0x14009c7ae
lea rdx, [rcx + 1]
mov qword [r15 + 0xc0], rdx
movzx edi, byte [rcx]
mov rcx, rdx
jmp 0x14009c810
cmp dword [r15 + 0x30], 0
je 0x14009c7e9
mov r8d, dword [r15 + 0x34]
mov rcx, qword [r15 + 0x28]
mov rdx, r12
call qword [r15 + 0x10]
mov ecx, dword [r15 + 0xc0]
sub ecx, dword [r15 + 0xd0]
add dword [r15 + 0xb8], ecx
test eax, eax
je 0x14009c7ed
cdqe
add rax, r12
movzx edi, byte [r12]
jmp 0x14009c7ff
xor edi, edi
jmp 0x14009c810
mov dword [r15 + 0x30], 0
mov byte [r15 + 0x38], 0
xor edi, edi
mov rax, rbx
mov qword [r15 + 0xc8], rax
mov qword [r15 + 0xc0], rbx
mov rcx, rbx
cmp qword [r15 + 0x10], 0
je 0x14009c83c
mov rcx, qword [r15 + 0x28]
call qword [r15 + 0x20]
test eax, eax
je 0x14009c845
cmp dword [r15 + 0x30], 0
je 0x14009cc63
mov rcx, qword [r15 + 0xc0]
mov rax, qword [r15 + 0xc8]
cmp rcx, rax
jae 0x14009cc63
movzx eax, dil
test al, al
mov dword [rsp + 0x58], ebp
js 0x14009c891
cmp ebp, eax
jbe 0x14009cc63
inc eax
movzx edi, byte [r14]
mov dword [rsp + 0x68], eax
mov ebp, eax
mov rcx, r15
mov edx, edi
mov r8, r13
call fcn.1400ae0b0
test rax, rax
je 0x14009cbfc
add r13, 4
dec ebp
jne 0x14009c865
mov ebp, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x68]
jmp 0x14009c946
cmp dil, 0x80
jne 0x14009c8a1
mov rcx, r15
call fcn.1400a8750
jmp 0x14009c8a4
add eax, 0xffffff81
mov rdi, qword [rsp + 0x50]
cmp eax, ebp
jg 0x14009ccaf
mov ebp, eax
movzx edx, byte [r14]
mov rcx, r15
lea r8, [rsp + 0x8c]
call fcn.1400ae0b0
test rax, rax
je 0x14009cc01
mov r8d, ebp
test ebp, ebp
jle 0x14009c942
mov eax, r8d
mov ebp, dword [rsp + 0x58]
jmp 0x14009c8e8
add r13, 4
dec eax
je 0x14009c946
movzx ecx, byte [r14]
test cl, cl
js 0x14009c901
test cl, 0x40
jne 0x14009c912
test cl, 0x20
jne 0x14009c923
test cl, 0x10
je 0x14009c8e0
jmp 0x14009c934
movzx edx, byte [rsp + 0x8c]
mov byte [r13], dl
test cl, 0x40
je 0x14009c8f5
movzx edx, byte [rsp + 0x8d]
mov byte [r13 + 1], dl
test cl, 0x20
je 0x14009c8fa
movzx edx, byte [rsp + 0x8e]
mov byte [r13 + 2], dl
test cl, 0x10
je 0x14009c8e0
movzx ecx, byte [rsp + 0x8f]
mov byte [r13 + 3], cl
jmp 0x14009c8e0
mov ebp, dword [rsp + 0x58]
sub ebp, r8d
jg 0x14009c788
jmp 0x14009c70d
cmp dword [rsp + 0x28], 0
je 0x14009c70d
movzx r13d, byte [rsp + rax + 0x92]
mov rax, qword [rsp + 0x28]
mov ebp, eax
mov rdi, qword [rsp + 0x60]
mov rcx, r15
mov edx, r13d
mov r8, rdi
call fcn.1400ae0b0
test rax, rax
je 0x14009cbfc
add rdi, 4
dec ebp
jne 0x14009c974
jmp 0x14009c70d
cmp dword [rsp + 0x28], 0
je 0x14009c70d
lea rdi, [rsp + rax]
add rdi, 0x92
mov rax, qword [rsp + 0x28]
mov ebp, eax
mov r14, qword [rsp + 0x60]
jmp 0x14009c9c4
sub ebp, eax
jle 0x14009c70d
mov rcx, qword [r15 + 0xc0]
mov rax, qword [r15 + 0xc8]
cmp rcx, rax
jae 0x14009c9eb
lea rdx, [rcx + 1]
mov qword [r15 + 0xc0], rdx
movzx r13d, byte [rcx]
mov rcx, rdx
jmp 0x14009ca4f
cmp dword [r15 + 0x30], 0
je 0x14009ca26
mov r8d, dword [r15 + 0x34]
mov rcx, qword [r15 + 0x28]
mov rdx, r12
call qword [r15 + 0x10]
mov ecx, dword [r15 + 0xc0]
sub ecx, dword [r15 + 0xd0]
add dword [r15 + 0xb8], ecx
test eax, eax
je 0x14009ca2b
cdqe
add rax, r12
movzx r13d, byte [r12]
jmp 0x14009ca3e
xor r13d, r13d
jmp 0x14009ca4f
mov dword [r15 + 0x30], 0
mov byte [r15 + 0x38], 0
xor r13d, r13d
mov rax, rbx
mov qword [r15 + 0xc8], rax
mov qword [r15 + 0xc0], rbx
mov rcx, rbx
cmp qword [r15 + 0x10], 0
je 0x14009ca7b
mov rcx, qword [r15 + 0x28]
call qword [r15 + 0x20]
test eax, eax
je 0x14009ca84
cmp dword [r15 + 0x30], 0
je 0x14009cc63
mov rcx, qword [r15 + 0xc0]
mov rax, qword [r15 + 0xc8]
cmp rcx, rax
jae 0x14009cc63
movzx edx, byte [rdi]
mov rcx, r15
lea r8, [rsp + 0x8c]
call fcn.1400ae0b0
test rax, rax
je 0x14009cbfc
movzx eax, r13b
cmp ebp, eax
cmovb eax, ebp
movzx eax, al
test al, al
je 0x14009c9bc
mov ecx, eax
jmp 0x14009cacc
add r14, 4
dec ecx
je 0x14009c9bc
movzx edx, byte [rdi]
test dl, dl
js 0x14009caf0
test dl, 0x40
jne 0x14009cb01
test dl, 0x20
jne 0x14009cb13
test dl, 0x10
je 0x14009cac0
jmp 0x14009cb25
movzx r8d, byte [rsp + 0x8c]
mov byte [r14], r8b
test dl, 0x40
je 0x14009cad8
movzx r8d, byte [rsp + 0x8d]
mov byte [r14 + 1], r8b
test dl, 0x20
je 0x14009cadd
movzx r8d, byte [rsp + 0x8e]
mov byte [r14 + 2], r8b
test dl, 0x10
je 0x14009cac0
movzx edx, byte [rsp + 0x8f]
mov byte [r14 + 3], dl
jmp 0x14009cac0
mov rcx, qword [rsp + 0x78]
inc rcx
cmp rcx, qword [rsp + 0x70]
mov eax, dword [rsp + 0x6c]
jne 0x14009c6f5
mov rsi, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x48]
jmp 0x14009cc29
mov eax, dword [0x1402293c0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, str.outofmem
jmp 0x14009cb8f
mov eax, dword [0x1402293c0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, str.too_large
mov qword [rax + 8], rcx
xor esi, esi
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.14011bef0
mov rax, rsi
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x1402293c0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, str.bad_format
jmp 0x14009cbf5
mov eax, dword [0x1402293c0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [0x1401324ff]
mov qword [rax + 8], rcx
mov rdi, qword [rsp + 0x50]
mov r14, qword [rsp + 0x40]
mov ebp, dword [rsp + 0x120]
mov r13, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor ecx, ecx
mov r8d, dword [rsp + 0x34]
test ebp, ebp
cmovne r8d, ebp
mov dword [r13], esi
mov eax, dword [rsp + 0x5c]
mov dword [r14], eax
test rdi, rdi
je 0x14009cc46
test ebp, ebp
jne 0x14009cc46
mov r8d, dword [rdi]
mov eax, dword [rsp + 0x5c]
mov dword [rsp + 0x20], eax
mov edx, 4
mov r9d, esi
call fcn.1400a41f0
mov rsi, rax
jmp 0x14009cb98
mov eax, dword [0x1402293c0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [0x1401324ff]
mov qword [rax + 8], rcx
jmp 0x14009cbfc
mov eax, dword [0x1402293c0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, str.bad_format
mov qword [rax + 8], rcx
jmp 0x14009cc12
mov eax, dword [0x1402293c0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [0x1401324ff]
mov qword [rax + 8], rcx
jmp 0x14009cc01
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x198
vmovapd xmmword [rsp + 0x180], xmm15
vmovaps xmmword [rsp + 0x170], xmm14
vmovaps xmmword [rsp + 0x160], xmm13
vmovaps xmmword [rsp + 0x150], xmm12
vmovdqa xmmword [rsp + 0x140], xmm11
vmovaps xmmword [rsp + 0x130], xmm10
vmovaps xmmword [rsp + 0x120], xmm9
vmovaps xmmword [rsp + 0x110], xmm8
vmovaps xmmword [rsp + 0x100], xmm7
vmovaps xmmword [rsp + 0xf0], xmm6
test rcx, rcx
je 0x1400a0963
mov ebp, r8d
mov r8d, edx
mov r15, rcx
mov eax, ebp
or eax, edx
js 0x1400a0939
test ebp, ebp
je 0x1400a060f
mov eax, 0x7fffffff
xor edx, edx
div ebp
cmp eax, r8d
jl 0x1400a0939
imul ebp, r8d
mov eax, ebp
or eax, r9d
js 0x1400a0939
test r9d, r9d
je 0x1400a0635
mov eax, 0x7fffffff
xor edx, edx
div r9d
cmp eax, ebp
jl 0x1400a0939
mov eax, ebp
imul eax, r9d
movsxd rcx, eax
mov qword [rsp + 0x30], r9
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rdx, qword [rsp + 0x30]
test rax, rax
je 0x1400a0939
mov qword [rsp + 0x28], rax
test ebp, ebp
jle 0x1400a09d3
mov eax, edx
and eax, 1
lea r14d, [rdx + rax]
dec r14d
vbroadcastss xmm6, dword [0x140207b68]
vbroadcastss ymm1, dword [0x140207b6c]
movsxd rax, edx
mov ecx, ebp
mov qword [rsp + 0x48], rcx
mov r13d, r14d
mov ebp, r13d
and ebp, 0xfffffff8
mov qword [rsp + 0x38], rax
lea rax, [rax*4]
mov qword [rsp + 0x40], rax
xor r12d, r12d
vmovss xmm8, dword [0x140122d94]
vmovss xmm9, dword [0x140120e58]
vxorps xmm10, xmm10, xmm10
vmovshdup xmm7, xmm6
vbroadcastss ymm0, dword [0x140122d94]
vmovups ymmword [rsp + 0xd0], ymm0
vpbroadcastd ymm0, dword [0x140120e58]
vmovdqu ymmword [rsp + 0xb0], ymm0
vmovdqa xmm11, xmmword [0x140131420]
mov rsi, r15
mov rbx, qword [rsp + 0x28]
vmovups ymmword [rsp + 0x90], ymm1
vmovaps xmmword [rsp + 0x70], xmm7
jmp 0x1400a0728
inc r12
add rbx, qword [rsp + 0x38]
add rsi, qword [rsp + 0x40]
cmp r12, qword [rsp + 0x48]
je 0x1400a09d3
mov eax, 0
test r14d, r14d
jle 0x1400a08fe
xor edi, edi
cmp r14d, 8
jb 0x1400a08c0
nop word cs:[rax + rax]
vmulps ymm0, ymm1, ymmword [rsi + rdi*4]
vmovups ymmword [rsp + 0x50], ymm0
vmovaps xmm1, xmm6
vzeroupper
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
vmovaps xmmword [rsp + 0x80], xmm0
vmovshdup xmm0, xmmword [rsp + 0x50]
vmovaps xmm1, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
vmovaps xmm9, xmm0
vpermilpd xmm0, xmmword [rsp + 0x50], 1
vmovaps xmm1, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
vmovapd xmm10, xmm0
vpermilps xmm0, xmmword [rsp + 0x50], 0xff
vmovaps xmm1, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
vmovdqa xmm7, xmm11
vmovaps xmm11, xmm0
vmovups ymm0, ymmword [rsp + 0x50]
vextractf128 xmm12, ymm0, 1
vmovshdup xmm0, xmm12
vmovaps xmm8, xmmword [rsp + 0x70]
vmovaps xmm1, xmm8
vzeroupper
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
vmovaps xmm13, xmm0
vmovaps xmm0, xmm12
vmovaps xmm1, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
vmovaps xmm14, xmm0
vpermilpd xmm15, xmm12, 1
vpermilps xmm0, xmm12, 0xff
vmovaps xmm1, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
vmovaps xmm12, xmm0
vmovapd xmm0, xmm15
vmovaps xmm1, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
vxorps xmm3, xmm3, xmm3
vmovups ymm2, ymmword [rsp + 0xd0]
vinsertps xmm1, xmm14, xmm13, 0x10
vinsertps xmm0, xmm1, xmm0, 0x20
vinsertps xmm0, xmm0, xmm12, 0x30
vmovaps xmm1, xmmword [rsp + 0x80]
vinsertps xmm1, xmm1, xmm9, 0x10
vinsertps xmm1, xmm1, xmm10, 0x20
vinsertps xmm1, xmm1, xmm11, 0x30
vmovdqa xmm11, xmm7
vinsertf128 ymm0, ymm1, xmm0, 1
vfmadd213ps ymm0, ymm2, ymmword [rsp + 0xb0]
vmaxps ymm0, ymm0, ymm3
vminps ymm0, ymm0, ymm2
vcvttps2dq ymm0, ymm0
vextracti128 xmm1, ymm0, 1
vpshufb xmm1, xmm1, xmm7
vpshufb xmm0, xmm0, xmm7
vpunpckldq xmm0, xmm0, xmm1
vmovups ymm1, ymmword [rsp + 0x90]
vmovq qword [rbx + rdi], xmm0
add rdi, 8
cmp rbp, rdi
jne 0x1400a0750
mov rdi, rbp
mov eax, r14d
cmp rbp, r13
mov rdx, qword [rsp + 0x30]
vmovss xmm8, dword [0x140122d94]
vmovss xmm9, dword [0x140120e58]
vxorps xmm10, xmm10, xmm10
je 0x1400a08fe
nop dword [rax]
vmulss xmm0, xmm1, dword [rsi + rdi*4]
vmovaps xmm1, xmm6
vzeroupper
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
vmovups ymm1, ymmword [rsp + 0x90]
vfmadd213ss xmm0, xmm8, xmm9
vmaxss xmm0, xmm10, xmm0
vminss xmm0, xmm8, xmm0
vcvttss2si eax, xmm0
mov byte [rbx + rdi], al
inc rdi
cmp r13, rdi
jne 0x1400a08c0
mov eax, r14d
mov rdx, qword [rsp + 0x30]
cmp eax, edx
jge 0x1400a0710
mov rcx, r12
imul rcx, qword [rsp + 0x38]
cdqe
add rax, rcx
vmovss xmm0, dword [r15 + rax*4]
vfmadd132ss xmm0, xmm9, xmm8
vmaxss xmm0, xmm10, xmm0
vminss xmm0, xmm8, xmm0
vcvttss2si ecx, xmm0
mov r8, qword [rsp + 0x28]
mov byte [r8 + rax], cl
jmp 0x1400a0710
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, dword [0x1402293c0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, str.outofmem
mov qword [rax + 8], rcx
xor eax, eax
vmovaps xmm6, xmmword [rsp + 0xf0]
vmovaps xmm7, xmmword [rsp + 0x100]
vmovaps xmm8, xmmword [rsp + 0x110]
vmovaps xmm9, xmmword [rsp + 0x120]
vmovaps xmm10, xmmword [rsp + 0x130]
vmovaps xmm11, xmmword [rsp + 0x140]
vmovaps xmm12, xmmword [rsp + 0x150]
vmovaps xmm13, xmmword [rsp + 0x160]
vmovaps xmm14, xmmword [rsp + 0x170]
vmovaps xmm15, xmmword [rsp + 0x180]
add rsp, 0x198
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, r15
vzeroupper
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [rsp + 0x28]
jmp 0x1400a0965