Function at 0x1400d53f0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x5f8
movdqa xmmword [rsp + 0x5e0], xmm10
movdqa xmmword [rsp + 0x5d0], xmm9
movdqa xmmword [rsp + 0x5c0], xmm8
movdqa xmmword [rsp + 0x5b0], xmm7
movdqa xmmword [rsp + 0x5a0], xmm6
mov qword [rsp + 0x3b8], rcx
movzx eax, byte [r8 + 0xf0]
mov byte [rsp + 0x23], al
movzx eax, byte [r8 + 0xf1]
mov byte [rsp + 0x26], al
movzx eax, byte [r8 + 0xf2]
mov byte [rsp + 0x25], al
movzx eax, byte [r8 + 0xf7]
mov byte [rsp + 0x44], al
mov eax, dword [r8 + 0xf3]
mov dword [rsp + 0x40], eax
mov rax, qword [r8 + 0xf8]
mov qword [rsp + 0x218], rax
mov rax, qword [r8 + 0x100]
mov qword [rsp + 0x220], rax
lea rsi, [r8 + 0x88]
movups xmm0, xmmword [r8 + 0x88]
movaps xmmword [rsp + 0x580], xmm0
mov rax, qword [r8 + 0x98]
mov qword [rsp + 0x48], rax
mov rax, qword [r8 + 0xa0]
mov qword [rsp + 0x4d8], rax
mov rax, qword [r8 + 0xa8]
mov qword [rsp + 0x198], rax
mov eax, dword [r8 + 0xb0]
mov dword [rsp + 0x2b0], eax
mov ebx, dword [r8 + 0xb4]
mov rax, qword [r8 + 0xd8]
mov qword [rsp + 0x550], rax
movups xmm0, xmmword [r8 + 0xc8]
movaps xmmword [rsp + 0x540], xmm0
movups xmm0, xmmword [r8 + 0xb8]
movaps xmmword [rsp + 0x530], xmm0
movups xmm0, xmmword [r8 + 0x78]
movaps xmmword [rsp + 0x280], xmm0
movups xmm0, xmmword [r8 + 0x68]
movaps xmmword [rsp + 0x270], xmm0
movups xmm0, xmmword [r8 + 0x28]
movups xmm1, xmmword [r8 + 0x38]
movdqu xmm2, xmmword [r8 + 0x48]
movdqu xmm3, xmmword [r8 + 0x58]
movdqa xmmword [rsp + 0x260], xmm3
movdqa xmmword [rsp + 0x250], xmm2
movaps xmmword [rsp + 0x240], xmm1
movaps xmmword [rsp + 0x230], xmm0
mov rax, qword [r8 + 0x20]
mov qword [rsp + 0x500], rax
movdqu xmm0, xmmword [r8]
movdqu xmm1, xmmword [r8 + 0x10]
movdqa xmmword [rsp + 0x4f0], xmm1
movdqa xmmword [rsp + 0x4e0], xmm0
test rbx, rbx
je 0x1400d5691
mov rdi, rdx
mov rax, qword [r8 + 0xe0]
mov qword [rsp + 0x3b0], rax
mov eax, dword [r8 + 0xe8]
movzx ecx, byte [r8 + 0x108]
mov byte [rsp + 0x27], cl
cmp qword [rsp + 0x198], rbx
mov dword [rsp + 0x2bc], eax
jbe 0x1400d55e3
mov rax, qword [rsp + 0x48]
cmp byte [rax + rbx], 0xbf
jg 0x1400d55e9
jmp 0x1400d7700
jne 0x1400d7700
cmp ebx, 4
jne 0x1400d5606
lea rdx, str.httphttpswswssftpfile__file:__
mov rcx, qword [rsp + 0x48]
mov r8, rbx
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1400d5643
cmp qword [rsp + 0x198], rbx
jbe 0x1400d5620
mov rax, qword [rsp + 0x48]
cmp byte [rax + rbx], 0xbf
jg 0x1400d5626
jmp 0x1400d7700
jne 0x1400d7700
cmp ebx, 5
jne 0x1400d5691
lea rdx, [0x140196b08]
mov rcx, qword [rsp + 0x48]
mov r8, rbx
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1400d5691
cmp byte [rdi + 0x1ba], 0
je 0x1400d58fe
cmp qword [rsp + 0x198], rbx
jbe 0x1400d566a
mov rax, qword [rsp + 0x48]
cmp byte [rax + rbx], 0xbf
jg 0x1400d5670
jmp 0x1400d7700
jne 0x1400d7700
cmp ebx, 5
jne 0x1400d5691
lea rdx, [0x140196b08]
mov rcx, qword [rsp + 0x48]
mov r8, rbx
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1400d58fe
mov rax, qword [rsi + 0x50]
mov qword [rsp + 0xb0], rax
movups xmm0, xmmword [rsi + 0x40]
movaps xmmword [rsp + 0xa0], xmm0
movdqu xmm0, xmmword [rsi]
movdqu xmm1, xmmword [rsi + 0x10]
movdqu xmm2, xmmword [rsi + 0x20]
movdqu xmm3, xmmword [rsi + 0x30]
movdqa xmmword [rsp + 0x90], xmm3
movdqa xmmword [rsp + 0x80], xmm2
movdqa xmmword [rsp + 0x70], xmm1
movdqa xmmword [rsp + 0x60], xmm0
movzx eax, byte [0x1401a4170]
mov rcx, qword [0x1401a4160]
test rcx, rcx
jne 0x1400d5705
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x1400d7700
mov rcx, rax
mov qword [0x1401a4160], rax
mov r8d, 0x70
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x1400d7700
mov qword [rax + 0x58], 1
lea rcx, [0x140171528]
mov qword [rax + 0x60], rcx
mov word [rax + 0x68], 0
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmm1, xmmword [rsp + 0x70]
movdqa xmm2, xmmword [rsp + 0x80]
movdqa xmm3, xmmword [rsp + 0x90]
movups xmmword [rax], xmm0
movdqu xmmword [rax + 0x10], xmm1
movdqu xmmword [rax + 0x20], xmm2
movdqu xmmword [rax + 0x30], xmm3
movdqa xmm0, xmmword [rsp + 0xa0]
movdqu xmmword [rax + 0x40], xmm0
mov rcx, qword [rsp + 0xb0]
mov qword [rax + 0x50], rcx
mov rcx, qword [rsp + 0x3b8]
mov qword [rcx], 2
mov qword [rcx + 8], rax
cmp qword [rsp + 0x4e0], 0
je 0x1400d57a8
lea rcx, [rsp + 0x4e8]
call fcn.14006ff50
cmp qword [rsp + 0x250], 0
je 0x1400d57c9
mov r8, qword [rsp + 0x248]
mov rcx, qword [0x1401a4160]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rsi, qword [rsp + 0x258]
mov rbx, qword [rsp + 0x268]
test rbx, rbx
je 0x1400d5825
lea rdi, [rsi + 0x30]
jmp 0x1400d580b
mov rax, qword [rdi - 0x18]
mov rdx, qword [rdi - 0x10]
mov r8, qword [rdi - 8]
mov rcx, rdi
call qword [rax + 0x10]
add rdi, 0x68
dec rbx
je 0x1400d5825
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x1400d57f0
lea rcx, [rdi + 0x28]
mov rdx, qword [rdi + 0x18]
mov r8, qword [rdi + 0x20]
call qword [rax + 0x10]
jmp 0x1400d57f0
cmp qword [rsp + 0x260], 0
je 0x1400d5841
mov rcx, qword [0x1401a4160]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
mov rsi, qword [rsp + 0x270]
mov rbx, qword [rsp + 0x280]
test rbx, rbx
je 0x1400d587b
lea rdi, [rsi + 0x38]
nop word [rax + rax]
mov rax, qword [rdi - 0x18]
mov rdx, qword [rdi - 0x10]
mov r8, qword [rdi - 8]
mov rcx, rdi
call qword [rax + 0x10]
add rdi, 0x48
dec rbx
jne 0x1400d5860
cmp qword [rsp + 0x278], 0
je 0x1400d5897
mov rcx, qword [0x1401a4160]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
cmp byte [rsp + 0x23], 0xa
jb 0x1400d58bf
cmp qword [rsp + 0x220], 0
je 0x1400d58bf
mov rcx, qword [0x1401a4160]
xor edx, edx
mov r8, qword [rsp + 0x218]
call sub.KERNEL32.dll_HeapFree
movaps xmm6, xmmword [rsp + 0x5a0]
movaps xmm7, xmmword [rsp + 0x5b0]
movaps xmm8, xmmword [rsp + 0x5c0]
movaps xmm9, xmmword [rsp + 0x5d0]
movaps xmm10, xmmword [rsp + 0x5e0]
add rsp, 0x5f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movzx eax, byte [rsp + 0x23]
mov dword [rsp + 0x2b8], eax
movabs rsi, 0x1efac7090aef4a21
movabs r14, 0x100000001b3
xor ecx, ecx
cmp qword [rdi + 0x160], 0
sete cl
add rcx, rcx
xor r15d, r15d
movdqa xmm6, xmmword [0x140128040]
movdqa xmm7, xmmword [0x140128050]
pxor xmm8, xmm8
mov qword [rsp + 0x1a0], rdi
mov qword [rsp + 0x4d0], rbx
mov qword [rsp + 0x30], r10
cmp rcx, 2
jne 0x1400d6114
jmp 0x1400d61d0
mov rax, qword [rdi + 0x150]
imul rcx, r15, 0x68
mov rdx, qword [rax + rcx + 8]
mov qword [rsp + 0x1a8], rdx
cmp qword [rax + rcx], 1
mov ebx, 0
adc rbx, 1
lea rdi, [rax + rcx]
add rdi, 0x18
imul rcx, r15, 0x68
lea rbp, [rax + rcx]
add rbp, 0x40
lea rcx, [rsp + 0x230]
call fcn.1400911c0
mov r12, qword [rsp + 0x230]
cmp r12, 2
mov qword [rsp + 0x1b8], r15
mov qword [rsp + 0x1b0], rbx
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x38], r12
jne 0x1400d5a80
movdqu xmm0, xmmword [rsp + 0x238]
pshufd xmm1, xmm0, 0x44
pxor xmm1, xmm6
movdqa xmmword [rsp + 0x60], xmm1
pshufd xmm1, xmm0, 0xee
pxor xmm1, xmm7
movdqa xmmword [rsp + 0x70], xmm1
movdqa xmmword [rsp + 0x80], xmm0
lea rax, [rsp + 0x90]
movdqa xmmword [rax], xmm8
mov qword [rax + 0x10], 0
mov rsi, qword [rbp]
xor eax, eax
test rsi, rsi
setne al
mov qword [rsp + 0x2c0], rax
mov r8d, 8
lea r14, [rsp + 0x60]
mov rcx, r14
lea rdi, [rsp + 0x2c0]
mov rdx, rdi
call fcn.1400908d0
test rsi, rsi
je 0x1400d5b00
mov rdx, qword [rbp + 8]
mov r8, qword [rbp + 0x10]
mov rcx, r14
jmp 0x1400d5b18
mov rax, qword [rbp]
xor edx, edx
test rax, rax
setne dl
movabs rcx, 0xcbf29ce484222325
xor rdx, rcx
imul rdx, rsi
test rax, rax
je 0x1400d5c20
mov r8, qword [rbp + 0x10]
test r8, r8
mov r10, qword [rsp + 0x30]
je 0x1400d5c40
mov rax, qword [rbp + 8]
mov r9, r8
and r9, 7
je 0x1400d5c48
mov rcx, rax
nop dword [rax]
movzx r15d, byte [rcx]
inc rcx
xor r15, rdx
imul r15, r14
mov rdx, r15
dec r9
jne 0x1400d5ad0
cmp r8, 8
jae 0x1400d5c54
jmp 0x1400d5cd0
movzx eax, byte [rbp + 8]
mov qword [rsp + 0x2c0], rax
mov r8d, 8
mov rcx, r14
mov rdx, rdi
call fcn.1400908d0
mov rax, qword [rsp + 0x70]
mov r9, qword [rsp + 0x90]
shl r9, 0x38
or r9, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x60]
add r8, rax
rol rax, 0xd
xor rcx, r9
xor rax, r8
rol r8, 0x20
mov rdx, qword [rsp + 0x68]
add rdx, rcx
rol rcx, 0x10
xor rcx, rdx
add r8, rcx
rol rcx, 0x15
add rdx, rax
rol rax, 0x11
xor rcx, r8
xor rax, rdx
rol rdx, 0x20
xor r8, r9
add r8, rax
rol rax, 0xd
xor rax, r8
rol r8, 0x20
xor rdx, 0xff
add rdx, rcx
rol rcx, 0x10
xor rcx, rdx
add r8, rcx
rol rcx, 0x15
add rdx, rax
rol rax, 0x11
xor rax, rdx
rol rdx, 0x20
xor rcx, r8
add r8, rax
rol rax, 0xd
xor rax, r8
rol r8, 0x20
add rdx, rcx
rol rcx, 0x10
xor rcx, rdx
add r8, rcx
rol rcx, 0x15
add rdx, rax
rol rax, 0x11
xor rax, rdx
rol rdx, 0x20
xor rcx, r8
add r8, rax
rol rax, 0xd
xor rax, r8
add rdx, rcx
shl rcx, 0x10
xor rcx, rdx
shr rcx, 0x2b
add rdx, rax
shr rax, 0x2f
xor rax, rcx
mov r15, rdx
shr r15, 0x20
xor r15, rdx
xor r15, rax
mov r10, qword [rsp + 0x30]
jmp 0x1400d5cd0
movzx eax, byte [rbp + 8]
xor rdx, rax
imul rdx, rsi
mov r15, rdx
mov r10, qword [rsp + 0x30]
jmp 0x1400d5cd0
mov r15, rdx
jmp 0x1400d5cd0
mov r15, rdx
mov rcx, rax
cmp r8, 8
jb 0x1400d5cd0
add rax, r8
nop word [rax + rax]
movzx edx, byte [rcx]
xor rdx, r15
imul rdx, r14
movzx r8d, byte [rcx + 1]
xor r8, rdx
imul r8, r14
movzx edx, byte [rcx + 2]
xor rdx, r8
imul rdx, r14
movzx r8d, byte [rcx + 3]
xor r8, rdx
imul r8, r14
movzx edx, byte [rcx + 4]
xor rdx, r8
imul rdx, r14
movzx r8d, byte [rcx + 5]
xor r8, rdx
imul r8, r14
movzx edx, byte [rcx + 6]
xor rdx, r8
imul rdx, r14
movzx r15d, byte [rcx + 7]
add rcx, 8
xor r15, rdx
imul r15, r14
cmp rcx, rax
jne 0x1400d5c60
nop word cs:[rax + rax]
and r15d, 0x7fff
movzx ebx, word [rsp + 0x288]
mov r14d, r15d
and r14d, ebx
mov r13, qword [rsp + 0x248]
mov rsi, qword [rsp + 0x250]
mov r9, qword [rsp + 0x268]
mov rdi, qword [rsp + 0x258]
xor r12d, r12d
mov qword [rsp + 0x168], r9
jmp 0x1400d5d26
movzx eax, byte [rax + 8]
cmp al, byte [rbp + 8]
je 0x1400d6182
nop
inc r12
inc r14
mov rax, r14
nop dword [rax]
mov r14, rax
mov eax, 0
cmp r14, rsi
jae 0x1400d5d30
movzx eax, word [r13 + r14*4]
cmp rax, 0xffff
je 0x1400d5de0
movzx ecx, word [r13 + r14*4 + 2]
mov edx, ebx
and edx, ecx
mov r8d, r14d
sub r8d, edx
and r8d, ebx
cmp r8, r12
jb 0x1400d5e60
cmp cx, r15w
jne 0x1400d5d20
cmp r9, rax
jbe 0x1400d7700
imul rax, rax, 0x68
mov rcx, qword [rdi + rax + 0x40]
test rcx, rcx
setne dl
cmp qword [rbp], 0
sete r8b
cmp dl, r8b
je 0x1400d5d20
add rax, rdi
add rax, 0x40
test rcx, rcx
je 0x1400d5d12
mov r8, qword [rax + 0x10]
cmp r8, qword [rbp + 0x10]
jne 0x1400d5d20
mov rdx, qword [rbp + 8]
mov rcx, qword [rax + 8]
call sub.msvcrt.dll_memcmp
mov r9, qword [rsp + 0x168]
mov r10, qword [rsp + 0x30]
test eax, eax
jne 0x1400d5d20
jmp 0x1400d6182
cmp r12, 0x200
setae cl
cmp dword [rsp + 0x38], 2
setne bl
mov rax, qword [rbp]
test rax, rax
je 0x1400d5ee0
lea rdx, [rbp + 0x18]
mov r8, qword [rbp + 8]
mov r9, qword [rbp + 0x10]
lea r12, [rsp + 0x60]
mov ebp, ecx
mov rcx, r12
call qword [rax]
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x38], rax
movzx eax, byte [rsp + 0x68]
movzx ecx, byte [rsp + 0x6f]
shl ecx, 0x10
movzx edx, word [rsp + 0x6d]
or edx, ecx
shl rdx, 0x20
mov r10d, dword [rsp + 0x69]
or r10, rdx
lea rcx, [rsp + 0x90]
movdqu xmm0, xmmword [rcx - 0x20]
mov ecx, ebp
movdqa xmmword [rsp + 0x2c0], xmm0
jmp 0x1400d5eeb
cmp r12, 0x200
setae cl
cmp dword [rsp + 0x38], 2
setne bl
mov rax, qword [rbp]
test rax, rax
je 0x1400d5f10
lea rdx, [rbp + 0x18]
mov r8, qword [rbp + 8]
mov r9, qword [rbp + 0x10]
lea r12, [rsp + 0x60]
mov ebp, ecx
mov rcx, r12
call qword [rax]
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x38], rax
movzx eax, byte [rsp + 0x68]
movzx ecx, byte [rsp + 0x6f]
shl ecx, 0x10
movzx edx, word [rsp + 0x6d]
or edx, ecx
shl rdx, 0x20
mov r8d, dword [rsp + 0x69]
or r8, rdx
lea rcx, [rsp + 0x90]
movdqu xmm0, xmmword [rcx - 0x20]
mov ecx, ebp
movdqa xmmword [rsp + 0x2c0], xmm0
jmp 0x1400d5f20
movzx eax, byte [rbp + 8]
xor edx, edx
mov qword [rsp + 0x38], rdx
and cl, bl
mov ebp, ecx
movaps xmm0, xmmword [rsp + 0x2c0]
movaps xmmword [rsp + 0x3d0], xmm0
mov qword [rsp + 0x30], r10
mov rcx, r10
jmp 0x1400d5f3c
movzx eax, byte [rbp + 8]
xor edx, edx
mov qword [rsp + 0x38], rdx
mov r8, qword [rsp + 0x50]
and cl, bl
mov ebp, ecx
movaps xmm0, xmmword [rsp + 0x2c0]
movaps xmmword [rsp + 0x3d0], xmm0
mov qword [rsp + 0x50], r8
mov rcx, r8
shl rcx, 8
movzx ebx, al
or rbx, rcx
movaps xmm0, xmmword [rsp + 0x3d0]
movaps xmmword [rsp + 0x470], xmm0
movaps xmmword [rsp + 0x590], xmm0
mov r12, qword [rsp + 0x28]
lea rdx, [r12 + 0x18]
mov rax, qword [r12]
mov r8, qword [r12 + 8]
mov r9, qword [r12 + 0x10]
lea rcx, [rsp + 0x60]
call qword [rax]
movzx eax, byte [r12 + 0x20]
mov byte [rsp + 0x80], al
mov rdx, qword [rsp + 0x168]
cmp rdx, 0x8000
jae 0x1400d7700
mov rax, rdx
cmp rdx, qword [rsp + 0x260]
jne 0x1400d5fe1
lea rcx, [rsp + 0x258]
call fcn.1400212f0
mov rdx, qword [rsp + 0x168]
mov rax, qword [rsp + 0x268]
mov rdi, qword [rsp + 0x258]
mov r13, qword [rsp + 0x248]
mov rsi, qword [rsp + 0x250]
imul rcx, rax, 0x68
mov qword [rdi + rcx], 0
movups xmm0, xmmword [rsp + 0x60]
movdqu xmm1, xmmword [rsp + 0x70]
movups xmmword [rdi + rcx + 0x18], xmm0
movdqu xmmword [rdi + rcx + 0x28], xmm1
mov r8, qword [rsp + 0x80]
mov qword [rdi + rcx + 0x38], r8
mov r8, qword [rsp + 0x38]
mov qword [rdi + rcx + 0x40], r8
mov qword [rdi + rcx + 0x48], rbx
movdqa xmm0, xmmword [rsp + 0x590]
movdqu xmmword [rdi + rcx + 0x50], xmm0
mov word [rdi + rcx + 0x60], r15w
inc rax
mov qword [rsp + 0x268], rax
xor ecx, ecx
mov r11d, edx
nop word cs:[rax + rax]
mov r8, r14
mov r14d, 0
cmp r8, rsi
jae 0x1400d6050
movzx r9d, word [r13 + r8*4]
cmp r9w, 0xffff
je 0x1400d6090
inc rcx
movzx r10d, word [r13 + r8*4 + 2]
mov word [r13 + r8*4], r11w
mov word [r13 + r8*4 + 2], r15w
inc r8
mov r15d, r10d
mov r11d, r9d
mov r14, r8
jmp 0x1400d6050
mov word [r13 + r8*4], r11w
mov word [r13 + r8*4 + 2], r15w
mov r10, qword [rsp + 0x230]
test r10, r10
mov r8, r10
mov r9d, 1
cmove r8, r9
cmp rcx, 0x7f
cmova r10, r8
test bpl, bpl
cmovne r10, r8
mov qword [rsp + 0x230], r10
cmp rdx, rax
jae 0x1400d7700
mov rdi, qword [rsp + 0x1a0]
movabs rsi, 0x1efac7090aef4a21
movabs r14, 0x100000001b3
mov r15, qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x1b0]
mov r10, qword [rsp + 0x30]
mov qword [rsp + 0x30], r10
cmp rcx, 2
je 0x1400d61d0
cmp r15, qword [rdi + 0x160]
jae 0x1400d7700
mov rax, qword [rdi + 0x150]
test rcx, rcx
je 0x1400d5977
mov rdx, qword [rsp + 0x1a8]
cmp rdx, qword [rdi + 0x178]
jae 0x1400d7700
mov rcx, qword [rdi + 0x168]
lea rdx, [rdx + rdx*8]
cmp qword [rcx + rdx*8 + 0x10], 0
je 0x1400d6170
mov r8, qword [rcx + rdx*8 + 0x18]
mov qword [rsp + 0x1a8], r8
mov ebx, 1
jmp 0x1400d6175
mov ebx, 2
lea rdi, [rcx + rdx*8]
add rdi, 0x20
jmp 0x1400d599e
movdqu xmm0, xmmword [rsp + 0x3d0]
movdqa xmmword [rsp + 0x470], xmm0
mov rdi, qword [rsp + 0x1a0]
movabs rsi, 0x1efac7090aef4a21
movabs r14, 0x100000001b3
mov r15, qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x1b0]
mov qword [rsp + 0x30], r10
cmp rcx, 2
jne 0x1400d6114
nop
inc r15
cmp r15, qword [rdi + 0x160]
jb 0x1400d5970
lea rsi, [rsp + 0x2c0]
mov rcx, rsi
mov rdx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x198]
call fcn.14000f0c0
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.14002ff50
cmp byte [rsp + 0x60], 3
je 0x1400d7700
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x4c0], rax
movups xmm0, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0x4b0], xmm0
movups xmm0, xmmword [rsp + 0x60]
movdqu xmm1, xmmword [rsp + 0x70]
movdqu xmm2, xmmword [rsp + 0x80]
movdqu xmm3, xmmword [rsp + 0x90]
movdqa xmmword [rsp + 0x4a0], xmm3
movdqa xmmword [rsp + 0x490], xmm2
movdqa xmmword [rsp + 0x480], xmm1
movaps xmmword [rsp + 0x470], xmm0
cmp qword [rsp + 0x4e0], 0
je 0x1400d6307
movups xmm0, xmmword [rsp + 0x4e8]
movdqu xmm1, xmmword [rsp + 0x4f8]
movdqa xmmword [rsp + 0x440], xmm1
movaps xmmword [rsp + 0x430], xmm0
mov rax, qword [rsp + 0x430]
test rax, rax
je 0x1400d633a
lea rdx, [rsp + 0x448]
mov r8, qword [rsp + 0x438]
mov r9, qword [rsp + 0x440]
lea rcx, [rsp + 0x60]
call qword [rax]
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x1a8], rax
movups xmm0, xmmword [rsp + 0x68]
movaps xmmword [rsp + 0x2c0], xmm0
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x2d0], rax
mov rbp, qword [rsp + 0x430]
jmp 0x1400d6346
lea rax, str.combase.dll
mov qword [rsp + 0x168], rax
lea rbp, [0x140171d90]
xor eax, eax
mov qword [rsp + 0x38], rax
xor eax, eax
mov qword [rsp + 0x1b8], rax
xor eax, eax
mov qword [rsp + 0x1b0], rax
jmp 0x1400d639a
xor ebp, ebp
xor eax, eax
mov qword [rsp + 0x1a8], rax
mov rax, qword [rsp + 0x2d0]
mov qword [rsp + 0x70], rax
movaps xmm0, xmmword [rsp + 0x2c0]
movaps xmmword [rsp + 0x60], xmm0
mov rax, qword [rsp + 0x438]
mov qword [rsp + 0x168], rax
mov rax, qword [rsp + 0x440]
mov qword [rsp + 0x1b8], rax
mov rax, qword [rsp + 0x448]
mov qword [rsp + 0x1b0], rax
mov eax, 1
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x520], rax
movdqa xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x510], xmm0
cmp byte [rdi + 0x1b9], 0
je case.default.0x1400d65fa
movzx r14d, byte [rsp + 0x470]
test r14b, r14b
je case.default.0x1400d65fa
lea rdx, [0x140172048]
lea rcx, [rsp + 0x470]
call fcn.140032500
test al, al
je case.default.0x1400d65fa
movdqu xmm6, xmmword [0x140172068]
movdqa xmmword [rsp + 0x70], xmm6
movdqu xmm7, xmmword [0x140172058]
movdqa xmmword [rsp + 0x60], xmm7
mov rbx, qword [rsp + 0x268]
test rbx, rbx
mov qword [rsp + 0x58], rbp
mov byte [rsp + 0x24], r14b
je 0x1400d6595
lea rcx, [rsp + 0x230]
lea rdx, [rsp + 0x60]
call fcn.140090ef0
mov ebp, eax
movzx r15d, word [rsp + 0x288]
mov r12d, r15d
and r12d, ebp
mov r13, qword [rsp + 0x248]
mov rdi, qword [rsp + 0x250]
mov rsi, qword [rsp + 0x258]
mov r9, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
movzx eax, byte [rsp + 0x68]
mov byte [rsp + 0x30], al
mov r8, qword [rsp + 0x70]
xor r14d, r14d
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x2a8], rdx
jmp 0x1400d64a6
movzx ecx, byte [rsp + 0x30]
cmp byte [rax + 8], cl
je 0x1400d6568
inc r14
inc r12
mov rax, r12
nop dword [rax]
mov r12, rax
mov eax, 0
cmp r12, rdi
jae 0x1400d64b0
movzx eax, word [r13 + r12*4]
cmp rax, 0xffff
je 0x1400d6572
movzx ecx, word [r13 + r12*4 + 2]
mov r11d, ecx
and r11d, r15d
mov r10d, r12d
sub r10d, r11d
and r10d, r15d
cmp r14, r10
ja 0x1400d6572
cmp cx, bp
jne 0x1400d64a0
cmp rbx, rax
jbe 0x1400d7700
test r9, r9
sete r11b
imul rax, rax, 0x68
mov rcx, qword [rsi + rax + 0x40]
test rcx, rcx
setne r10b
cmp r10b, r11b
je 0x1400d64a0
add rax, rsi
add rax, 0x40
test rcx, rcx
je 0x1400d6492
cmp qword [rax + 0x10], r8
jne 0x1400d64a0
mov rcx, qword [rax + 8]
mov rbx, r8
call sub.msvcrt.dll_memcmp
mov rdx, qword [rsp + 0x2a8]
mov r8, rbx
mov r9, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x28]
test eax, eax
jne 0x1400d64a0
test r9, r9
je 0x1400d6568
lea rcx, [rsp + 0x78]
call qword [r9 + 0x10]
mov rbp, qword [rsp + 0x58]
jmp case.default.0x1400d65fa
test r9, r9
mov rsi, qword [rsp + 0x1a0]
je 0x1400d6588
lea rcx, [rsp + 0x78]
call qword [r9 + 0x10]
mov rbp, qword [rsp + 0x58]
movzx r14d, byte [rsp + 0x24]
jmp 0x1400d659d
mov rsi, qword [rsp + 0x1a0]
mov rax, qword [rsi + 0x1b0]
mov rdx, qword [rax + 0x10]
mov rax, qword [rax + 0x20]
mov rcx, rax
shl rcx, 7
lea rbx, [rcx + rax*8]
mov qword [rsp + 0x30], rdx
add rbx, rdx
pcmpeqd xmm8, xmm8
mov eax, r14d
mov byte [rsp + 0x28], r14b
mov rsi, qword [rsp + 0x30]
cmp rsi, rbx
je case.default.0x1400d65fa
mov r13d, eax
lea rdi, [rsi + 0x88]
mov rax, qword [rsi]
lea rcx, [0x140128060]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
mov qword [rsp + 0x30], rdi
jmp rax
cmp r14b, 2
jne 0x1400d66b1
mov rcx, qword [rsp + 0x478]
mov al, 2
cmp qword [rcx + 0x10], 4
mov byte [rsp + 0x28], 2
jne 0x1400d65cc
mov rcx, qword [rcx + 8]
jmp 0x1400d66d9
test r13b, r13b
je 0x1400d7700
cmp r13b, 2
jne 0x1400d66f2
mov rcx, qword [rsp + 0x478]
mov al, 2
cmp qword [rcx + 0x10], 5
mov byte [rsp + 0x28], 2
jne 0x1400d65cc
mov rcx, qword [rcx + 8]
jmp 0x1400d671a
movzx eax, byte [rsp + 0x28]
test al, al
je 0x1400d7700
cmp al, 2
jne 0x1400d673f
mov rax, qword [rsp + 0x478]
mov r12, qword [rax + 8]
mov r15, qword [rax + 0x10]
jmp 0x1400d6764
lea r15, [rsi + 8]
lea rcx, [rsp + 0x60]
mov rdx, r15
lea r8, [rsp + 0x470]
call fcn.1400cd3a0
cmp dword [rsp + 0x60], 2
jne 0x1400d7746
mov eax, r13d
jmp 0x1400d65cc
cmp byte [rsp + 0x471], 0
lea rcx, [0x140196b08]
lea rax, str.httphttpswswssftpfile__file:__
cmove rcx, rax
mov eax, r14d
mov byte [rsp + 0x28], r14b
jne 0x1400d65cc
cmp dword [rcx], 0x70747468
mov eax, r14d
mov byte [rsp + 0x28], r14b
jne 0x1400d65cc
jmp case.0x1400d65fa.0
cmp byte [rsp + 0x471], 0
lea rcx, [0x140196b08]
lea rax, str.httphttpswswssftpfile__file:__
cmove rcx, rax
mov eax, r13d
mov byte [rsp + 0x28], r13b
je 0x1400d65cc
mov eax, dword [rcx]
mov edx, 0x70747468
xor eax, edx
movzx ecx, byte [rcx + 4]
xor ecx, 0x73
or ecx, eax
mov eax, r13d
mov byte [rsp + 0x28], r13b
jne 0x1400d65cc
jmp case.0x1400d779e.2
xor r15d, r15d
cmp byte [rsp + 0x471], 0
sete r15b
lea r12, [0x140196b08]
lea rax, str.httphttpswswssftpfile__file:__
cmove r12, rax
xor r15, 5
mov rdi, qword [rsi + 8]
cmp qword [rdi + 0x28], 0
mov eax, r13d
je 0x1400d65cc
mov qword [rsp + 0x4c8], rbx
mov rcx, qword [rdi + 0x30]
mov rdx, qword [rdi + 0x38]
mov r8, r12
mov r9, r15
call fcn.140090ac0
mov rbp, rax
mov rcx, qword [rdi + 0x10]
mov r14, qword [rdi + 0x18]
shr rax, 0x39
movd xmm0, eax
mov rax, rcx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm9, xmm0, 0
lea rbx, [rcx - 0x68]
xor ecx, ecx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x2a8], rax
and rbp, r14
movdqu xmm10, xmmword [rax + rbp]
movdqa xmm0, xmm10
pcmpeqb xmm0, xmm9
pmovmskb edi, xmm0
test di, di
je 0x1400d681b
mov eax, edi
lea edi, [rax - 1]
and edi, eax
tzcnt eax, eax
add rax, rbp
and rax, r14
neg rax
imul rax, rax, 0x68
cmp r15, qword [rbx + rax + 0x10]
jne 0x1400d67e0
add rax, rbx
mov rdx, qword [rax]
mov rcx, r12
mov r8, r15
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1400d67e0
jmp 0x1400d6866
pcmpeqb xmm10, xmm8
pmovmskb eax, xmm10
test eax, eax
jne 0x1400d684b
mov rax, qword [rsp + 0x50]
add rbp, rax
add rbp, 0x10
add rax, 0x10
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x2a8]
jmp 0x1400d67c9
mov eax, r13d
mov rbp, qword [rsp + 0x58]
movzx r14d, byte [rsp + 0x24]
and al, 0x24
and al, 0x24
mov rbx, qword [rsp + 0x4c8]
jmp 0x1400d65cc
mov rbp, qword [rsp + 0x58]
mov rdi, qword [rsi + 8]
cmp qword [rdi + 0x28], 0
je case.0x1400d779e.2
mov rcx, qword [rdi + 0x30]
mov rdx, qword [rdi + 0x38]
lea r8, str.httphttpswswssftpfile__file:__
mov r9d, 4
call fcn.140090ac0
mov rsi, qword [rdi + 0x10]
mov rcx, qword [rdi + 0x18]
mov rdx, rax
shr rdx, 0x39
movd xmm0, edx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
lea rdx, [rsi - 0x68]
xor r8d, r8d
pcmpeqd xmm1, xmm1
and rax, rcx
movdqu xmm2, xmmword [rsi + rax]
movdqa xmm3, xmm2
pcmpeqb xmm3, xmm0
pmovmskb r9d, xmm3
nop word cs:[rax + rax]
test r9w, r9w
je 0x1400d691c
mov r10d, r9d
lea r9d, [r10 - 1]
and r9d, r10d
tzcnt r10d, r10d
add r10, rax
and r10, rcx
neg r10
imul r10, r10, 0x68
cmp qword [rdx + r10 + 0x10], 4
jne 0x1400d68e0
lea r11, [rdx + r10]
mov r11, qword [r11]
cmp dword [r11], 0x70747468
jne 0x1400d68e0
jmp 0x1400d6937
pcmpeqb xmm2, xmm1
pmovmskb r9d, xmm2
test r9d, r9d
jne case.0x1400d779e.2
add rax, r8
add eax, eax
add rax, 0x10
add r8, 0x10
jmp 0x1400d68c0
cmp byte [rsi + r10 - 8], 2
jne 0x1400d6957
mov byte [rsp + 0x1e0], 2
cmp byte [rsp + 0x1e0], 2
je case.default.0x1400d65fa
jmp 0x1400d69b4
add rsi, r10
lea rdx, [rsi - 0x10]
mov rax, qword [rsi - 0x28]
mov r8, qword [rsi - 0x20]
mov r9, qword [rsi - 0x18]
lea rcx, [rsp + 0x60]
call qword [rax]
movzx eax, byte [rsi - 8]
mov byte [rsp + 0x80], al
movdqu xmm0, xmmword [rsp + 0x60]
movdqu xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x1c0], xmm0
movdqa xmmword [rsp + 0x1d0], xmm1
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x1e0], rax
cmp byte [rsp + 0x1e0], 2
je case.default.0x1400d65fa
movdqa xmmword [rsp + 0x2d0], xmm6
movdqa xmmword [rsp + 0x2c0], xmm7
lea rcx, [rsp + 0x60]
lea rdx, [rsp + 0x230]
lea r8, [rsp + 0x2c0]
lea r9, [rsp + 0x1c0]
call fcn.1400c3a40
cmp byte [rsp + 0x80], 2
je case.default.0x1400d65fa
lea rcx, [rsp + 0x78]
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
call qword [rax + 0x10]
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x200], xmm0
movdqa xmmword [rsp + 0x180], xmm0
movdqa xmmword [rsp + 0x3a0], xmm0
cmp dword [rsp + 0x2b8], 9
jae 0x1400d7704
movzx ecx, byte [rsp + 0x64]
mov byte [rsp + 0x174], cl
mov ecx, dword [rsp + 0x60]
mov dword [rsp + 0x170], ecx
mov rcx, qword [rsp + 0x562]
mov r8, qword [rsp + 0x568]
mov qword [rsp + 0x458], rcx
mov qword [rsp + 0x45e], r8
movaps xmm0, xmmword [rsp + 0x200]
movaps xmmword [rsp + 0x2c0], xmm0
movaps xmm0, xmmword [rsp + 0x180]
movaps xmmword [rsp + 0x3d0], xmm0
mov ecx, dword [rsp + 0x3ca]
mov dword [rsp + 0x1f8], ecx
movzx ecx, word [rsp + 0x3ce]
mov word [rsp + 0x1fc], cx
mov rcx, qword [rsp + 0x571]
mov r8, qword [rsp + 0x578]
mov qword [rsp + 0x29f], r8
mov qword [rsp + 0x298], rcx
movaps xmm0, xmmword [rsp + 0x3a0]
movaps xmmword [rsp + 0x1c0], xmm0
movzx ecx, word [rsp + 0x3c8]
mov word [rsp + 0x1f4], cx
mov ecx, dword [rsp + 0x3c4]
mov dword [rsp + 0x1f0], ecx
movzx ecx, byte [rsp + 0x174]
mov byte [rsp + 0x17c], cl
mov ecx, dword [rsp + 0x170]
mov dword [rsp + 0x178], ecx
mov ecx, dword [rsp + 0x469]
mov r8d, dword [rsp + 0x46c]
mov dword [rsp + 0x22b], r8d
mov dword [rsp + 0x228], ecx
mov rcx, qword [rsp + 0x458]
mov r8, qword [rsp + 0x45e]
mov qword [rsp + 0x70], r8
mov qword [rsp + 0x6a], rcx
mov qword [rsp + 0x78], 2
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x88], 8
movaps xmm0, xmmword [rsp + 0x2c0]
movups xmmword [rsp + 0x90], xmm0
mov qword [rsp + 0xa0], 8
movaps xmm0, xmmword [rsp + 0x3d0]
movups xmmword [rsp + 0xa8], xmm0
mov word [rsp + 0xb8], 0
mov ecx, dword [rsp + 0x1f8]
mov dword [rsp + 0xba], ecx
movzx ecx, word [rsp + 0x1fc]
mov word [rsp + 0xbe], cx
mov byte [rsp + 0xc0], 0
mov rcx, qword [rsp + 0x298]
mov r8, qword [rsp + 0x29f]
mov qword [rsp + 0xc8], r8
mov qword [rsp + 0xc1], rcx
lea rcx, [0x14015f2f0]
mov qword [rsp + 0xd0], rcx
lea r8, str.combase.dll
mov qword [rsp + 0xd8], r8
movaps xmm0, xmmword [rsp + 0x1c0]
movups xmmword [rsp + 0xe0], xmm0
mov qword [rsp + 0xf0], rcx
lea rcx, [0x1401709b6]
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0x100], 1
mov qword [rsp + 0x108], 0
mov word [rsp + 0x110], 0xffff
movzx ecx, word [rsp + 0x1f4]
mov word [rsp + 0x116], cx
mov ecx, dword [rsp + 0x1f0]
mov dword [rsp + 0x112], ecx
movzx ecx, byte [rsp + 0x17c]
mov byte [rsp + 0x11f], cl
mov ecx, dword [rsp + 0x178]
mov dword [rsp + 0x11b], ecx
mov qword [rsp + 0x130], 0
mov byte [rsp + 0x138], 2
mov ecx, dword [rsp + 0x228]
mov r8d, dword [rsp + 0x22b]
mov dword [rsp + 0x13c], r8d
mov dword [rsp + 0x139], ecx
mov rcx, qword [rsp + 0x4c0]
mov qword [rsp + 0x420], rcx
movaps xmm0, xmmword [rsp + 0x4b0]
movaps xmmword [rsp + 0x410], xmm0
movaps xmm0, xmmword [rsp + 0x470]
movaps xmm1, xmmword [rsp + 0x480]
movaps xmm2, xmmword [rsp + 0x490]
movaps xmm3, xmmword [rsp + 0x4a0]
movaps xmmword [rsp + 0x400], xmm3
movaps xmmword [rsp + 0x3f0], xmm2
movaps xmmword [rsp + 0x3e0], xmm1
movaps xmmword [rsp + 0x3d0], xmm0
mov qword [rsp + 0x60], 0
movzx ecx, byte [rsp + 0x23]
mov byte [rsp + 0x118], cl
movzx ecx, byte [rsp + 0x26]
mov byte [rsp + 0x119], cl
movzx ecx, byte [rsp + 0x25]
mov byte [rsp + 0x11a], cl
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rdx
lea rcx, [rsp + 0x2c0]
lea rdx, [rsp + 0x60]
lea r8, [rsp + 0x3d0]
call fcn.1400d7930
mov rax, qword [rsp + 0x2c0]
mov rcx, qword [rsp + 0x2ca]
mov qword [rsp + 0x1c0], rcx
mov rcx, qword [rsp + 0x2d0]
mov qword [rsp + 0x1c6], rcx
mov rcx, qword [rsp + 0x2d8]
mov qword [rsp + 0x50], rcx
mov rsi, qword [rsp + 0x2e0]
mov rdi, qword [rsp + 0x2e8]
mov rcx, qword [rsp + 0x2f0]
mov qword [rsp + 0x28], rcx
mov rbx, qword [rsp + 0x2f8]
mov r15, qword [rsp + 0x300]
mov rcx, qword [rsp + 0x308]
mov qword [rsp + 0x30], rcx
mov r14, qword [rsp + 0x310]
movups xmm0, xmmword [rsp + 0x318]
movaps xmmword [rsp + 0x60], xmm0
movups xmm0, xmmword [rsp + 0x328]
movaps xmmword [rsp + 0x70], xmm0
movups xmm0, xmmword [rsp + 0x338]
movaps xmmword [rsp + 0x80], xmm0
movups xmm0, xmmword [rsp + 0x348]
movaps xmmword [rsp + 0x90], xmm0
movups xmm0, xmmword [rsp + 0x358]
movaps xmmword [rsp + 0xa0], xmm0
movups xmm0, xmmword [rsp + 0x368]
movaps xmmword [rsp + 0xb0], xmm0
movups xmm0, xmmword [rsp + 0x378]
movaps xmmword [rsp + 0xc0], xmm0
movups xmm0, xmmword [rsp + 0x388]
movaps xmmword [rsp + 0xd0], xmm0
mov ecx, dword [rsp + 0x399]
mov edx, dword [rsp + 0x39c]
mov dword [rsp + 0x203], edx
mov dword [rsp + 0x200], ecx
cmp rax, 3
je 0x1400d6f43
mov rcx, qword [rsp + 0x1c0]
mov rdx, qword [rsp + 0x1c6]
mov qword [rsp + 0x3d6], rdx
mov qword [rsp + 0x3d0], rcx
movaps xmm0, xmmword [rsp + 0x60]
movaps xmm1, xmmword [rsp + 0x70]
movaps xmm2, xmmword [rsp + 0x80]
movaps xmm3, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x2c0], xmm0
movaps xmmword [rsp + 0x2d0], xmm1
movaps xmmword [rsp + 0x2e0], xmm2
movaps xmmword [rsp + 0x2f0], xmm3
movaps xmm0, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0x300], xmm0
movaps xmm0, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0x310], xmm0
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x320], xmm0
movaps xmm0, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0x330], xmm0
mov ecx, dword [rsp + 0x200]
mov edx, dword [rsp + 0x203]
mov dword [rsp + 0x183], edx
mov dword [rsp + 0x180], ecx
mov rcx, qword [rsp + 0x3d0]
mov qword [rsp + 0x200], rcx
mov rcx, qword [rsp + 0x3d6]
mov qword [rsp + 0x206], rcx
movaps xmm0, xmmword [rsp + 0x2c0]
movaps xmm1, xmmword [rsp + 0x2d0]
movaps xmm2, xmmword [rsp + 0x2e0]
movaps xmm3, xmmword [rsp + 0x2f0]
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x70], xmm1
movaps xmmword [rsp + 0x80], xmm2
movaps xmmword [rsp + 0x90], xmm3
movaps xmm0, xmmword [rsp + 0x300]
movaps xmmword [rsp + 0xa0], xmm0
movaps xmm0, xmmword [rsp + 0x310]
movaps xmmword [rsp + 0xb0], xmm0
movaps xmm0, xmmword [rsp + 0x320]
movaps xmmword [rsp + 0xc0], xmm0
movaps xmm0, xmmword [rsp + 0x330]
movaps xmmword [rsp + 0xd0], xmm0
mov ecx, dword [rsp + 0x183]
mov dword [rsp + 0x3a3], ecx
mov ecx, dword [rsp + 0x180]
mov dword [rsp + 0x3a0], ecx
mov qword [rsp + 0x3d0], rbp
mov rcx, qword [rsp + 0x168]
mov qword [rsp + 0x3d8], rcx
mov rcx, qword [rsp + 0x1b8]
mov qword [rsp + 0x3e0], rcx
mov rcx, qword [rsp + 0x1b0]
mov qword [rsp + 0x3e8], rcx
cmp rax, 3
je 0x1400d791a
mov rax, qword [rsp + 0x200]
mov rcx, qword [rsp + 0x206]
mov qword [rsp + 0x186], rcx
mov qword [rsp + 0x180], rax
movaps xmm0, xmmword [rsp + 0x60]
movaps xmm1, xmmword [rsp + 0x70]
movdqa xmm2, xmmword [rsp + 0x80]
movdqa xmm3, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x2c0], xmm0
movaps xmmword [rsp + 0x2d0], xmm1
movdqa xmmword [rsp + 0x2e0], xmm2
movdqa xmmword [rsp + 0x2f0], xmm3
movaps xmm0, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0x300], xmm0
movaps xmm0, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0x310], xmm0
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x320], xmm0
movaps xmm0, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0x330], xmm0
mov eax, dword [rsp + 0x3a0]
mov ecx, dword [rsp + 0x3a3]
mov dword [rsp + 0x29b], ecx
mov dword [rsp + 0x298], eax
movups xmm0, xmmword [rsp + 0x3d0]
movdqu xmm1, xmmword [rsp + 0x3e0]
movaps xmmword [rsp + 0x1c0], xmm0
movdqa xmmword [rsp + 0x1d0], xmm1
movzx r13d, word [rsp + 0x288]
mov rcx, qword [rsp + 0x248]
mov rdx, qword [rsp + 0x250]
call fcn.1400c52b0
mov r12, rax
mov rbp, rdx
lea rcx, [rsp + 0x88]
mov rdx, qword [rsp + 0x258]
mov r8, qword [rsp + 0x268]
call fcn.14008c5a0
lea rcx, [rsp + 0xa0]
mov rdx, qword [rsp + 0x270]
mov r8, qword [rsp + 0x280]
call fcn.14008c800
movdqa xmm0, xmmword [rsp + 0x230]
mov rax, qword [rsp + 0x240]
mov word [rsp + 0xb8], r13w
mov qword [rsp + 0x78], r12
mov qword [rsp + 0x80], rbp
movdqu xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], rax
test rsi, rsi
je 0x1400d71bf
mov rcx, qword [0x1401a4160]
xor edx, edx
mov r8, qword [rsp + 0x50]
call sub.KERNEL32.dll_HeapFree
test rbx, rbx
mov r12, qword [rsp + 0x1a0]
mov r13, qword [rsp + 0x4d0]
mov rsi, r15
je 0x1400d7215
lea r15, [rdi + 0x30]
jmp 0x1400d71fb
mov rax, qword [r15 - 0x18]
mov rdx, qword [r15 - 0x10]
mov r8, qword [r15 - 8]
mov rcx, r15
call qword [rax + 0x10]
add r15, 0x68
dec rbx
je 0x1400d7215
mov rax, qword [r15 + 0x10]
test rax, rax
je 0x1400d71e0
lea rcx, [r15 + 0x28]
mov rdx, qword [r15 + 0x18]
mov r8, qword [r15 + 0x20]
call qword [rax + 0x10]
jmp 0x1400d71e0
cmp qword [rsp + 0x28], 0
je 0x1400d722e
mov rcx, qword [0x1401a4160]
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapFree
test r14, r14
je 0x1400d725b
lea rdi, [rsi + 0x38]
nop word [rax + rax]
mov rax, qword [rdi - 0x18]
mov rdx, qword [rdi - 0x10]
mov r8, qword [rdi - 8]
mov rcx, rdi
call qword [rax + 0x10]
add rdi, 0x48
dec r14
jne 0x1400d7240
cmp qword [rsp + 0x30], 0
je 0x1400d7274
mov rcx, qword [0x1401a4160]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
mov rax, qword [rsp + 0x60]
movzx edx, word [rsp + 0x68]
mov rcx, qword [rsp + 0x6a]
mov qword [rsp + 0x180], rcx
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x186], rcx
movups xmm0, xmmword [rsp + 0x78]
mov r8, qword [rsp + 0x88]
mov r9, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xb8]
mov qword [rsp + 0x2c0], rcx
lea rcx, [r12 + 0x10]
movups xmm1, xmmword [rsp + 0x90]
movups xmm2, xmmword [rsp + 0xa8]
mov qword [rsp + 0x60], rax
mov word [rsp + 0x68], dx
mov rax, qword [rsp + 0x180]
mov rdx, qword [rsp + 0x186]
mov qword [rsp + 0x6a], rax
mov qword [rsp + 0x70], rdx
movups xmmword [rsp + 0x78], xmm0
mov qword [rsp + 0x88], r8
movups xmmword [rsp + 0x90], xmm1
mov qword [rsp + 0xa0], r9
movups xmmword [rsp + 0xa8], xmm2
mov rax, qword [rsp + 0x2c0]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0x2c8]
mov qword [rsp + 0xc0], rax
movaps xmm0, xmmword [rsp + 0x2d0]
movaps xmm1, xmmword [rsp + 0x2e0]
movaps xmm2, xmmword [rsp + 0x2f0]
movaps xmm3, xmmword [rsp + 0x300]
movups xmmword [rsp + 0xc8], xmm0
movups xmmword [rsp + 0xd8], xmm1
movups xmmword [rsp + 0xe8], xmm2
movups xmmword [rsp + 0xf8], xmm3
movaps xmm0, xmmword [rsp + 0x310]
movups xmmword [rsp + 0x108], xmm0
movaps xmm0, xmmword [rsp + 0x320]
movups xmmword [rsp + 0x118], xmm0
movaps xmm0, xmmword [rsp + 0x330]
movups xmmword [rsp + 0x128], xmm0
movzx eax, byte [rsp + 0x27]
mov byte [rsp + 0x138], al
mov eax, dword [rsp + 0x298]
mov edx, dword [rsp + 0x29b]
mov dword [rsp + 0x13c], edx
mov dword [rsp + 0x139], eax
movaps xmm0, xmmword [rsp + 0x1c0]
movaps xmm1, xmmword [rsp + 0x1d0]
movups xmmword [rsp + 0x150], xmm1
movups xmmword [rsp + 0x140], xmm0
lea rdx, [rsp + 0x60]
call fcn.1400ae360
mov rsi, rax
mov rdi, rdx
mov r8d, dword [rsp + 0x2bc]
cmp r8d, 0x3b9aca00
jne 0x1400d7439
mov r8d, dword [r12 + 0x1a8]
cmp r8d, 0x3b9aca00
je 0x1400d74c0
mov rax, qword [r12 + 0x1a0]
mov qword [rsp + 0x3b0], rax
lea rcx, [rsp + 0x60]
mov rdx, qword [rsp + 0x3b0]
call fcn.1401054f0
mov rbx, qword [rsp + 0x60]
movups xmm0, xmmword [rsp + 0x68]
movaps xmmword [rsp + 0x2c0], xmm0
movups xmm0, xmmword [rsp + 0x78]
movaps xmmword [rsp + 0x2d0], xmm0
movups xmm0, xmmword [rsp + 0x88]
movaps xmmword [rsp + 0x2e0], xmm0
movups xmm0, xmmword [rsp + 0x98]
movaps xmmword [rsp + 0x2f0], xmm0
movups xmm0, xmmword [rsp + 0xa8]
movaps xmmword [rsp + 0x300], xmm0
movups xmm0, xmmword [rsp + 0xb8]
movaps xmmword [rsp + 0x310], xmm0
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x320], rax
cmp rbx, 2
jne 0x1400d74d2
xor eax, eax
lock inc qword [r12]
jg 0x1400d7575
jmp 0x1400d7700
movzx eax, byte [0x1401a4170]
mov rcx, qword [0x1401a4160]
test rcx, rcx
jne 0x1400d74fd
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x1400d7700
mov rcx, rax
mov qword [0x1401a4160], rax
mov r8d, 0x70
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x1400d7700
mov qword [rax], rbx
movaps xmm0, xmmword [rsp + 0x2c0]
movaps xmm1, xmmword [rsp + 0x2d0]
movaps xmm2, xmmword [rsp + 0x2e0]
movaps xmm3, xmmword [rsp + 0x2f0]
movups xmmword [rax + 8], xmm0
movups xmmword [rax + 0x18], xmm1
movups xmmword [rax + 0x28], xmm2
movups xmmword [rax + 0x38], xmm3
movaps xmm0, xmmword [rsp + 0x300]
movups xmmword [rax + 0x48], xmm0
movaps xmm0, xmmword [rsp + 0x310]
movups xmmword [rax + 0x58], xmm0
mov rcx, qword [rsp + 0x320]
mov qword [rax + 0x68], rcx
lock inc qword [r12]
jle 0x1400d7700
movzx ecx, byte [rsp + 0x23]
mov rdx, qword [rsp + 0x3b8]
mov byte [rdx + 0xe0], cl
movzx ecx, byte [rsp + 0x26]
mov byte [rdx + 0xe1], cl
movzx ecx, byte [rsp + 0x25]
mov byte [rdx + 0xe2], cl
mov ecx, dword [rsp + 0x40]
mov dword [rdx + 0xe3], ecx
movzx ecx, byte [rsp + 0x44]
mov byte [rdx + 0xe7], cl
mov rcx, qword [rsp + 0x218]
mov qword [rdx + 0xe8], rcx
mov rcx, qword [rsp + 0x220]
mov qword [rdx + 0xf0], rcx
movaps xmm0, xmmword [rsp + 0x580]
movups xmmword [rdx + 0x88], xmm0
mov rcx, qword [rsp + 0x48]
mov qword [rdx + 0x98], rcx
mov rcx, qword [rsp + 0x4d8]
mov qword [rdx + 0xa0], rcx
mov rcx, qword [rsp + 0x198]
mov qword [rdx + 0xa8], rcx
mov ecx, dword [rsp + 0x2b0]
mov dword [rdx + 0xb0], ecx
mov dword [rdx + 0xb4], r13d
mov rcx, qword [rsp + 0x550]
mov qword [rdx + 0xd8], rcx
movaps xmm0, xmmword [rsp + 0x530]
movaps xmm1, xmmword [rsp + 0x540]
movups xmmword [rdx + 0xc8], xmm1
movups xmmword [rdx + 0xb8], xmm0
movaps xmm0, xmmword [rsp + 0x230]
movaps xmm1, xmmword [rsp + 0x240]
movaps xmm2, xmmword [rsp + 0x250]
movaps xmm3, xmmword [rsp + 0x260]
movups xmmword [rdx + 0x28], xmm0
movups xmmword [rdx + 0x38], xmm1
movups xmmword [rdx + 0x48], xmm2
movups xmmword [rdx + 0x58], xmm3
movaps xmm0, xmmword [rsp + 0x270]
movups xmmword [rdx + 0x68], xmm0
movaps xmm0, xmmword [rsp + 0x280]
movups xmmword [rdx + 0x78], xmm0
mov rcx, qword [rsp + 0x520]
mov qword [rdx + 0x20], rcx
movaps xmm0, xmmword [rsp + 0x510]
movups xmmword [rdx + 0x10], xmm0
mov rcx, qword [rsp + 0x38]
mov qword [rdx], rcx
mov rcx, qword [rsp + 0x1a8]
mov qword [rdx + 8], rcx
mov qword [rdx + 0xf8], 8
xorps xmm0, xmm0
movups xmmword [rdx + 0x100], xmm0
mov qword [rdx + 0x110], r12
mov qword [rdx + 0x118], rsi
mov qword [rdx + 0x120], rdi
mov qword [rdx + 0x128], 0
mov qword [rdx + 0x130], rax
jmp 0x1400d58bf
ud2
jne 0x1400d772c
movzx eax, byte [rsp + 0x44]
mov byte [rsp + 0x64], al
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x60], eax
movzx edx, byte [rsp + 0x220]
mov rax, qword [rsp + 0x218]
jmp 0x1400d6a36
mov rcx, qword [rsp + 0x218]
mov rdx, qword [rsp + 0x220]
call fcn.140029190
jmp 0x1400d6a36
cmp byte [rsp + 0xa8], 2
je case.default.0x1400d779e
lea rcx, [rsp + 0xa0]
mov rax, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x90]
mov r8, qword [rsp + 0x98]
call qword [rax + 0x10]
lea rcx, [rsp + 0x80]
mov rax, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x78]
call qword [rax + 0x10]
adc byte [rax - 0x75], cl
invalid
lea rcx, [0x140128074]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
adc byte [rax - 0x75], cl
invalid
cmp byte [rsi + 0x50], 2
je case.0x1400d779e.2
lea rdx, [rsi + 0x48]
mov rax, qword [rsi + 0x30]
mov r8, qword [rsi + 0x38]
mov r9, qword [rsi + 0x40]
lea rcx, [rsp + 0x60]
call qword [rax]
movzx eax, byte [rsi + 0x50]
jmp 0x1400d6975
lea rcx, [rsp + 0x3d0]
call fcn.14006ff50
ud2