Function at 0x1401ae940
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 0x1401aebe1
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 0x1401aeb33
mov rax, qword [rsp + 0x48]
cmp byte [rax + rbx], 0xbf
jg 0x1401aeb39
jmp 0x1401b0c50
jne 0x1401b0c50
cmp ebx, 4
jne 0x1401aeb56
lea rdx, str.httphttpswswssftpfile__file:__
mov rcx, qword [rsp + 0x48]
mov r8, rbx
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1401aeb93
cmp qword [rsp + 0x198], rbx
jbe 0x1401aeb70
mov rax, qword [rsp + 0x48]
cmp byte [rax + rbx], 0xbf
jg 0x1401aeb76
jmp 0x1401b0c50
jne 0x1401b0c50
cmp ebx, 5
jne 0x1401aebe1
lea rdx, [0x1402c5cb0]
mov rcx, qword [rsp + 0x48]
mov r8, rbx
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1401aebe1
cmp byte [rdi + 0x1ba], 0
je 0x1401aee4e
cmp qword [rsp + 0x198], rbx
jbe 0x1401aebba
mov rax, qword [rsp + 0x48]
cmp byte [rax + rbx], 0xbf
jg 0x1401aebc0
jmp 0x1401b0c50
jne 0x1401b0c50
cmp ebx, 5
jne 0x1401aebe1
lea rdx, [0x1402c5cb0]
mov rcx, qword [rsp + 0x48]
mov r8, rbx
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1401aee4e
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 [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x1401aec55
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1401b0c50
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0x70
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1401b0c50
mov qword [rax + 0x58], 1
lea rcx, [0x1402a0568]
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 0x1401aecf8
lea rcx, [rsp + 0x4e8]
call fcn.14014db50
cmp qword [rsp + 0x250], 0
je 0x1401aed19
mov r8, qword [rsp + 0x248]
mov rcx, qword [0x1402d9150]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rsi, qword [rsp + 0x258]
mov rbx, qword [rsp + 0x268]
test rbx, rbx
je 0x1401aed75
lea rdi, [rsi + 0x30]
jmp 0x1401aed5b
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 0x1401aed75
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x1401aed40
lea rcx, [rdi + 0x28]
mov rdx, qword [rdi + 0x18]
mov r8, qword [rdi + 0x20]
call qword [rax + 0x10]
jmp 0x1401aed40
cmp qword [rsp + 0x260], 0
je 0x1401aed91
mov rcx, qword [0x1402d9150]
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 0x1401aedcb
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 0x1401aedb0
cmp qword [rsp + 0x278], 0
je 0x1401aede7
mov rcx, qword [0x1402d9150]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
cmp byte [rsp + 0x23], 0xa
jb 0x1401aee0f
cmp qword [rsp + 0x220], 0
je 0x1401aee0f
mov rcx, qword [0x1402d9150]
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 [0x1401fd820]
movdqa xmm7, xmmword [0x1401fd830]
pxor xmm8, xmm8
mov qword [rsp + 0x1a0], rdi
mov qword [rsp + 0x4d0], rbx
mov qword [rsp + 0x30], r10
cmp rcx, 2
jne 0x1401af664
jmp 0x1401af720
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.14016df60
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 0x1401aefd0
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.14016d670
test rsi, rsi
je 0x1401af050
mov rdx, qword [rbp + 8]
mov r8, qword [rbp + 0x10]
mov rcx, r14
jmp 0x1401af068
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 0x1401af170
mov r8, qword [rbp + 0x10]
test r8, r8
mov r10, qword [rsp + 0x30]
je 0x1401af190
mov rax, qword [rbp + 8]
mov r9, r8
and r9, 7
je 0x1401af198
mov rcx, rax
nop dword [rax]
movzx r15d, byte [rcx]
inc rcx
xor r15, rdx
imul r15, r14
mov rdx, r15
dec r9
jne 0x1401af020
cmp r8, 8
jae 0x1401af1a4
jmp 0x1401af220
movzx eax, byte [rbp + 8]
mov qword [rsp + 0x2c0], rax
mov r8d, 8
mov rcx, r14
mov rdx, rdi
call fcn.14016d670
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 0x1401af220
movzx eax, byte [rbp + 8]
xor rdx, rax
imul rdx, rsi
mov r15, rdx
mov r10, qword [rsp + 0x30]
jmp 0x1401af220
mov r15, rdx
jmp 0x1401af220
mov r15, rdx
mov rcx, rax
cmp r8, 8
jb 0x1401af220
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 0x1401af1b0
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 0x1401af276
movzx eax, byte [rax + 8]
cmp al, byte [rbp + 8]
je 0x1401af6d2
nop
inc r12
inc r14
mov rax, r14
nop dword [rax]
mov r14, rax
mov eax, 0
cmp r14, rsi
jae 0x1401af280
movzx eax, word [r13 + r14*4]
cmp rax, 0xffff
je 0x1401af330
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 0x1401af3b0
cmp cx, r15w
jne 0x1401af270
cmp r9, rax
jbe 0x1401b0c50
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 0x1401af270
add rax, rdi
add rax, 0x40
test rcx, rcx
je 0x1401af262
mov r8, qword [rax + 0x10]
cmp r8, qword [rbp + 0x10]
jne 0x1401af270
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 0x1401af270
jmp 0x1401af6d2
cmp r12, 0x200
setae cl
cmp dword [rsp + 0x38], 2
setne bl
mov rax, qword [rbp]
test rax, rax
je 0x1401af430
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 0x1401af43b
cmp r12, 0x200
setae cl
cmp dword [rsp + 0x38], 2
setne bl
mov rax, qword [rbp]
test rax, rax
je 0x1401af460
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 0x1401af470
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 0x1401af48c
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 0x1401b0c50
mov rax, rdx
cmp rdx, qword [rsp + 0x260]
jne 0x1401af531
lea rcx, [rsp + 0x258]
call fcn.14004a8d0
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 0x1401af5a0
movzx r9d, word [r13 + r8*4]
cmp r9w, 0xffff
je 0x1401af5e0
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 0x1401af5a0
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 0x1401b0c50
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 0x1401af720
cmp r15, qword [rdi + 0x160]
jae 0x1401b0c50
mov rax, qword [rdi + 0x150]
test rcx, rcx
je 0x1401aeec7
mov rdx, qword [rsp + 0x1a8]
cmp rdx, qword [rdi + 0x178]
jae 0x1401b0c50
mov rcx, qword [rdi + 0x168]
lea rdx, [rdx + rdx*8]
cmp qword [rcx + rdx*8 + 0x10], 0
je 0x1401af6c0
mov r8, qword [rcx + rdx*8 + 0x18]
mov qword [rsp + 0x1a8], r8
mov ebx, 1
jmp 0x1401af6c5
mov ebx, 2
lea rdi, [rcx + rdx*8]
add rdi, 0x20
jmp 0x1401aeeee
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 0x1401af664
nop
inc r15
cmp r15, qword [rdi + 0x160]
jb 0x1401aeec0
lea rsi, [rsp + 0x2c0]
mov rcx, rsi
mov rdx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x198]
call fcn.140037770
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.140059370
cmp byte [rsp + 0x60], 3
je 0x1401b0c50
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 0x1401af857
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 0x1401af88a
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 0x1401af896
lea rax, str.combase.dll
mov qword [rsp + 0x168], rax
lea rbp, [0x1402a0ef0]
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 0x1401af8ea
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.0x1401afb4a
movzx r14d, byte [rsp + 0x470]
test r14b, r14b
je case.default.0x1401afb4a
lea rdx, [0x1402a11a8]
lea rcx, [rsp + 0x470]
call fcn.14005b690
test al, al
je case.default.0x1401afb4a
movdqu xmm6, xmmword [0x1402a11c8]
movdqa xmmword [rsp + 0x70], xmm6
movdqu xmm7, xmmword [0x1402a11b8]
movdqa xmmword [rsp + 0x60], xmm7
mov rbx, qword [rsp + 0x268]
test rbx, rbx
mov qword [rsp + 0x58], rbp
mov byte [rsp + 0x24], r14b
je 0x1401afae5
lea rcx, [rsp + 0x230]
lea rdx, [rsp + 0x60]
call fcn.14016dc90
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 0x1401af9f6
movzx ecx, byte [rsp + 0x30]
cmp byte [rax + 8], cl
je 0x1401afab8
inc r14
inc r12
mov rax, r12
nop dword [rax]
mov r12, rax
mov eax, 0
cmp r12, rdi
jae 0x1401afa00
movzx eax, word [r13 + r12*4]
cmp rax, 0xffff
je 0x1401afac2
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 0x1401afac2
cmp cx, bp
jne 0x1401af9f0
cmp rbx, rax
jbe 0x1401b0c50
test r9, r9
sete r11b
imul rax, rax, 0x68
mov rcx, qword [rsi + rax + 0x40]
test rcx, rcx
setne r10b
cmp r10b, r11b
je 0x1401af9f0
add rax, rsi
add rax, 0x40
test rcx, rcx
je 0x1401af9e2
cmp qword [rax + 0x10], r8
jne 0x1401af9f0
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 0x1401af9f0
test r9, r9
je 0x1401afab8
lea rcx, [rsp + 0x78]
call qword [r9 + 0x10]
mov rbp, qword [rsp + 0x58]
jmp case.default.0x1401afb4a
test r9, r9
mov rsi, qword [rsp + 0x1a0]
je 0x1401afad8
lea rcx, [rsp + 0x78]
call qword [r9 + 0x10]
mov rbp, qword [rsp + 0x58]
movzx r14d, byte [rsp + 0x24]
jmp 0x1401afaed
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.0x1401afb4a
mov r13d, eax
lea rdi, [rsi + 0x88]
mov rax, qword [rsi]
lea rcx, [0x1401fd840]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
mov qword [rsp + 0x30], rdi
jmp rax
cmp r14b, 2
jne 0x1401afc01
mov rcx, qword [rsp + 0x478]
mov al, 2
cmp qword [rcx + 0x10], 4
mov byte [rsp + 0x28], 2
jne 0x1401afb1c
mov rcx, qword [rcx + 8]
jmp 0x1401afc29
test r13b, r13b
je 0x1401b0c50
cmp r13b, 2
jne 0x1401afc42
mov rcx, qword [rsp + 0x478]
mov al, 2
cmp qword [rcx + 0x10], 5
mov byte [rsp + 0x28], 2
jne 0x1401afb1c
mov rcx, qword [rcx + 8]
jmp 0x1401afc6a
movzx eax, byte [rsp + 0x28]
test al, al
je 0x1401b0c50
cmp al, 2
jne 0x1401afc8f
mov rax, qword [rsp + 0x478]
mov r12, qword [rax + 8]
mov r15, qword [rax + 0x10]
jmp 0x1401afcb4
lea r15, [rsi + 8]
lea rcx, [rsp + 0x60]
mov rdx, r15
lea r8, [rsp + 0x470]
call fcn.1401a68f0
cmp dword [rsp + 0x60], 2
jne 0x1401b0c96
mov eax, r13d
jmp 0x1401afb1c
cmp byte [rsp + 0x471], 0
lea rcx, [0x1402c5cb0]
lea rax, str.httphttpswswssftpfile__file:__
cmove rcx, rax
mov eax, r14d
mov byte [rsp + 0x28], r14b
jne 0x1401afb1c
cmp dword [rcx], 0x70747468
mov eax, r14d
mov byte [rsp + 0x28], r14b
jne 0x1401afb1c
jmp case.0x1401afb4a.0
cmp byte [rsp + 0x471], 0
lea rcx, [0x1402c5cb0]
lea rax, str.httphttpswswssftpfile__file:__
cmove rcx, rax
mov eax, r13d
mov byte [rsp + 0x28], r13b
je 0x1401afb1c
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 0x1401afb1c
jmp case.0x1401b0cee.2
xor r15d, r15d
cmp byte [rsp + 0x471], 0
sete r15b
lea r12, [0x1402c5cb0]
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 0x1401afb1c
mov qword [rsp + 0x4c8], rbx
mov rcx, qword [rdi + 0x30]
mov rdx, qword [rdi + 0x38]
mov r8, r12
mov r9, r15
call fcn.14016d860
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 0x1401afd6b
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 0x1401afd30
add rax, rbx
mov rdx, qword [rax]
mov rcx, r12
mov r8, r15
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1401afd30
jmp 0x1401afdb6
pcmpeqb xmm10, xmm8
pmovmskb eax, xmm10
test eax, eax
jne 0x1401afd9b
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 0x1401afd19
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 0x1401afb1c
mov rbp, qword [rsp + 0x58]
mov rdi, qword [rsi + 8]
cmp qword [rdi + 0x28], 0
je case.0x1401b0cee.2
mov rcx, qword [rdi + 0x30]
mov rdx, qword [rdi + 0x38]
lea r8, str.httphttpswswssftpfile__file:__
mov r9d, 4
call fcn.14016d860
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 0x1401afe6c
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 0x1401afe30
lea r11, [rdx + r10]
mov r11, qword [r11]
cmp dword [r11], 0x70747468
jne 0x1401afe30
jmp 0x1401afe87
pcmpeqb xmm2, xmm1
pmovmskb r9d, xmm2
test r9d, r9d
jne case.0x1401b0cee.2
add rax, r8
add eax, eax
add rax, 0x10
add r8, 0x10
jmp 0x1401afe10
cmp byte [rsi + r10 - 8], 2
jne 0x1401afea7
mov byte [rsp + 0x1e0], 2
cmp byte [rsp + 0x1e0], 2
je case.default.0x1401afb4a
jmp 0x1401aff04
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.0x1401afb4a
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.14019ff30
cmp byte [rsp + 0x80], 2
je case.default.0x1401afb4a
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 0x1401b0c54
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, [0x140236128]
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, [0x14029f9f6]
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.1401b0e80
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 0x1401b0493
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 0x1401b0e6a
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.1401a17a0
mov r12, rax
mov rbp, rdx
lea rcx, [rsp + 0x88]
mov rdx, qword [rsp + 0x258]
mov r8, qword [rsp + 0x268]
call fcn.140169340
lea rcx, [rsp + 0xa0]
mov rdx, qword [rsp + 0x270]
mov r8, qword [rsp + 0x280]
call fcn.1401695a0
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 0x1401b070f
mov rcx, qword [0x1402d9150]
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 0x1401b0765
lea r15, [rdi + 0x30]
jmp 0x1401b074b
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 0x1401b0765
mov rax, qword [r15 + 0x10]
test rax, rax
je 0x1401b0730
lea rcx, [r15 + 0x28]
mov rdx, qword [r15 + 0x18]
mov r8, qword [r15 + 0x20]
call qword [rax + 0x10]
jmp 0x1401b0730
cmp qword [rsp + 0x28], 0
je 0x1401b077e
mov rcx, qword [0x1402d9150]
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
test r14, r14
je 0x1401b07ab
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 0x1401b0790
cmp qword [rsp + 0x30], 0
je 0x1401b07c4
mov rcx, qword [0x1402d9150]
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.14018a840
mov rsi, rax
mov rdi, rdx
mov r8d, dword [rsp + 0x2bc]
cmp r8d, 0x3b9aca00
jne 0x1401b0989
mov r8d, dword [r12 + 0x1a8]
cmp r8d, 0x3b9aca00
je 0x1401b0a10
mov rax, qword [r12 + 0x1a0]
mov qword [rsp + 0x3b0], rax
lea rcx, [rsp + 0x60]
mov rdx, qword [rsp + 0x3b0]
call fcn.1401da8b0
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 0x1401b0a22
xor eax, eax
lock inc qword [r12]
jg 0x1401b0ac5
jmp 0x1401b0c50
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x1401b0a4d
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1401b0c50
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0x70
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1401b0c50
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 0x1401b0c50
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 0x1401aee0f
ud2
jne 0x1401b0c7c
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 0x1401aff86
mov rcx, qword [rsp + 0x218]
mov rdx, qword [rsp + 0x220]
call fcn.140052770
jmp 0x1401aff86
cmp byte [rsp + 0xa8], 2
je case.default.0x1401b0cee
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, [0x1401fd854]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
adc byte [rax - 0x75], cl
invalid
cmp byte [rsi + 0x50], 2
je case.0x1401b0cee.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 0x1401afec5
lea rcx, [rsp + 0x3d0]
call fcn.14014db50
ud2