Function at 0x14002ce60
Capabilities:
Encrypt data using speck

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x358
lea rbp, [rsp + 0x80]
movdqa xmmword [rbp + 0x2c0], xmm6
and rsp, 0xffffffffffffffe0
mov r13, rdx
mov rdx, qword [sym.default_browser_agent.exe_gWinEventLogSourceName]
test rdx, rdx
je 0x140030772
mov rsi, rcx
mov r8, 0xffffffffffffffff
nop word cs:[rax + rax]
nop
cmp word [rdx + r8*2 + 2], 0
lea r8, [r8 + 1]
jne 0x14002ceb0
lea rcx, [rsp + 0x2b8]
call fcn.14004e290
mov rax, qword [rsp + 0x2b8]
mov rcx, qword [rsp + 0x2c8]
add rcx, rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rcx
mov word [rsp + 0x80], 0
mov dword [rsp + 0x88], 1
mov byte [rsp + 0x8c], 0
lea rcx, [rsp + 0x308]
lea rdx, [rsp + 0x70]
call fcn.140024250
mov rax, qword [rsp + 0x318]
mov qword [rsp + 0x80], rax
movups xmm0, xmmword [rsp + 0x308]
movaps xmmword [rsp + 0x70], xmm0
call sub.KERNEL32.dll_GetProcessHeap
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x140030779
mov rdi, rax
mov rax, qword [rsp + 0x80]
mov qword [rdi + 0x10], rax
movdqa xmm0, xmmword [rsp + 0x70]
movdqu xmmword [rdi], xmm0
mov ecx, 1
xor eax, eax
lock cmpxchg qword [0x14009e4c8], rcx
test rax, rax
je 0x14002cfc9
nop
cmp rax, 1
jne 0x14002cf93
mov rax, qword [0x14009e4c8]
cmp rax, 1
je 0x14002cf86
mov rax, qword [rdi + 8]
shl rax, 1
test rax, rax
je 0x14002cfb5
mov rbx, qword [rdi]
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rbx
call sub.KERNEL32.dll_HeapFree
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapFree
jmp 0x14002cfea
mov qword [0x14009e118], rdi
lea rax, [0x140068440]
mov qword [0x14009e120], rax
mov eax, 2
xchg qword [0x14009e4c8], rax
mov eax, 3
xchg qword [0x14009e4c0], rax
test r13, r13
je 0x14002d326
mov rcx, rsi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
cmp rax, 0xffffffffffffffff
je 0x14003078a
lea r14, [rsp + 0x140]
mov rcx, r14
mov rdx, rsi
mov r8, rax
call fcn.140037470
cmp qword [rsp + 0x140], 1
je 0x14002d326
mov rdi, qword [rsp + 0x148]
mov rsi, qword [rsp + 0x150]
test rsi, rsi
je 0x14002d081
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x1400307a7
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x80], 0
mov rdx, rsi
jmp 0x14002d096
mov qword [rsp + 0x70], 1
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x78], xmm0
xor edx, edx
lea rcx, [rsp + 0x70]
call fcn.140024c00
mov rbx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x80]
lea rax, [rcx + rsi]
mov qword [rsp + 0x80], rax
add rcx, rbx
mov rdx, rdi
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [rsp + 0x84]
mov dword [rsp + 0x1e0], eax
movdqu xmm0, xmmword [rsp + 0x74]
mov dword [rsp + 0x2a0], ebx
movdqu xmmword [rsp + 0x2a4], xmm0
mov dword [rsp + 0x2b4], eax
mov rax, qword [0x14009e4c0]
cmp rax, 2
jbe 0x14002d205
lea rax, [rsp + 0x2a0]
mov qword [rsp + 0x140], rax
lea rax, [0x140024e80]
mov qword [rsp + 0x148], rax
mov rax, qword [0x14009e4c8]
cmp rax, 2
lea rax, [0x14008ab00]
cmove rax, qword [0x14009e120]
lea rcx, [0x1400965e0]
cmove rcx, qword [0x14009e118]
lea rdx, str.defaultagent_statictoolkit_mozapps_defaultagent_rust_src_lib.rsError::NetworkError__HRESULT:_0x
movq xmm0, rdx
movdqa xmm1, xmmword [0x140067e50]
punpcklqdq xmm1, xmm0
movdqa xmmword [rsp + 0x70], xmm1
movq xmm0, rdx
lea rdx, str.Using_remote_settings_URL:
movq xmm1, rdx
movdqa xmm2, xmmword [0x140067e60]
punpcklqdq xmm2, xmm1
movdqa xmmword [rsp + 0x80], xmm2
mov edx, 1
movq xmm1, rdx
movdqa xmmword [rsp + 0x90], xmm1
mov qword [rsp + 0xa8], r14
movdqa xmmword [rsp + 0xb0], xmm1
shufpd xmm0, xmmword [0x140067e70], 2
movapd xmmword [rsp + 0xc0], xmm0
lea rdx, [0x1400684cb]
movq xmm0, rdx
pslldq xmm0, 8
movdqa xmmword [rsp + 0xd0], xmm0
mov qword [rsp + 0xe0], 0x2c
movabs rdx, 0x8500000001
mov qword [rsp + 0xe8], rdx
lea rdx, [rsp + 0x70]
call qword [rax + 0x20]
mov r12, qword [rsp + 0x2a0]
mov rax, qword [rsp + 0x2a8]
mov qword [rsp + 0x108], rax
mov rsi, qword [rsp + 0x2b0]
lea rax, [0x1400965e0]
mov qword [rsp + 0x140], rax
lea rax, [0x140068418]
mov qword [rsp + 0x148], rax
mov rax, qword [0x14009e568]
cmp rax, 2
jne 0x14002df0b
mov qword [rsp + 0x1e8], 0
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x1d0], xmm0
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0x1d0]
mov r8, r12
mov r9, rsi
call fcn.140054610
mov al, byte [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
mov r15, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x88]
movdqu xmm6, xmmword [rsp + 0x90]
mov r14b, byte [rsp + 0xa0]
movups xmm0, xmmword [rsp + 0xa1]
movaps xmmword [rsp + 0x140], xmm0
movups xmm0, xmmword [rsp + 0xb1]
movaps xmmword [rsp + 0x150], xmm0
movdqu xmm0, xmmword [rsp + 0xc0]
movdqu xmmword [rsp + 0x15f], xmm0
cmp al, 1
jne 0x14002d4b0
mov esi, 2
mov r15, qword [rsp + 0x108]
test r15, r15
je 0x14002d30d
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, r12
call sub.KERNEL32.dll_HeapFree
test esi, esi
lea rdx, [rsp + 0x140]
je 0x14002d7f3
cmp esi, 1
je 0x14002d6d7
mov dword [rsp + 0x1d0], 0xa0000002
mov rax, qword [0x14009e4c0]
test rax, rax
je 0x14002d469
lea rax, [rsp + 0x1d0]
mov qword [rsp + 0x140], rax
lea rax, [0x140037af0]
mov qword [rsp + 0x148], rax
mov rax, qword [0x14009e4c8]
cmp rax, 2
lea rax, [0x14008ab00]
cmove rax, qword [0x14009e120]
lea rcx, [0x1400965e0]
cmove rcx, qword [0x14009e118]
lea rdx, str.defaultagent_statictoolkit_mozapps_defaultagent_rust_src_lib.rsError::NetworkError__HRESULT:_0x
movq xmm0, rdx
movdqa xmm1, xmmword [0x140067e90]
punpcklqdq xmm1, xmm0
movdqa xmmword [rsp + 0x70], xmm1
movq xmm0, rdx
lea rdx, str.Error::SettingsError__HRESULT:_0x
movq xmm1, rdx
movdqa xmm2, xmmword [0x140067e60]
punpcklqdq xmm2, xmm1
movdqa xmmword [rsp + 0x80], xmm2
mov edx, 2
movq xmm1, rdx
movdqa xmmword [rsp + 0x90], xmm1
lea rdx, [rsp + 0x140]
mov qword [rsp + 0xa8], rdx
mov edx, 1
movq xmm1, rdx
movdqa xmmword [rsp + 0xb0], xmm1
shufpd xmm0, xmmword [0x140067e70], 2
movapd xmmword [rsp + 0xc0], xmm0
lea rdx, [0x1400684cb]
movq xmm0, rdx
pslldq xmm0, 8
movdqa xmmword [rsp + 0xd0], xmm0
mov qword [rsp + 0xe0], 0x2c
movabs rdx, 0x9900000001
mov qword [rsp + 0xe8], rdx
lea rdx, [rsp + 0x70]
call qword [rax + 0x20]
mov esi, dword [rsp + 0x1d0]
cmp qword [rsp + 0x2c0], 0
jne 0x14002d479
jmp 0x14002d493
mov esi, 0xa0000002
cmp qword [rsp + 0x2c0], 0
je 0x14002d493
mov rdi, qword [rsp + 0x2b8]
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapFree
mov eax, esi
movaps xmm6, xmmword [rbp + 0x2c0]
lea rsp, [rbp + 0x2d8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
movups xmm0, xmmword [rsp + 0x15f]
movups xmmword [rsp + 0x2ef], xmm0
movaps xmm0, xmmword [rsp + 0x140]
movdqa xmm1, xmmword [rsp + 0x150]
movdqa xmmword [rsp + 0x2e0], xmm1
movaps xmmword [rsp + 0x2d0], xmm0
movaps xmmword [rsp + 0x1d0], xmm0
movaps xmm0, xmmword [rsp + 0x2e0]
movaps xmmword [rsp + 0x1e0], xmm0
movdqu xmm0, xmmword [rsp + 0x2ef]
movdqu xmmword [rsp + 0x1ef], xmm0
movd r9d, xmm6
test r9d, r9d
je 0x14002d52c
cmp rsi, r9
je 0x14002d52c
jbe 0x1400307b6
cmp byte [rdi + r9], 0xbf
jle 0x1400307b6
cmp r9d, 5
jne 0x14002d55c
lea rax, [0x14009655b]
cmp rdi, rax
je 0x14002d93f
lea rdx, [0x14009655b]
mov rcx, rdi
mov r8, r9
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14002d93f
test r14b, r14b
je 0x14002d678
pshufd xmm0, xmm6, 0x4e
movd r8d, xmm0
pshufd xmm0, xmm6, 0xe7
movd r9d, xmm0
cmp r9d, r8d
jb 0x14003079a
test r8d, r8d
sete al
cmp rsi, r8
sete r10b
or r10b, al
jne 0x14002d5a8
cmp rsi, r8
jbe 0x14003079a
cmp byte [rdi + r8], 0xbf
jle 0x14003079a
test r9d, r9d
sete al
cmp rsi, r9
sete dl
or dl, al
jne 0x14002d5cc
cmp rsi, r9
jbe 0x14003079a
cmp byte [rdi + r9], 0xbf
jle 0x14003079a
mov rbx, r9
sub rbx, r8
mov rax, rdi
add rax, r8
setne cl
cmp rbx, 9
sete bl
and bl, cl
cmp bl, 1
jne 0x14002d617
lea rcx, [0x140096569]
cmp rax, rcx
je 0x14002d93f
movabs r11, 0x736f686c61636f6c
xor r11, qword [rax]
movzx ecx, byte [rax + 8]
xor rcx, 0x74
or rcx, r11
je 0x14002d93f
test r10b, r10b
jne 0x14002d62e
cmp rsi, r8
jbe 0x14003079a
cmp byte [rax], 0xbf
jle 0x14003079a
test dl, dl
jne 0x14002d646
cmp rsi, r9
jbe 0x14003079a
cmp byte [rdi + r9], 0xbf
jle 0x14003079a
test bl, bl
je 0x14002d678
lea rcx, [0x140096560]
cmp rax, rcx
je 0x14002d93f
movabs rcx, 0x2e302e302e373231
xor rcx, qword [rax]
movzx eax, byte [rax + 8]
xor rax, 0x31
or rax, rcx
je 0x14002d93f
mov eax, dword [rsp + 0x70]
mov ecx, dword [rsp + 0x73]
mov dword [rsp + 0x143], ecx
mov dword [rsp + 0x140], eax
mov byte [rsp + 0x78], 6
mov eax, dword [rsp + 0x140]
mov ecx, dword [rsp + 0x143]
mov dword [rsp + 0x79], eax
mov dword [rsp + 0x7c], ecx
mov qword [rsp + 0x70], 1
mov esi, 1
test r15, r15
je 0x14002da17
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapFree
jmp 0x14002da17
mov dword [rsp + 0x1d0], 0xa0000001
mov rax, qword [0x14009e4c0]
test rax, rax
je 0x14002dd85
lea rax, [rsp + 0x1d0]
mov qword [rsp + 0x140], rax
lea rax, [0x140037af0]
mov qword [rsp + 0x148], rax
mov rax, qword [0x14009e4c8]
cmp rax, 2
lea rax, [0x14008ab00]
cmove rax, qword [0x14009e120]
lea rcx, [0x1400965e0]
cmove rcx, qword [0x14009e118]
lea rbx, str.defaultagent_statictoolkit_mozapps_defaultagent_rust_src_lib.rsError::NetworkError__HRESULT:_0x
movq xmm0, rbx
movdqa xmm1, xmmword [0x140067e90]
punpcklqdq xmm1, xmm0
movdqa xmmword [rsp + 0x70], xmm1
movq xmm0, rbx
lea rbx, [0x140068518]
movq xmm1, rbx
movdqa xmm2, xmmword [0x140067e60]
punpcklqdq xmm2, xmm1
movdqa xmmword [rsp + 0x80], xmm2
mov ebx, 2
movq xmm1, rbx
movdqa xmmword [rsp + 0x90], xmm1
mov qword [rsp + 0xa8], rdx
mov edx, 1
movq xmm1, rdx
movdqa xmmword [rsp + 0xb0], xmm1
shufpd xmm0, xmmword [0x140067e70], 2
movapd xmmword [rsp + 0xc0], xmm0
lea rdx, [0x1400684cb]
movq xmm0, rdx
pslldq xmm0, 8
movdqa xmmword [rsp + 0xd0], xmm0
mov qword [rsp + 0xe0], 0x2c
movabs rdx, 0x9400000001
jmp 0x14002d445
movzx esi, bx
or esi, 0x80070000
test ebx, ebx
cmovle esi, ebx
mov dword [rsp + 0x2d0], ebx
mov dword [rsp + 0x1d0], esi
mov rax, qword [0x14009e4c0]
test rax, rax
je 0x14002d46e
lea rax, [rsp + 0x2d0]
mov qword [rsp + 0x140], rax
lea rax, [0x140035860]
mov qword [rsp + 0x148], rax
lea rax, [rsp + 0x1d0]
mov qword [rsp + 0x150], rax
lea rax, [0x140037af0]
mov qword [rsp + 0x158], rax
mov rax, qword [0x14009e4c8]
cmp rax, 2
lea rax, [0x14008ab00]
cmove rax, qword [0x14009e120]
lea rcx, [0x1400965e0]
cmove rcx, qword [0x14009e118]
lea rbx, str.defaultagent_statictoolkit_mozapps_defaultagent_rust_src_lib.rsError::NetworkError__HRESULT:_0x
movq xmm0, rbx
movdqa xmm1, xmmword [0x140067e90]
punpcklqdq xmm1, xmm0
movdqa xmmword [rsp + 0x70], xmm1
movq xmm0, rbx
lea rbx, str.Error::WindowsError____HRESULT:_0x
movq xmm1, rbx
movdqa xmm2, xmmword [0x140067e60]
punpcklqdq xmm2, xmm1
movdqa xmmword [rsp + 0x80], xmm2
mov ebx, 3
movq xmm1, rbx
movdqa xmmword [rsp + 0x90], xmm1
mov qword [rsp + 0xa8], rdx
mov edx, 2
movq xmm1, rdx
movdqa xmmword [rsp + 0xb0], xmm1
shufpd xmm0, xmmword [0x140067e70], 2
movapd xmmword [rsp + 0xc0], xmm0
lea rdx, [0x1400684cb]
movq xmm0, rdx
pslldq xmm0, 8
movdqa xmmword [rsp + 0xd0], xmm0
mov qword [rsp + 0xe0], 0x2c
movabs rdx, 0x8f00000001
jmp 0x14002d445
mov rax, qword [0x14009e568]
cmp rax, 2
jne 0x14002dfb4
mov rdx, qword [0x14009e570]
mov rax, qword [0x14009e578]
mov qword [rsp + 0x140], rdi
mov qword [rsp + 0x148], r15
mov qword [rsp + 0x150], rsi
movdqu xmmword [rsp + 0x158], xmm6
mov byte [rsp + 0x168], r14b
movaps xmm0, xmmword [rsp + 0x1d0]
movdqa xmm1, xmmword [rsp + 0x1e0]
movups xmmword [rsp + 0x169], xmm0
movdqu xmmword [rsp + 0x179], xmm1
movdqu xmm0, xmmword [rsp + 0x1ef]
movdqu xmmword [rsp + 0x188], xmm0
mov qword [rsp + 0x198], 8
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x1a0], xmm0
movdqu xmmword [rsp + 0x1b0], xmm0
movdqu xmmword [rsp + 0x1b9], xmm0
mov ecx, dword [rsp + 0x230]
mov ebx, dword [rsp + 0x233]
mov dword [rsp + 0x1c9], ecx
mov dword [rsp + 0x1cc], ebx
lea rcx, [rsp + 0x70]
lea r8, [rsp + 0x140]
call qword [rax + 0x18]
mov rsi, qword [rsp + 0x70]
mov rax, qword [rsp + 0x78]
mov r10, qword [rsp + 0x80]
cmp rsi, 1
jne 0x14002dae0
mov r14, qword [rsp + 0x88]
cmp al, 2
je 0x14002de06
mov r13, qword [rsp + 0x90]
cmp al, 1
jne 0x14002de24
mov r15, rax
cmp r13, 2
jb 0x14002e09d
lea rax, str.0x0Xa_non_empty_list_of_numbers
cmp r10, rax
je 0x14002da76
movzx eax, word [r10]
cmp eax, 0x7830
jne 0x14002e09d
mov qword [rsp + 0x20], 2
lea r9, str.0x0Xa_non_empty_list_of_numbers
lea rbx, [rsp + 0x70]
mov rcx, rbx
mov rdi, r10
mov rdx, r10
mov r8, r13
call fcn.140036820
lea rsi, [rsp + 0x140]
nop word cs:[rax + rax]
nop
mov rcx, rsi
mov rdx, rbx
call fcn.1400257e0
mov rax, qword [rsp + 0x140]
cmp rax, 2
je 0x14002e00b
cmp rax, 1
jne 0x14002dab0
mov rcx, qword [rsp + 0x148]
jmp 0x14002e00e
mov qword [rsp + 0x278], r12
mov qword [rsp + 0x268], rax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x208], rax
mov rcx, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0xe0]
mov r12, qword [rsp + 0xe8]
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x270], rax
movzx eax, word [rsp + 0x100]
add eax, 0xffffff38
cmp ax, 0x64
mov qword [rsp + 0x48], r10
jae 0x14002dc97
mov qword [rsp + 0x288], rcx
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x280], r12
mov qword [rsp + 0x140], r12
mov qword [rsp + 0x148], rax
movdqa xmm0, xmmword [0x140067e80]
movdqu xmmword [rsp + 0x150], xmm0
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x160], xmm0
mov byte [rsp + 0x170], 0x80
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0x140]
call fcn.1400265f0
mov r14, qword [rsp + 0x78]
cmp qword [rsp + 0x70], 1
jne 0x14002de2b
mov rbx, r14
cmp qword [rsp + 0x160], 0
je 0x14002dbdd
mov rsi, qword [rsp + 0x158]
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
mov qword [rsp + 0x70], rbx
lea rcx, [rsp + 0x70]
call fcn.140023f90
mov rsi, qword [rsp + 0x48]
test rsi, rsi
je 0x14002dc0d
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, qword [rsp + 0x268]
call sub.KERNEL32.dll_HeapFree
test rdi, rdi
mov r15, qword [rsp + 0x108]
mov r12, qword [rsp + 0x278]
je 0x14002dd9e
imul r14, rdi, 0x38
mov rax, qword [rsp + 0x208]
add r14, rax
lea rbx, [rax + 0x20]
jmp 0x14002dc51
add rbx, 0x38
add rdi, 0x38
cmp rdi, r14
je 0x14002dd9e
lea rdi, [rbx - 0x20]
cmp qword [rbx - 0x20], 0
je 0x14002dc79
cmp qword [rbx - 0x10], 0
je 0x14002dc79
mov rsi, qword [rbx - 0x18]
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
cmp qword [rdi + 0x28], 0
je 0x14002dc40
mov rsi, qword [rbx]
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
jmp 0x14002dc40
mov r13, rcx
test rdi, rdi
mov r15, qword [rsp + 0x108]
je 0x14002dd13
imul r14, rdi, 0x38
mov rax, qword [rsp + 0x208]
add r14, rax
lea rbx, [rax + 0x20]
jmp 0x14002dccd
add rbx, 0x38
add rdi, 0x38
cmp rdi, r14
je 0x14002dd13
lea rdi, [rbx - 0x20]
cmp qword [rbx - 0x20], 0
je 0x14002dcf5
cmp qword [rbx - 0x10], 0
je 0x14002dcf5
mov rsi, qword [rbx - 0x18]
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
cmp qword [rdi + 0x28], 0
je 0x14002dcc0
mov rsi, qword [rbx]
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
jmp 0x14002dcc0
test r13, r13
je 0x14002dd38
imul rax, r13, 0x38
test rax, rax
je 0x14002dd38
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, qword [rsp + 0x208]
call sub.KERNEL32.dll_HeapFree
cmp qword [rsp + 0x270], 0
je 0x14002dd55
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, r12
call sub.KERNEL32.dll_HeapFree
mov esi, 1
cmp qword [rsp + 0x48], 0
mov r12, qword [rsp + 0x278]
je 0x14002e102
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, qword [rsp + 0x268]
jmp 0x14002e0fd
mov esi, 0xa0000001
cmp qword [rsp + 0x2c0], 0
jne 0x14002d479
jmp 0x14002d493
mov rax, qword [rsp + 0x288]
test rax, rax
je 0x14002ddcb
imul rax, rax, 0x38
test rax, rax
je 0x14002ddcb
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, qword [rsp + 0x208]
call sub.KERNEL32.dll_HeapFree
mov esi, 2
cmp qword [rsp + 0x270], 0
je 0x14002df62
call sub.KERNEL32.dll_GetProcessHeap
xor ebx, ebx
mov rcx, rax
xor edx, edx
mov r8, qword [rsp + 0x280]
call sub.KERNEL32.dll_HeapFree
test r15, r15
jne 0x14002d2fb
jmp 0x14002d30d
mov rdi, r10
mov esi, 1
mov r15, qword [rsp + 0x108]
test r14, r14
jne 0x14002e0f0
jmp 0x14002e102
xor ebx, ebx
jmp 0x14002e0bf
mov rsi, rdi
mov r15, qword [rsp + 0x80]
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x40], rax
mov r12, qword [rsp + 0x90]
mov r11, qword [rsp + 0x148]
mov rax, qword [rsp + 0x150]
cmp rax, r11
jae 0x14002deaf
mov rcx, qword [rsp + 0x140]
add rax, 1
mov rdx, r11
neg rdx
movabs rbx, 0x100002600
movzx edi, byte [rcx + rax - 1]
cmp rdi, 0x20
ja 0x14002df72
bt rbx, rdi
jae 0x14002df72
mov qword [rsp + 0x150], rax
lea rdi, [rdx + rax]
add rdi, 1
add rax, 1
cmp rdi, 1
jne 0x14002de7c
cmp qword [rsp + 0x160], 0
mov rdi, rsi
je 0x14002ded7
mov rsi, qword [rsp + 0x158]
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
cmp r14b, 5
mov rsi, qword [rsp + 0x48]
ja case.default.0x14002def8
movzx eax, r14b
lea rcx, [0x1400307c8]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
cmp qword [rsp + 0x40], 0
jne 0x14002e2e3
jmp case.0x14002def8.0
mov qword [rsp + 0x2d0], r14
lea rax, [0x14009e570]
mov qword [rsp + 0x1d0], rax
lea rax, [rsp + 0x2d0]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x1d0]
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x118]
mov qword [rsp + 0x80], rax
lea rdx, [0x140096450]
lea rcx, [rsp + 0x70]
call fcn.14003ff80
jmp 0x14002d254
xor ebx, ebx
test r15, r15
jne 0x14002d2fb
jmp 0x14002d30d
mov qword [rsp + 0x58], r12
cmp r11, rax
mov rbx, r11
cmova rbx, rax
test rbx, rbx
mov qword [rsp + 0x38], rsi
je 0x14002e7e1
mov r12, r15
lea rdx, [rbx - 1]
mov r9d, ebx
and r9d, 3
cmp rdx, 3
jae 0x14002e139
mov edx, 1
xor r8d, r8d
jmp 0x14002e20d
mov byte [rsp + 0x230], 1
lea rax, [0x14009e570]
mov qword [rsp + 0x140], rax
lea rax, [rsp + 0x230]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x140]
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x118]
mov qword [rsp + 0x80], rax
lea rdx, [0x140096578]
lea rcx, [rsp + 0x70]
call fcn.14003ff80
jmp 0x14002d950
mov rcx, r13
mov r9, r13
sub r9, rcx
mov r10, rdi
je 0x14002e09d
add rcx, r10
cmp byte [rcx], 0x2b
jne 0x14002e02f
add r9, 0xffffffffffffffff
je 0x14002e09d
add rcx, 1
xor edi, edi
mov r8d, 0x10
xor eax, eax
movzx edx, byte [rcx + rdi]
lea ebx, [rdx - 0x30]
cmp ebx, 0xa
jb 0x14002e066
lea esi, [rdx - 0x61]
mov ebx, 0xffffffa9
cmp esi, 0x1a
jb 0x14002e05f
lea esi, [rdx - 0x41]
mov ebx, 0xffffffc9
cmp esi, 0x19
ja 0x14002e09d
add ebx, edx
cmp ebx, 0xf
ja 0x14002e09d
mul r8d
jo 0x14002e09d
add ebx, eax
add rdi, 1
mov eax, ebx
cmp r9, rdi
jne 0x14002e039
test r14, r14
je 0x14002e4f5
mov rdi, r10
call sub.KERNEL32.dll_GetProcessHeap
xor esi, esi
mov rcx, rax
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapFree
jmp 0x14002d2ee
mov bl, 1
test r14, r14
je 0x14002e0bc
mov rsi, r10
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
mov r10, rsi
mov rax, r15
mov esi, 2
test al, al
je 0x14002e110
mov rdi, r10
cmp al, 1
mov r15, qword [rsp + 0x108]
je 0x14002e0e6
cmp al, 2
jne 0x14002d2f6
test r14, r14
jne 0x14002e0f0
jmp 0x14002e102
test r14, r14
sete al
or al, bl
jne 0x14002e102
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapFree
test r15, r15
jne 0x14002d2fb
jmp 0x14002d30d
test r10, r10
je 0x14002d2ee
test r13, r13
je 0x14002d2ee
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, r14
call sub.KERNEL32.dll_HeapFree
jmp 0x14002d2ee
sub rbx, r9
mov r10d, 1
xor r8d, r8d
pxor xmm0, xmm0
movdqa xmm1, xmmword [str._n_n_n_n]
movdqa xmm2, xmmword [0x140067d80]
mov r15d, 3
mov esi, 2
mov edx, 1
movd xmm3, dword [rcx]
punpcklbw xmm3, xmm0
punpcklwd xmm3, xmm0
pcmpeqd xmm3, xmm1
pshufd xmm4, xmm3, 0xd4
psllq xmm4, 0x38
movdqa xmm5, xmm4
psrad xmm5, 0x1f
pshufd xmm5, xmm5, 0xed
psrad xmm4, 0x18
pshufd xmm4, xmm4, 0xed
punpckldq xmm4, xmm5
pshufd xmm5, xmm3, 0xf6
pand xmm5, xmm2
psubq xmm5, xmm4
add rcx, 4
add r8, 4
movdqa xmmword [rsp + 0x290], xmm3
test byte [rsp + 0x290], 1
cmovne r8, r15
test byte [rsp + 0x294], 1
cmovne r8, rsi
test byte [rsp + 0x298], 1
cmovne r8, r10
test byte [rsp + 0x29c], 1
mov edi, 0
cmovne r8, rdi
pshufd xmm3, xmm5, 0x4e
paddq xmm3, xmm5
movq rdi, xmm3
add rdx, rdi
add rbx, 0xfffffffffffffffc
jne 0x14002e169
test r9, r9
mov r15, r12
je 0x14002e244
cmp r11, rax
cmovb rax, r11
and eax, 3
xor ebx, ebx
add r8, 1
xor edi, edi
cmp byte [rcx + rbx], 0xa
mov esi, 0
cmove r8, rsi
sete dil
add rdx, rdi
add rbx, 1
cmp rax, rbx
jne 0x14002e221
mov qword [rsp + 0x70], 0x15
lea rcx, [rsp + 0x70]
call fcn.140046ab0
mov rbx, rax
cmp r14b, 3
mov rdi, qword [rsp + 0x38]
jb 0x14002dbb8
cmp r14b, 4
je 0x14002e470
cmp r14b, 3
mov r9, qword [rsp + 0x58]
jne 0x14002e4b9
cmp qword [rsp + 0x40], 0
je 0x14002dbb8
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, r15
call sub.KERNEL32.dll_HeapFree
cmp qword [rsp + 0x160], 0
jne 0x14002dbc3
jmp 0x14002dbdd
test r12, r12
je 0x14002e2d2
shl r12, 5
mov rsi, r15
mov rcx, rsi
add rsi, 0x20
call fcn.140023aa0
add r12, 0xffffffffffffffe0
jne 0x14002e2c0
shl qword [rsp + 0x40], 5
mov rsi, qword [rsp + 0x48]
je case.0x14002def8.0
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, r15
call sub.KERNEL32.dll_HeapFree
jmp 0x14002dbec
mov rcx, r15
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], r15
jmp 0x14002e32a
xor edx, edx
test rax, rax
je case.default.0x14002def8
add rax, 0xffffffffffffffff
mov rcx, qword [rcx + rdx*8 + 0x278]
movzx edx, word [rcx + 0xa]
test rdx, rdx
je 0x14002e313
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x110], rax
lea r14, [rcx + 0x10]
movzx eax, word [rcx + 0xa]
lea rax, [rax + rax*2]
mov qword [rsp + 0x68], rcx
lea r15, [rcx + rax*8]
add r15, 0x10
xor ebx, ebx
jmp 0x14002e377
mov eax, 1
js 0x14002e407
mov bl, sil
add rbx, r12
test rax, rax
je 0x14002e439
mov rcx, r14
add r14, 0x18
cmp rcx, r15
cmove r14, rcx
mov r12, rbx
mov eax, 0
cmovne rax, rcx
xor ebx, ebx
test rax, rax
setne sil
test rax, rax
je 0x14002e3d3
mov rdx, qword [rax]
mov rdi, qword [rax + 0x10]
cmp rdi, 4
mov r8d, 4
cmovb r8, rdi
lea rcx, str.data
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14002e35d
xor eax, eax
cmp rdi, 4
setne cl
ja 0x14002e407
mov al, cl
jmp 0x14002e368
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x38]
mov r12, qword [rsp + 0x58]
mov r15, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x110]
mov rdx, qword [rsp + 0x50]
test rax, rax
jne 0x14002e31e
jmp case.default.0x14002def8
mov rdx, r12
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x38]
mov r12, qword [rsp + 0x58]
mov r15, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x110]
test rax, rax
jne 0x14002e31e
jmp case.default.0x14002def8
shl r12, 5
mov rdi, qword [rsp + 0x68]
movzx ecx, byte [rdi + r12 + 0x118]
add rdi, 0x118
xor eax, eax
lea rdx, [0x1400307e0]
movsxd rbx, dword [rdx + rcx*4]
add rbx, rdx
jmp rbx
mov cl, byte [rdi + r12 + 1]
mov al, 1
jmp case.0x14002e462.0
mov r14, rdi
mov rdi, qword [rsp + 0x58]
test rdi, rdi
je 0x14002e496
shl rdi, 5
mov rsi, r15
mov rcx, rsi
add rsi, 0x20
call fcn.140023aa0
add rdi, 0xffffffffffffffe0
jne 0x14002e484
shl qword [rsp + 0x40], 5
je 0x14002eaf4
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, r15
call sub.KERNEL32.dll_HeapFree
jmp 0x14002eaf4
mov r14, rdi
mov rsi, qword [rsp + 0x40]
test rsi, rsi
je 0x14002e4fc
lea r10, [rsi - 1]
mov rdi, rsi
mov rax, r15
and rdi, 7
je 0x14002e9db
mov rdx, rdi
mov rax, qword [rax + 0x278]
add rdx, 0xffffffffffffffff
jne 0x14002e4dd
mov rdx, rsi
sub rdx, rdi
jmp 0x14002e9de
xor esi, esi
jmp 0x14002d2ee
movzx edx, word [r15 + 0xa]
mov rdi, r15
jmp 0x14002ea9c
movdqu xmm0, xmmword [rdi + r12 + 8]
movdqu xmmword [rsp + 0x218], xmm0
mov al, 2
jmp case.0x14002e462.0
lea rdx, [rdi + r12]
add rdx, 8
lea rcx, [rsp + 0x70]
call fcn.1400310b0
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x228], rax
movdqu xmm0, xmmword [rsp + 0x70]
movdqu xmmword [rsp + 0x218], xmm0
mov al, 3
lea rdx, [rsp + 0x120]
mov byte [rsp + 0x120], al
mov byte [rsp + 0x121], cl
movdqu xmm0, xmmword [rsp + 0x212]
mov rax, qword [rsp + 0x220]
mov rcx, qword [rsp + 0x228]
movdqu xmmword [rsp + 0x122], xmm0
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], rcx
lea rsi, [rsp + 0x70]
mov rcx, rsi
call fcn.140046f20
lea r8, [0x140068150]
lea rdx, [rsp + 0x118]
mov rcx, rsi
call fcn.140045fb0
mov rsi, rax
mov al, 1
mov dword [rsp + 0x68], eax
mov al, 1
mov cl, 1
mov r9, qword [rsp + 0x48]
mov r14, qword [rsp + 0x38]
mov r12, qword [rsp + 0x58]
mov r15, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x40]
movzx edx, byte [rsp + 0x120]
cmp rdx, 5
ja case.default.0x14002e602
lea rbx, [0x140030820]
movsxd rdx, dword [rbx + rdx*4]
add rdx, rbx
jmp rdx
cmp qword [rsp + 0x130], 0
jne 0x14002ed34
jmp case.0x14002e602.280
lea rdx, [rdi + r12]
add rdx, 8
lea rcx, [rsp + 0x70]
call fcn.140025220
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x228], rax
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rsp + 0x218], xmm0
mov byte [rsp + 0x120], 4
mov rax, qword [rsp + 0x220]
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0x228]
mov qword [rsp + 0x138], rax
movdqu xmm0, xmmword [rsp + 0x212]
movdqu xmmword [rsp + 0x122], xmm0
mov rcx, qword [rsp + 0x138]
mov rax, qword [rsp + 0x128]
mov rdx, qword [rsp + 0x130]
mov rbx, rcx
shl rbx, 5
add rbx, rax
mov qword [rsp + 0x1d0], rax
mov qword [rsp + 0x1d8], rdx
mov qword [rsp + 0x1e0], rax
mov qword [rsp + 0x1e8], rbx
test rcx, rcx
mov rsi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x60]
je 0x14002fb60
lea rdx, [rax + 0x20]
mov qword [rsp + 0x1e0], rdx
mov bl, byte [rax]
mov r8, qword [rax + 8]
mov r9, qword [rax + 0x10]
mov rdi, qword [rax + 0x18]
mov edx, dword [rax + 1]
mov eax, dword [rax + 4]
mov dword [rsp + 0x260], edx
mov dword [rsp + 0x263], eax
cmp bl, 6
je 0x14002fb60
mov byte [rsp + 0x140], bl
mov eax, dword [rsp + 0x260]
mov edx, dword [rsp + 0x263]
mov dword [rsp + 0x141], eax
mov dword [rsp + 0x144], edx
mov qword [rsp + 0x148], r8
mov qword [rsp + 0x150], r9
mov qword [rsp + 0x158], rdi
cmp bl, 1
mov r14, qword [rsp + 0x38]
mov r12, qword [rsp + 0x58]
jne 0x14003002e
mov al, byte [rsp + 0x141]
mov byte [rsp + 0x110], al
cmp rcx, 1
mov rdi, qword [rsp + 0x40]
jne 0x140030092
mov dword [rsp + 0x68], 0
lea rcx, [rsp + 0x1d0]
call fcn.140023ce0
mov cl, 1
xor eax, eax
mov r9, rsi
mov rsi, rbx
jmp 0x14002e5e2
mov edx, 1
xor r8d, r8d
jmp 0x14002e244
mov rax, qword [rsp + 0x128]
mov r10, qword [rsp + 0x130]
mov r8, qword [rsp + 0x138]
test r10, r10
mov qword [rsp + 0x50], rsi
je 0x14002ecff
lea r9, [r10 - 1]
mov rbx, r10
mov rdx, rax
and rbx, 7
je 0x14002fa46
mov rcx, rbx
mov rdx, qword [rdx + 0x278]
add rcx, 0xffffffffffffffff
jne 0x14002e82b
mov rcx, r10
sub rcx, rbx
cmp r9, 7
jb 0x14002e882
mov rdx, qword [rdx + 0x278]
mov rdx, qword [rdx + 0x278]
mov rdx, qword [rdx + 0x278]
mov rdx, qword [rdx + 0x278]
mov rdx, qword [rdx + 0x278]
mov rdx, qword [rdx + 0x278]
mov rdx, qword [rdx + 0x278]
mov rdx, qword [rdx + 0x278]
add rcx, 0xfffffffffffffff8
jne 0x14002e844
movzx esi, word [rax + 0xa]
mov rbx, r10
and rbx, 3
je 0x14002fa58
mov rcx, rbx
movzx esi, si
mov rax, qword [rax + rsi*8 + 0x278]
movzx esi, word [rax + 0xa]
add rcx, 0xffffffffffffffff
jne 0x14002e896
sub r10, rbx
mov rbx, rax
cmp r9, 3
jae 0x14002fa62
jmp 0x14002fbe3
test al, al
je case.0x14002e602.280
mov qword [rsp + 0x50], rsi
mov rdi, qword [rsp + 0x138]
test rdi, rdi
mov rsi, r14
je 0x14002ed0b
mov r14, qword [rsp + 0x128]
shl rdi, 5
add rdi, r14
pxor xmm6, xmm6
mov qword [rsp + 0x258], rdi
jmp 0x14002eb7b
test cl, cl
je case.0x14002e602.280
mov rax, qword [rsp + 0x128]
mov r10, qword [rsp + 0x130]
mov r8, qword [rsp + 0x138]
test r10, r10
mov qword [rsp + 0x50], rsi
je 0x14002ecff
lea r9, [r10 - 1]
mov rbx, r10
mov rdx, rax
and rbx, 7
je 0x14002fb8f
mov rcx, rbx
mov rdx, qword [rdx + 0x278]
add rcx, 0xffffffffffffffff
jne 0x14002e946
mov rcx, r10
sub rcx, rbx
cmp r9, 7
jb 0x14002e99d
mov rdx, qword [rdx + 0x278]
mov rdx, qword [rdx + 0x278]
mov rdx, qword [rdx + 0x278]
mov rdx, qword [rdx + 0x278]
mov rdx, qword [rdx + 0x278]
mov rdx, qword [rdx + 0x278]
mov rdx, qword [rdx + 0x278]
mov rdx, qword [rdx + 0x278]
add rcx, 0xfffffffffffffff8
jne 0x14002e95f
movzx esi, word [rax + 0xa]
mov rbx, r10
and rbx, 3
je 0x14002fba1
mov rcx, rbx
movzx esi, si
mov rax, qword [rax + rsi*8 + 0x278]
movzx esi, word [rax + 0xa]
add rcx, 0xffffffffffffffff
jne 0x14002e9b1
sub r10, rbx
mov rbx, rax
cmp r9, 3
jae 0x14002fba7
jmp 0x14002fbe3
mov rdx, rsi
mov r8, r14
cmp r10, 7
jb 0x14002ea25
mov rax, qword [rax + 0x278]
mov rax, qword [rax + 0x278]
mov rax, qword [rax + 0x278]
mov rax, qword [rax + 0x278]
mov rax, qword [rax + 0x278]
mov rax, qword [rax + 0x278]
mov rax, qword [rax + 0x278]
mov rax, qword [rax + 0x278]
add rdx, 0xfffffffffffffff8
jne 0x14002e9e7
movzx edx, word [r15 + 0xa]
mov rcx, rsi
and rcx, 3
je 0x14002ea54
mov rdi, rcx
movzx edx, dx
mov r15, qword [r15 + rdx*8 + 0x278]
movzx edx, word [r15 + 0xa]
add rdi, 0xffffffffffffffff
jne 0x14002ea36
sub rsi, rcx
mov rdi, r15
jmp 0x14002ea54
cmp r10, 3
mov r14, r8
jb 0x14002ea99
mov rdi, r15
movzx ecx, dx
mov rcx, qword [rdi + rcx*8 + 0x278]
movzx edx, word [rcx + 0xa]
mov rcx, qword [rcx + rdx*8 + 0x278]
movzx edx, word [rcx + 0xa]
mov rcx, qword [rcx + rdx*8 + 0x278]
movzx edx, word [rcx + 0xa]
mov rdi, qword [rcx + rdx*8 + 0x278]
movzx edx, word [rdi + 0xa]
add rsi, 0xfffffffffffffffc
jne 0x14002ea60
mov r15, rax
movzx eax, dx
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], r15
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x80], xmm0
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], r9
lea rcx, [rsp + 0x70]
call fcn.140029ea0
mov rdi, r14
cmp qword [rsp + 0x160], 0
jne 0x14002dbc3
jmp 0x14002dbdd
movzx eax, word [rdi + 0xa]
mov rsi, rdi
movzx eax, ax
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], rdi
lea rcx, [rsp + 0x80]
movdqu xmmword [rcx], xmm6
mov qword [rcx + 0x10], 0
mov qword [rsp + 0x98], rsi
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], r8
lea rcx, [rsp + 0x70]
call fcn.140029ea0
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x258]
cmp r14, rdi
je 0x14002ed0b
mov r15, r14
add r14, 0x20
movzx eax, byte [r15]
cmp rax, 3
jb 0x14002eb72
cmp rax, 4
je 0x14002eba1
cmp rax, 3
jne 0x14002ebf8
cmp qword [r15 + 0x10], 0
jne 0x14002ebd3
jmp 0x14002eb72
mov rbx, qword [r15 + 0x18]
test rbx, rbx
je 0x14002ebc4
mov rsi, qword [r15 + 8]
shl rbx, 5
mov rcx, rsi
add rsi, 0x20
call fcn.140023aa0
add rbx, 0xffffffffffffffe0
jne 0x14002ebb2
mov rax, qword [r15 + 0x10]
shl rax, 5
mov rsi, qword [rsp + 0x38]
je 0x14002eb72
mov rsi, qword [r15 + 8]
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rsi
mov rsi, qword [rsp + 0x38]
call sub.KERNEL32.dll_HeapFree
cmp r14, rdi
jne 0x14002eb7b
jmp 0x14002ed0b
mov rdi, qword [r15 + 8]
mov rcx, qword [r15 + 0x10]
mov r8, qword [r15 + 0x18]
test rcx, rcx
je 0x14002eb0b
lea r9, [rcx - 1]
mov rbx, rcx
mov rdx, rdi
mov rax, rcx
and rbx, 7
je 0x14002ec39
mov rdx, rdi
mov rax, rbx
mov rdx, qword [rdx + 0x278]
add rax, 0xffffffffffffffff
jne 0x14002ec26
mov rax, rcx
sub rax, rbx
cmp r9, 7
jb 0x14002ec7d
mov rdx, qword [rdx + 0x278]
mov rdx, qword [rdx + 0x278]
mov rdx, qword [rdx + 0x278]
mov rdx, qword [rdx + 0x278]
mov rdx, qword [rdx + 0x278]
mov rdx, qword [rdx + 0x278]
mov rdx, qword [rdx + 0x278]
mov rdx, qword [rdx + 0x278]
add rax, 0xfffffffffffffff8
jne 0x14002ec3f
movzx eax, word [rdi + 0xa]
mov rsi, rcx
and rsi, 3
je 0x14002ecaa
mov rbx, rsi
movzx eax, ax
mov rdi, qword [rdi + rax*8 + 0x278]
movzx eax, word [rdi + 0xa]
add rbx, 0xffffffffffffffff
jne 0x14002ec8d
sub rcx, rsi
mov rsi, rdi
jmp 0x14002ecaa
mov rbx, rdi
cmp r9, 3
jae 0x14002ecbb
mov rdi, rdx
jmp 0x14002eb12
movzx eax, ax
mov rax, qword [rbx + rax*8 + 0x278]
movzx ebx, word [rax + 0xa]
mov rax, qword [rax + rbx*8 + 0x278]
movzx ebx, word [rax + 0xa]
mov rax, qword [rax + rbx*8 + 0x278]
movzx ebx, word [rax + 0xa]
mov rbx, qword [rax + rbx*8 + 0x278]
movzx eax, word [rbx + 0xa]
add rcx, 0xfffffffffffffffc
jne 0x14002ecbb
mov rdi, rdx
mov rsi, rbx
jmp 0x14002eb12
movzx esi, word [rax + 0xa]
mov rbx, rax
jmp 0x14002fbf5
mov r14, rsi
mov rax, qword [rsp + 0x130]
shl rax, 5
mov r9, qword [rsp + 0x48]
mov r15, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
je case.0x14002e602.280
mov r14, rsi
mov rsi, qword [rsp + 0x128]
mov rbx, r9
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rsi
mov rsi, r14
mov r14, qword [rsp + 0x38]
call sub.KERNEL32.dll_HeapFree
mov r9, rbx
cmp byte [rsp + 0x68], 0
jne 0x14002fc67
test rdi, rdi
je 0x14002ee16
lea rcx, [rdi - 1]
mov rbx, rdi
mov rax, r15
and rbx, 7
je 0x14002ee23
mov rdx, rbx
mov rax, qword [rax + 0x278]
add rdx, 0xffffffffffffffff
jne 0x14002ed8a
mov rdx, rdi
sub rdx, rbx
cmp rcx, 7
jb 0x14002ede1
mov rax, qword [rax + 0x278]
mov rax, qword [rax + 0x278]
mov rax, qword [rax + 0x278]
mov rax, qword [rax + 0x278]
mov rax, qword [rax + 0x278]
mov rax, qword [rax + 0x278]
mov rax, qword [rax + 0x278]
mov rax, qword [rax + 0x278]
add rdx, 0xfffffffffffffff8
jne 0x14002eda3
movzx edx, word [r15 + 0xa]
mov rsi, rdi
and rsi, 3
je 0x14002ee31
mov rbx, rsi
movzx edx, dx
mov r15, qword [r15 + rdx*8 + 0x278]
movzx edx, word [r15 + 0xa]
add rbx, 0xffffffffffffffff
jne 0x14002edf2
sub rdi, rsi
mov rbx, r15
cmp rcx, 3
jae 0x14002ee37
jmp 0x14002ee73
mov rsi, r9
movzx edx, word [r15 + 0xa]
mov rbx, r15
jmp 0x14002ee79
mov rdx, rdi
cmp rcx, 7
jb 0x14002ede1
jmp 0x14002eda3
cmp rcx, 3
jb 0x14002ee73
mov rbx, r15
movzx ecx, dx
mov rcx, qword [rbx + rcx*8 + 0x278]
movzx edx, word [rcx + 0xa]
mov rcx, qword [rcx + rdx*8 + 0x278]
movzx edx, word [rcx + 0xa]
mov rcx, qword [rcx + rdx*8 + 0x278]
movzx edx, word [rcx + 0xa]
mov rbx, qword [rcx + rdx*8 + 0x278]
movzx edx, word [rbx + 0xa]
add rdi, 0xfffffffffffffffc
jne 0x14002ee3a
mov rsi, r9
mov r15, rax
movzx eax, dx
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], r15
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x80], xmm0
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], r12
lea rcx, [rsp + 0x70]
call fcn.140029ea0
test rsi, rsi
je 0x14002eeed
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, qword [rsp + 0x268]
call sub.KERNEL32.dll_HeapFree
test r14, r14
mov r15, qword [rsp + 0x278]
mov r12b, byte [rsp + 0x110]
je 0x14002ef6a
imul r14, r14, 0x38
mov rax, qword [rsp + 0x208]
add r14, rax
lea rbx, [rax + 0x20]
jmp 0x14002ef24
add rbx, 0x38
add rdi, 0x38
cmp rdi, r14
je 0x14002ef6a
lea rdi, [rbx - 0x20]
cmp qword [rbx - 0x20], 0
je 0x14002ef4c
cmp qword [rbx - 0x10], 0
je 0x14002ef4c
mov rsi, qword [rbx - 0x18]
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
cmp qword [rdi + 0x28], 0
je 0x14002ef17
mov rsi, qword [rbx]
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
jmp 0x14002ef17
mov rax, qword [rsp + 0x288]
test rax, rax
je 0x14002ef97
imul rax, rax, 0x38
test rax, rax
je 0x14002ef97
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, qword [rsp + 0x208]
call sub.KERNEL32.dll_HeapFree
cmp qword [rsp + 0x270], 0
mov rsi, qword [rsp + 0x280]
je 0x14002efbc
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
cmp qword [rsp + 0x108], 0
je 0x14002efd9
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, r15
call sub.KERNEL32.dll_HeapFree
xor eax, eax
cmp r12b, 1
setne al
mov dword [r13], eax
xor esi, esi
cmp qword [rsp + 0x2c0], 0
jne 0x14002d479
jmp 0x14002d493
mov rcx, r10
cmp r9, 7
jb 0x14002e882
jmp 0x14002e844
cmp r9, 3
jb 0x14002fbe3
mov rbx, rax
movzx eax, si
mov rax, qword [rbx + rax*8 + 0x278]
movzx ecx, word [rax + 0xa]
mov rax, qword [rax + rcx*8 + 0x278]
movzx ecx, word [rax + 0xa]
mov rax, qword [rax + rcx*8 + 0x278]
movzx ecx, word [rax + 0xa]
mov rbx, qword [rax + rcx*8 + 0x278]
movzx esi, word [rbx + 0xa]
add r10, 0xfffffffffffffffc
jne 0x14002fa65
jmp 0x14002fbe3
lea rdx, [0x140068600]
xor ecx, ecx
call fcn.140024df0
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x1d0]
call fcn.140023ce0
mov al, 1
mov dword [rsp + 0x68], eax
xor eax, eax
mov cl, 1
jmp 0x14003069b
mov rcx, r10
cmp r9, 7
jb 0x14002e99d
jmp 0x14002e95f
cmp r9, 3
jb 0x14002fbe3
mov rbx, rax
movzx eax, si
mov rax, qword [rbx + rax*8 + 0x278]
movzx ecx, word [rax + 0xa]
mov rax, qword [rax + rcx*8 + 0x278]
movzx ecx, word [rax + 0xa]
mov rax, qword [rax + rcx*8 + 0x278]
movzx ecx, word [rax + 0xa]
mov rbx, qword [rax + rcx*8 + 0x278]
movzx esi, word [rbx + 0xa]
add r10, 0xfffffffffffffffc
jne 0x14002fbaa
mov rax, rdx
mov r12, qword [rsp + 0x58]
mov r15, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x40]
movzx ecx, si
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], rax
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x80], xmm0
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xb0], r8
lea rcx, [rsp + 0x70]
call fcn.140029ea0
mov r14, qword [rsp + 0x38]
mov r9, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
cmp byte [rsp + 0x68], 0
je 0x14002ed6a
mov qword [rsp + 0x70], rsi
lea rcx, [rsp + 0x70]
mov rsi, r9
call fcn.140023f90
mov rdi, r14
mov r14, rdi
mov rdi, qword [rsp + 0x40]
test rdi, rdi
je 0x14002fd30
lea r8, [rdi - 1]
mov rbx, rdi
mov rax, r15
and rbx, 7
je 0x14002fd3a
mov rdx, rbx
mov rax, qword [rax + 0x278]
add rdx, 0xffffffffffffffff
jne 0x14002fca4
mov rdx, rdi
sub rdx, rbx
cmp r8, 7
jb 0x14002fcfb
mov rax, qword [rax + 0x278]
mov rax, qword [rax + 0x278]
mov rax, qword [rax + 0x278]
mov rax, qword [rax + 0x278]
mov rax, qword [rax + 0x278]
mov rax, qword [rax + 0x278]
mov rax, qword [rax + 0x278]
mov rax, qword [rax + 0x278]
add rdx, 0xfffffffffffffff8
jne 0x14002fcbd
movzx edx, word [r15 + 0xa]
mov rcx, rdi
and rcx, 3
je 0x14002fd48
mov rbx, rcx
movzx edx, dx
mov r15, qword [r15 + rdx*8 + 0x278]
movzx edx, word [r15 + 0xa]
add rbx, 0xffffffffffffffff
jne 0x14002fd0c
sub rdi, rcx
mov rbx, r15
cmp r8, 3
jae 0x14002fd4e
jmp 0x14002fd8a
movzx edx, word [r15 + 0xa]
mov rbx, r15
jmp 0x14002fd8d
mov rdx, rdi
cmp r8, 7
jb 0x14002fcfb
jmp 0x14002fcbd
cmp r8, 3
jb 0x14002fd8a
mov rbx, r15
movzx ecx, dx
mov rcx, qword [rbx + rcx*8 + 0x278]
movzx edx, word [rcx + 0xa]
mov rcx, qword [rcx + rdx*8 + 0x278]
movzx edx, word [rcx + 0xa]
mov rcx, qword [rcx + rdx*8 + 0x278]
movzx edx, word [rcx + 0xa]
mov rbx, qword [rcx + rdx*8 + 0x278]
movzx edx, word [rbx + 0xa]
add rdi, 0xfffffffffffffffc
jne 0x14002fd51
mov r15, rax
movzx eax, dx
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], r15
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x80], xmm0
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], r12
lea rcx, [rsp + 0x70]
call fcn.140029ea0
mov rdi, r14
test rsi, rsi
jne 0x14002dbf6
jmp 0x14002dc0d
mov r12, r9
mov r15, rdi
mov r14, r8
lea rsi, [rsp + 0x70]
lea rdx, [rsp + 0x140]
mov rcx, rsi
call fcn.140046f20
lea r8, [0x140068130]
lea rdx, [rsp + 0x118]
mov rcx, rsi
call fcn.140045fb0
mov qword [rsp + 0x50], rax
cmp bl, 4
ja case.0x140030082.1
movzx eax, bl
lea rcx, [0x14003080c]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
test r12, r12
jne 0x1400304d5
jmp case.0x140030082.0
lea rdx, str.fewer_elements_in_array
call fcn.140024df0
mov rbx, rax
mov al, 1
mov dword [rsp + 0x68], eax
jmp 0x14002e780
test r12, r12
je 0x1400305ca
mov rbx, r12
lea rcx, [r12 - 1]
mov rax, r14
and rbx, 7
je 0x1400306be
mov rdx, rbx
mov rax, qword [rax + 0x278]
add rdx, 0xffffffffffffffff
jne 0x140030411
mov rdx, r12
sub rdx, rbx
cmp rcx, 7
jb 0x140030468
mov rax, qword [rax + 0x278]
mov rax, qword [rax + 0x278]
mov rax, qword [rax + 0x278]
mov rax, qword [rax + 0x278]
mov rax, qword [rax + 0x278]
mov rax, qword [rax + 0x278]
mov rax, qword [rax + 0x278]
mov rax, qword [rax + 0x278]
add rdx, 0xfffffffffffffff8
jne 0x14003042a
movzx edx, word [r14 + 0xa]
mov rsi, r12
and rsi, 3
je 0x1400306d0
mov rbx, rsi
movzx edx, dx
mov rdi, r14
mov rdi, qword [r14 + rdx*8 + 0x278]
mov r14, rdi
movzx edx, word [rdi + 0xa]
add rbx, 0xffffffffffffffff
jne 0x14003047d
sub r12, rsi
mov rsi, r14
cmp rcx, 3
jae 0x1400306d6
jmp 0x140030712
test r15, r15
je 0x1400304cb
shl r15, 5
mov rsi, r14
mov rcx, rsi
add rsi, 0x20
call fcn.140023aa0
add r15, 0xffffffffffffffe0
jne 0x1400304b9
shl r12, 5
je case.0x140030082.0
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, r14
call sub.KERNEL32.dll_HeapFree
jmp case.0x140030082.0
mov rsi, r14
movzx edx, word [r14 + 0xa]
jmp 0x140030715
mov r9, qword [rsp + 0x48]
mov r14, qword [rsp + 0x38]
mov r12, qword [rsp + 0x58]
mov r15, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
jmp 0x14002e5e2
mov rdx, r12
cmp rcx, 7
jb 0x140030468
jmp 0x14003042a
cmp rcx, 3
jb 0x140030712
mov rsi, r14
movzx ecx, dx
mov rcx, qword [rsi + rcx*8 + 0x278]
movzx edx, word [rcx + 0xa]
mov rcx, qword [rcx + rdx*8 + 0x278]
movzx edx, word [rcx + 0xa]
mov rcx, qword [rcx + rdx*8 + 0x278]
movzx edx, word [rcx + 0xa]
mov rsi, qword [rcx + rdx*8 + 0x278]
movzx edx, word [rsi + 0xa]
add r12, 0xfffffffffffffffc
jne 0x1400306d9
mov r14, rax
movzx eax, dx
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], r14
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x80], xmm0
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], rsi
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], r15
lea rcx, [rsp + 0x70]
call fcn.140029ea0
jmp case.0x140030082.0
call fcn.1400239b0
ud2
mov ecx, 0x18
mov edx, 8
call fcn.1400308f0
ud2
mov rcx, 0xffffffffffffffff
xor edx, edx
call fcn.140033740
ud2
mov rcx, rdi
mov rdx, rsi
call fcn.140033cf0
ud2
mov edx, 1
mov rcx, rsi
call fcn.1400308f0
ud2
mov rcx, rdi
mov rdx, rsi
xor r8d, r8d
call fcn.140033cf0
ud2