Function at 0x140004cb0
Capabilities:
Encrypt data using aes via x86 extensions
Hash data using sha256

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x698
lea rbp, [rsp + 0x80]
vmovdqa xmmword [rbp + 0x600], xmm15
vmovdqa xmmword [rbp + 0x5f0], xmm14
vmovdqa xmmword [rbp + 0x5e0], xmm13
vmovdqa xmmword [rbp + 0x5d0], xmm12
vmovdqa xmmword [rbp + 0x5c0], xmm11
vmovdqa xmmword [rbp + 0x5b0], xmm10
vmovdqa xmmword [rbp + 0x5a0], xmm9
vmovdqa xmmword [rbp + 0x590], xmm8
vmovdqa xmmword [rbp + 0x580], xmm7
vmovdqa xmmword [rbp + 0x570], xmm6
mov qword [rbp + 0x568], 0xfffffffffffffffe
mov r14, rdx
mov rsi, rcx
vmovaps ymm0, ymmword [r8]
vmovups ymmword [rbp], ymm0
mov rcx, qword [0x14014d0a0]
mov rdx, rbp
vzeroupper
call fcn.140025f90
test eax, eax
je 0x140005f87
vmovups ymm0, ymmword [rbp]
mov word [rbp + 0x3e2], 1
lea rdi, [rbp + 0x3e4]
vmovups ymmword [rbp + 0x3e4], ymm0
vxorps xmm0, xmm0, xmm0
vmovups ymmword [rbp + 0x20], ymm0
vmovups ymmword [rbp], ymm0
mov rdx, rbp
mov rcx, rsi
mov r8, rdi
vzeroupper
call fcn.140025ac0
lea r9, [rbp - 0x40]
vmovups ymm0, ymmword [rbp]
vmovups ymm1, ymmword [rbp + 0x20]
vmovups ymmword [rbp - 0x40], ymm0
vmovups ymmword [rbp - 0x20], ymm1
vxorps xmm0, xmm0, xmm0
vmovups ymmword [rbp], ymm0
mov byte [rbp - 0x41], 1
mov byte [rbp + 0x20], 0
mov qword [rbp + 0x440], 0x21
mov rcx, qword [0x14014d0a0]
mov dword [rsp + 0x20], 0x102
mov rdx, rbp
lea r8, [rbp + 0x440]
vzeroupper
call fcn.140025de0
vmovups ymm0, ymmword [rbp]
vmovups ymmword [rbp + 0x530], ymm0
movzx eax, byte [rbp + 0x20]
mov byte [rbp + 0x550], al
vxorps xmm0, xmm0, xmm0
vmovups ymmword [rbp + 0x460], ymm0
vmovups ymmword [rbp + 0x440], ymm0
vmovaps ymm0, ymmword [0x140030640]
vmovups ymmword [rbp + 0x480], ymm0
mov qword [rbp + 0x4a0], 0
lea rcx, [rbp + 0x440]
lea rdx, [rbp + 0x530]
mov r8d, 0x21
vzeroupper
call fcn.140007960
mov rax, qword [rbp + 0x4a0]
mov qword [rbp + 0x60], rax
vmovups ymm0, ymmword [rbp + 0x440]
vmovups ymm1, ymmword [rbp + 0x460]
vmovdqu ymm2, ymmword [rbp + 0x480]
vmovdqu ymmword [rbp + 0x40], ymm2
vmovups ymmword [rbp + 0x20], ymm1
vmovups ymmword [rbp], ymm0
lea rcx, [rbp + 0x404]
mov rdx, rbp
vzeroupper
call fcn.14000bfc0
vmovdqu xmm0, xmmword [rbp + 0x404]
vmovd xmm1, dword [rbp + 0x414]
vpxor xmm1, xmm1, xmmword [0x140030660]
vpxor xmm0, xmm0, xmmword [0x140030670]
vpor xmm0, xmm0, xmm1
vptest xmm0, xmm0
jne 0x140005f0f
mov qword [rbp + 0x530], 1
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rbp + 0x538], xmm0
mov byte [rbp + 0x21], 0
cmp byte [rbp + 0x3e3], 0
mov eax, 0x80
mov ecx, 0xef
cmove ecx, eax
mov byte [rbp], cl
vmovdqu ymm0, ymmword [rdi]
vmovdqu ymmword [rbp + 1], ymm0
cmp byte [rbp + 0x3e2], 0
je 0x140004f18
mov byte [rbp + 0x21], 1
lea rcx, [rbp + 0x440]
mov rdx, rbp
mov r8d, 0x22
vzeroupper
call fcn.1400071e0
jmp 0x140004f30
lea rcx, [rbp + 0x440]
mov rdx, rbp
mov r8d, 0x21
vzeroupper
call fcn.1400071e0
mov rdx, qword [rbp + 0x440]
mov r8, qword [rbp + 0x450]
lea rbx, [rbp + 0x530]
mov rcx, rbx
mov qword [rbp + 0x558], rdx
call fcn.140002080
mov esi, eax
cmp qword [rbp + 0x448], 0
je 0x140004f76
mov rcx, qword [0x14014d228]
xor edx, edx
mov r8, qword [rbp + 0x558]
call qword [sym.imp.KERNEL32.dll_HeapFree]
test sil, sil
jne 0x1400060a9
mov rax, qword [rbp + 0x530]
mov qword [rbp + 0x508], rax
mov rax, qword [rbp + 0x538]
mov qword [rbp + 0x4c8], rax
mov r13, qword [rbp + 0x540]
mov eax, dword [0x14014d2a0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov r12, qword [rax + 8]
test r12, r12
jne 0x140004fd2
call fcn.140010570
test rax, rax
je 0x140006107
mov r12, qword [rax]
inc qword [r12]
je 0x1400060d6
lea rdx, [r12 + 0x10]
mov rax, qword [r12 + 0x110]
cmp rax, 0x3f
jae 0x140005016
lea rcx, [rax + 2]
mov qword [r12 + 0x110], rcx
mov rdi, qword [r12 + rax*4 + 0x10]
mov qword [rbp + 0x428], r14
dec qword [r12]
jne 0x140005107
jmp 0x1400050ee
mov qword [rbp + 0x558], r12
jne 0x14000505c
mov esi, dword [r12 + 0x10c]
lea rcx, [r12 + 0x120]
mov rax, qword [r12 + 0x158]
test rax, rax
jle 0x140005091
cmp qword [r12 + 0x160], 0
js 0x140005091
add rax, 0xffffffffffffff00
mov qword [r12 + 0x158], rax
call fcn.140010870
jmp 0x140005096
lea rcx, [r12 + 0x120]
mov rax, qword [r12 + 0x158]
test rax, rax
jle 0x1400050c4
cmp qword [r12 + 0x160], 0
js 0x1400050c4
add rax, 0xffffffffffffff00
mov qword [r12 + 0x158], rax
call fcn.140010870
jmp 0x1400050c9
call fcn.140001900
mov r12, qword [rbp + 0x558]
mov qword [r12 + 0x110], 1
mov edi, dword [r12 + 0x10]
shl rdi, 0x20
or rdi, rsi
mov qword [rbp + 0x428], r14
dec qword [r12]
jne 0x140005107
jmp 0x1400050ee
call fcn.140001900
mov r12, qword [rbp + 0x558]
mov qword [r12 + 0x110], 2
mov rdi, qword [r12 + 0x10]
mov qword [rbp + 0x428], r14
dec qword [r12]
jne 0x140005107
dec qword [r12 + 8]
jne 0x140005107
mov rcx, qword [0x14014d228]
xor edx, edx
mov r8, r12
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x418], rdi
lea rsi, [rbp + 0x418]
mov qword [rbp + 0x530], rsi
lea r14, [fcn.14000c250]
mov qword [rbp + 0x538], r14
lea rax, str.D:_bitluckGOLD_PUZZLE_.txt
mov qword [rbp], rax
mov qword [rbp + 8], 2
mov qword [rbp + 0x20], 0
mov qword [rbp + 0x10], rbx
mov qword [rbp + 0x18], 1
lea rcx, [rbp + 0x440]
mov rbx, rbp
mov rdx, rbx
call fcn.140006e50
mov rdx, qword [rbp + 0x440]
mov rax, qword [rbp + 0x448]
mov qword [rbp + 0x4d0], rax
mov r8, qword [rbp + 0x450]
mov dword [rbp + 0x530], 0
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rbp + 0x538], xmm0
mov dword [rbp + 0x548], 7
mov word [rbp + 0x554], 0
mov qword [rbp + 0x54c], 0
mov byte [rbp + 0x554], 1
mov byte [rbp + 0x552], 1
lea rcx, [rbp + 0x530]
mov qword [rbp + 0x4d8], rdx
call fcn.14001fdb0
mov qword [rbp + 0x4b0], rax
mov qword [rbp + 0x4b8], rdx
test rax, rax
je 0x1400052f2
mov dword [rbp + 0x440], 0
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rbp + 0x448], xmm0
mov dword [rbp + 0x458], 7
mov word [rbp + 0x464], 0
mov qword [rbp + 0x45c], 0
mov byte [rbp + 0x464], 1
mov byte [rbp + 0x462], 1
mov qword [rbp + 0x430], rsi
mov qword [rbp + 0x438], r14
lea rax, str.GOLD_PUZZLE_GOLD_
mov qword [rbp], rax
mov qword [rbp + 8], 2
mov qword [rbp + 0x20], 0
lea rax, [rbp + 0x430]
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], 1
lea rcx, [rbp + 0x4f0]
mov rdx, rbp
call fcn.140006e50
mov rdx, qword [rbp + 0x4f0]
mov rax, qword [rbp + 0x4f8]
mov qword [rbp + 0x558], rax
mov r8, qword [rbp + 0x500]
lea rcx, [rbp + 0x440]
mov qword [rbp + 0x510], rdx
call fcn.14001fdb0
mov rdi, rdx
test rax, rax
jne 0x1400060da
lea rsi, [rbp + 0x4b8]
cmp qword [rbp + 0x558], 0
je 0x1400052da
mov rcx, qword [0x14014d228]
xor edx, edx
mov r8, qword [rbp + 0x510]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x558], rdi
mov qword [rbp + 0x528], rdi
mov rcx, rsi
call fcn.140001510
jmp 0x1400052f9
mov qword [rbp + 0x558], rdx
lea rax, [r13 + 0x10]
mov qword [rbp + 0x420], rax
mov qword [rbp + 0x4c0], r13
lea rax, [0x1400269f4]
mov qword [rbp], rax
mov rcx, qword [rbp]
movabs rax, 0x3ac4ee6f6411cf41
mov qword [rbp], rax
mov rdx, qword [rbp]
call fcn.1400026d0
vmovq xmm0, qword [rax]
vmovq xmm1, qword [rax + 8]
vpunpcklqdq xmm1, xmm0, xmm1
vmovq xmm0, qword [rax + 0x10]
vmovq xmm2, qword [rax + 0x18]
vpunpcklqdq xmm0, xmm0, xmm2
vpxor xmm0, xmm0, xmmword [0x140030690]
vmovdqa xmmword [rbp + 0x510], xmm0
vaeskeygenassist xmm2, xmm0, 1
vpxor xmm1, xmm1, xmmword [0x140030680]
vpshufd xmm2, xmm2, 0xff
vpslldq xmm3, xmm1, 4
vpslldq xmm4, xmm1, 8
vpslldq xmm5, xmm1, 0xc
vpxor xmm3, xmm3, xmm5
vpxor xmm3, xmm3, xmm4
vpxor xmm3, xmm3, xmm1
vpxor xmm2, xmm2, xmm3
vaeskeygenassist xmm3, xmm2, 0
vpshufd xmm3, xmm3, 0xaa
vpslldq xmm4, xmm0, 4
vpslldq xmm5, xmm0, 8
vpslldq xmm6, xmm0, 0xc
vpxor xmm4, xmm4, xmm6
vpxor xmm4, xmm4, xmm5
vpxor xmm4, xmm4, xmm0
vpxor xmm3, xmm3, xmm4
vaeskeygenassist xmm4, xmm3, 2
vpshufd xmm4, xmm4, 0xff
vpslldq xmm5, xmm2, 4
vpslldq xmm6, xmm2, 8
vpslldq xmm7, xmm2, 0xc
vpxor xmm5, xmm5, xmm7
vpxor xmm5, xmm5, xmm6
vpxor xmm5, xmm5, xmm2
vpxor xmm4, xmm4, xmm5
vaeskeygenassist xmm5, xmm4, 0
vpshufd xmm5, xmm5, 0xaa
vpslldq xmm6, xmm3, 4
vpslldq xmm7, xmm3, 8
vpslldq xmm8, xmm3, 0xc
vpxor xmm6, xmm8, xmm6
vpxor xmm6, xmm6, xmm7
vpxor xmm6, xmm6, xmm3
vpxor xmm5, xmm5, xmm6
vaeskeygenassist xmm6, xmm5, 4
vpshufd xmm6, xmm6, 0xff
vpslldq xmm7, xmm4, 4
vpslldq xmm8, xmm4, 8
vpslldq xmm9, xmm4, 0xc
vpxor xmm7, xmm9, xmm7
vpxor xmm7, xmm8, xmm7
vpxor xmm7, xmm7, xmm4
vpxor xmm13, xmm6, xmm7
vaeskeygenassist xmm6, xmm13, 0
vpshufd xmm6, xmm6, 0xaa
vpslldq xmm7, xmm5, 4
vpslldq xmm8, xmm5, 8
vpslldq xmm9, xmm5, 0xc
vpxor xmm7, xmm9, xmm7
vpxor xmm7, xmm8, xmm7
vpxor xmm7, xmm7, xmm5
vpxor xmm14, xmm6, xmm7
vaeskeygenassist xmm6, xmm14, 8
vpshufd xmm6, xmm6, 0xff
vpslldq xmm7, xmm13, 4
vpslldq xmm8, xmm13, 8
vpslldq xmm9, xmm13, 0xc
vpxor xmm7, xmm9, xmm7
vpxor xmm7, xmm8, xmm7
vpxor xmm7, xmm13, xmm7
vpxor xmm15, xmm6, xmm7
vaeskeygenassist xmm6, xmm15, 0
vpshufd xmm6, xmm6, 0xaa
vpslldq xmm7, xmm14, 4
vpslldq xmm8, xmm14, 8
vpslldq xmm9, xmm14, 0xc
vpxor xmm7, xmm9, xmm7
vpxor xmm7, xmm8, xmm7
vpxor xmm7, xmm14, xmm7
vpxor xmm6, xmm6, xmm7
vaeskeygenassist xmm7, xmm6, 0x10
vpshufd xmm7, xmm7, 0xff
vpslldq xmm8, xmm15, 4
vpslldq xmm9, xmm15, 8
vpslldq xmm10, xmm15, 0xc
vpxor xmm8, xmm8, xmm10
vpxor xmm8, xmm8, xmm9
vpxor xmm8, xmm8, xmm15
vpxor xmm7, xmm8, xmm7
vaeskeygenassist xmm8, xmm7, 0
vpshufd xmm8, xmm8, 0xaa
vpslldq xmm9, xmm6, 4
vpslldq xmm10, xmm6, 8
vpslldq xmm11, xmm6, 0xc
vpxor xmm9, xmm9, xmm11
vpxor xmm9, xmm9, xmm10
vpxor xmm9, xmm9, xmm6
vpxor xmm9, xmm8, xmm9
vaeskeygenassist xmm8, xmm9, 0x20
vpshufd xmm8, xmm8, 0xff
vpslldq xmm10, xmm7, 4
vpslldq xmm11, xmm7, 8
vpslldq xmm12, xmm7, 0xc
vpxor xmm10, xmm10, xmm12
vpxor xmm10, xmm10, xmm11
vpxor xmm10, xmm10, xmm7
vpxor xmm10, xmm8, xmm10
vaeskeygenassist xmm8, xmm10, 0
vpshufd xmm8, xmm8, 0xaa
vpslldq xmm11, xmm9, 4
vpslldq xmm12, xmm9, 0xc
vpxor xmm11, xmm11, xmm12
vpslldq xmm12, xmm9, 8
vpxor xmm11, xmm11, xmm12
vpxor xmm11, xmm11, xmm9
vpxor xmm0, xmm8, xmm11
vaeskeygenassist xmm8, xmm0, 0x40
vmovdqa xmmword [rbp + 0x4e0], xmm0
vpslldq xmm12, xmm10, 4
vpslldq xmm11, xmm10, 0xc
vpxor xmm11, xmm12, xmm11
vpslldq xmm12, xmm10, 8
vpxor xmm11, xmm11, xmm12
vpshufd xmm8, xmm8, 0xff
vpxor xmm11, xmm11, xmm10
vpxor xmm8, xmm8, xmm11
vaesenc xmm11, xmm1, xmmword [rbp + 0x510]
vaesenc xmm11, xmm11, xmm2
vaesenc xmm11, xmm11, xmm3
vaesenc xmm11, xmm11, xmm4
vaesenc xmm11, xmm11, xmm5
vaesenc xmm11, xmm11, xmm13
vaesenc xmm11, xmm11, xmm14
vaesenc xmm11, xmm11, xmm15
vaesenc xmm11, xmm11, xmm6
vaesenc xmm11, xmm11, xmm7
vaesenc xmm11, xmm11, xmm9
vaesenc xmm11, xmm11, xmm10
vaesenc xmm11, xmm11, xmm0
vaesenclast xmm12, xmm11, xmm8
vpextrb ecx, xmm12, 0xe
vpextrb eax, xmm12, 0xf
vpextrb r8d, xmm12, 6
vpextrb r9d, xmm12, 4
vpextrb edx, xmm12, 5
vpextrb r10d, xmm12, 7
shl r8, 8
shl r9, 0x18
or r9, r8
shl rdx, 0x10
or rdx, r10
vpextrb r10d, xmm12, 0xa
vpextrb r8d, xmm12, 8
vpextrb r12d, xmm12, 0xb
vpextrb esi, xmm12, 9
vpextrb r14d, xmm12, 2
vpextrb r15d, xmm12, 3
vpextrb r11d, xmm12, 0
vpextrb r13d, xmm12, 0xc
vpextrb ebx, xmm12, 0xd
vpextrb edi, xmm12, 1
or rdx, r9
shl r12, 0x20
shl rsi, 0x30
or rsi, r12
shl r10, 0x28
shl r8, 0x38
or r10, r8
or r10, rsi
shl r14, 0x28
or r14, rdx
shl rcx, 8
shl r15, 0x20
shl r13, 0x18
or r13, r10
mov rdx, r11
shl rdx, 0x38
shl rbx, 0x10
or rbx, r13
or rbx, rcx
shl rdi, 0x30
or rdi, r15
or rdi, rdx
or rdi, r14
or rbx, rax
shr r11d, 7
shld rdi, r8, 1
movabs rax, 0x8000000000000000
and rdx, rax
mov rax, r11
shl rax, 0x3e
or rax, rdx
lea rcx, [r11 + rbx*2]
shl r11, 0x39
or r11, rax
xor r11, rdi
mov qword [rbp + 0x3c8], r11
mov qword [rbp + 0x3c0], rcx
vpxor xmm12, xmm12, xmm12
vmovdqa xmmword [rbp + 0x3d0], xmm12
vmovdqa xmmword [rbp], xmm1
vmovdqa xmm0, xmmword [rbp + 0x510]
vmovdqa xmmword [rbp + 0x10], xmm0
vmovdqa xmmword [rbp + 0x20], xmm2
vmovdqa xmmword [rbp + 0x30], xmm3
vmovdqa xmmword [rbp + 0x40], xmm4
vmovdqa xmmword [rbp + 0x50], xmm5
vmovdqa xmmword [rbp + 0x60], xmm13
vmovdqa xmmword [rbp + 0x70], xmm14
vmovdqa xmmword [rbp + 0x80], xmm15
vmovdqa xmmword [rbp + 0x90], xmm6
vmovdqa xmmword [rbp + 0xa0], xmm7
vmovdqa xmmword [rbp + 0xb0], xmm9
vmovdqa xmmword [rbp + 0xc0], xmm10
vmovdqa xmm11, xmmword [rbp + 0x4e0]
vmovdqa xmmword [rbp + 0xd0], xmm11
vmovdqa xmmword [rbp + 0xe0], xmm8
vmovdqa xmmword [rbp + 0xf0], xmm1
vaesimc xmm0, xmm0
vmovdqa xmmword [rbp + 0x100], xmm0
vaesimc xmm0, xmm2
vmovdqa xmmword [rbp + 0x110], xmm0
vaesimc xmm0, xmm3
vmovdqa xmmword [rbp + 0x120], xmm0
vaesimc xmm0, xmm4
vmovdqa xmmword [rbp + 0x130], xmm0
vaesimc xmm0, xmm5
vmovdqa xmmword [rbp + 0x140], xmm0
vaesimc xmm0, xmm13
vmovdqa xmmword [rbp + 0x150], xmm0
vaesimc xmm0, xmm14
vmovdqa xmmword [rbp + 0x160], xmm0
vaesimc xmm0, xmm15
vmovdqa xmmword [rbp + 0x170], xmm0
vaesimc xmm0, xmm6
vmovdqa xmmword [rbp + 0x180], xmm0
vaesimc xmm0, xmm7
vmovdqa xmmword [rbp + 0x190], xmm0
vaesimc xmm0, xmm9
vmovdqa xmmword [rbp + 0x1a0], xmm0
vaesimc xmm0, xmm10
vmovdqa xmmword [rbp + 0x1b0], xmm0
vaesimc xmm0, xmm11
vmovdqa xmmword [rbp + 0x1c0], xmm0
vmovdqa xmmword [rbp + 0x1d0], xmm8
mov rsi, qword [rbp + 0x420]
test rsi, rsi
je 0x1400058d0
js 0x140006091
movzx eax, byte [0x14014d130]
mov rax, qword [0x14014d228]
test rax, rax
mov r15, qword [rbp + 0x4c0]
mov rbx, rbp
lea rdi, [rbp + 8]
lea r14, [rbp + 0x4f0]
vmovdqa xmm13, xmmword [0x1400306b0]
jne 0x14000588f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x140006071
mov qword [0x14014d228], rax
mov rcx, rax
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140006071
mov qword [rbp + 0x530], rax
mov qword [rbp + 0x538], rsi
mov qword [rbp + 0x540], 0
cmp r15, 0xfffffffffffffff0
jae 0x140005903
mov rcx, rax
xor r12d, r12d
mov rsi, rax
jmp 0x140005928
mov qword [rbp + 0x530], 1
lea rax, [rbp + 0x538]
vmovdqu xmmword [rax], xmm12
mov r15, qword [rbp + 0x4c0]
mov rbx, rbp
lea rdi, [rbp + 8]
lea r14, [rbp + 0x4f0]
vmovdqa xmm13, xmmword [0x1400306b0]
lea rcx, [rbp + 0x530]
xor edx, edx
mov r13, r15
mov r8, r15
call fcn.14002d730
mov rsi, qword [rbp + 0x530]
mov r12, qword [rbp + 0x540]
mov r15, r13
lea rcx, [rsi + r12]
mov rdx, qword [rbp + 0x508]
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
add r12, r15
mov qword [rbp + 0x540], r12
movabs rax, 0x1000000000
cmp r12, rax
ja 0x140005fb7
lea rax, [rbp + 0x458]
vmovdqu xmmword [rax], xmm12
mov qword [rbp + 0x440], rbx
vmovdqa xmm0, xmmword [0x1400306a0]
vmovdqu xmmword [rbp + 0x448], xmm0
mov dword [rbp + 0x468], 1
mov byte [rbp + 0x46c], 0
lea rcx, [rbp + 0x440]
mov r15, rsi
mov rdx, rsi
mov r8, r12
call fcn.140002700
test al, al
jne 0x140006011
vmovdqa xmm6, xmmword [rbp + 0x3c0]
vmovdqa xmm8, xmmword [rbp + 0x3d0]
mov rdx, r12
vpshufd xmm7, xmm6, 0xee
and rdx, 0xfffffffffffffff0
je 0x140005ab2
vpxor xmm0, xmm6, xmm7
xor eax, eax
mov rcx, r15
nop word cs:[rax + rax]
vmovdqu xmm1, xmmword [rcx + rax]
vpshufb xmm1, xmm1, xmm13
vpxor xmm1, xmm8, xmm1
vpshufd xmm2, xmm1, 0xee
vpxor xmm2, xmm1, xmm2
vpclmulqdq xmm2, xmm2, xmm0, 0
vpclmulqdq xmm3, xmm1, xmm6, 0
vpclmulqdq xmm1, xmm1, xmm6, 0x11
vpxor xmm4, xmm3, xmm1
vpxor xmm2, xmm4, xmm2
vpshufd xmm4, xmm3, 0xe
vpshufd xmm5, xmm2, 0xee
vpshufd xmm8, xmm1, 0xee
vpsrlq xmm9, xmm3, 1
vpsrlq xmm10, xmm3, 2
vpxor xmm9, xmm9, xmm10
vpsrlq xmm10, xmm3, 7
vpxor xmm9, xmm9, xmm10
vpsllq xmm10, xmm3, 0x3f
vpsllq xmm11, xmm3, 0x3e
vpxor xmm10, xmm11, xmm10
vpsllq xmm11, xmm3, 0x39
vpxor xmm4, xmm11, xmm4
vpxor xmm4, xmm10, xmm4
vpxor xmm2, xmm4, xmm2
vpsrlq xmm4, xmm2, 1
vpsrlq xmm10, xmm2, 2
vpxor xmm8, xmm10, xmm8
vpsrlq xmm10, xmm2, 7
vpxor xmm4, xmm10, xmm4
vpxor xmm4, xmm8, xmm4
vpxor xmm4, xmm4, xmm2
vpsllq xmm8, xmm2, 0x3f
vpor xmm8, xmm8, xmm9
vpsllq xmm9, xmm2, 0x3e
vpsllq xmm2, xmm2, 0x39
vpxor xmm2, xmm9, xmm2
vpxor xmm2, xmm8, xmm2
vpxor xmm3, xmm5, xmm3
vpxor xmm1, xmm3, xmm1
vpxor xmm1, xmm2, xmm1
vpunpcklqdq xmm8, xmm1, xmm4
add rax, 0x10
cmp rdx, rax
jne 0x1400059e0
mov r8d, r12d
and r8d, 0xf
je 0x140005ba0
add rdx, r15
vmovdqa xmmword [rbp + 0x4f0], xmm12
mov rcx, r14
call sub.VCRUNTIME140.dll_memcpy
vmovdqa xmm0, xmmword [rbp + 0x4f0]
vpshufb xmm0, xmm0, xmm13
vpxor xmm3, xmm8, xmm0
vpxor xmm0, xmm6, xmm7
vpclmulqdq xmm1, xmm3, xmm6, 0
vpshufd xmm4, xmm3, 0xee
vpclmulqdq xmm2, xmm3, xmm6, 0x11
vpxor xmm3, xmm3, xmm4
vpclmulqdq xmm3, xmm3, xmm0, 0
vpxor xmm4, xmm1, xmm2
vpxor xmm3, xmm4, xmm3
vpshufd xmm4, xmm1, 0xe
vpshufd xmm5, xmm3, 0xee
vpshufd xmm7, xmm2, 0xee
vpsrlq xmm8, xmm1, 1
vpsrlq xmm9, xmm1, 2
vpxor xmm8, xmm8, xmm9
vpsrlq xmm9, xmm1, 7
vpxor xmm8, xmm8, xmm9
vpsllq xmm9, xmm1, 0x3f
vpsllq xmm10, xmm1, 0x3e
vpxor xmm9, xmm10, xmm9
vpsllq xmm10, xmm1, 0x39
vpxor xmm4, xmm10, xmm4
vpxor xmm4, xmm9, xmm4
vpxor xmm3, xmm4, xmm3
vpsrlq xmm4, xmm3, 1
vpsrlq xmm9, xmm3, 2
vpxor xmm7, xmm9, xmm7
vpsrlq xmm9, xmm3, 7
vpxor xmm4, xmm9, xmm4
vpxor xmm4, xmm7, xmm4
vpxor xmm4, xmm4, xmm3
vpsllq xmm7, xmm3, 0x3f
vpor xmm7, xmm8, xmm7
vpsllq xmm8, xmm3, 0x3e
vpsllq xmm3, xmm3, 0x39
vpxor xmm3, xmm8, xmm3
vpxor xmm3, xmm3, xmm7
vpxor xmm1, xmm5, xmm1
vpxor xmm1, xmm1, xmm2
vpxor xmm1, xmm3, xmm1
vpunpcklqdq xmm8, xmm1, xmm4
jmp 0x140005ba4
vpxor xmm0, xmm6, xmm7
lea rax, [r12*8]
bswap rax
vmovq xmm1, rax
vpshufb xmm1, xmm1, xmmword [0x1400306c0]
vpxor xmm1, xmm8, xmm1
vpshufd xmm2, xmm1, 0xee
vpxor xmm2, xmm1, xmm2
vpclmulqdq xmm0, xmm2, xmm0, 0
vpclmulqdq xmm2, xmm1, xmm6, 0
vpclmulqdq xmm1, xmm1, xmm6, 0x11
vpxor xmm3, xmm2, xmm1
vpxor xmm0, xmm3, xmm0
vpshufd xmm3, xmm2, 0xe
vpshufd xmm4, xmm0, 0xee
vpshufd xmm5, xmm1, 0xee
vpsrlq xmm6, xmm2, 1
vpsrlq xmm7, xmm2, 2
vpxor xmm6, xmm6, xmm7
vpsrlq xmm7, xmm2, 7
vpxor xmm6, xmm6, xmm7
vpsllq xmm7, xmm2, 0x3f
vpsllq xmm8, xmm2, 0x3e
vpxor xmm7, xmm8, xmm7
vpsllq xmm8, xmm2, 0x39
vpxor xmm3, xmm8, xmm3
vpxor xmm3, xmm7, xmm3
vpxor xmm0, xmm3, xmm0
vpsrlq xmm3, xmm0, 1
vpsrlq xmm7, xmm0, 2
vpxor xmm5, xmm7, xmm5
vpsrlq xmm7, xmm0, 7
vpxor xmm3, xmm3, xmm7
vpxor xmm3, xmm5, xmm3
vpxor xmm3, xmm3, xmm0
vpsllq xmm5, xmm0, 0x3f
vpor xmm5, xmm5, xmm6
vpsllq xmm6, xmm0, 0x3e
vpsllq xmm0, xmm0, 0x39
vpxor xmm0, xmm6, xmm0
vpxor xmm0, xmm0, xmm5
vpxor xmm2, xmm4, xmm2
vpxor xmm1, xmm2, xmm1
vpxor xmm0, xmm0, xmm1
vpunpcklbw xmm0, xmm3, xmm0
vpshufb xmm0, xmm0, xmmword [0x1400306d0]
vmovdqa xmmword [rbp + 0x4f0], xmm0
mov dword [rbp + 0x468], 0
mov byte [rbp + 0x46c], 0
mov r8d, 0x10
lea rcx, [rbp + 0x440]
mov rdx, r14
call fcn.140002700
test al, al
jne 0x140006041
vmovaps xmm0, xmmword [rbp + 0x4f0]
vmovaps xmmword [rbp + 0x430], xmm0
mov rax, qword [rbp + 0x538]
sub rax, r12
cmp rax, 0xf
ja 0x140005cef
lea rcx, [rbp + 0x530]
mov rdx, r12
call fcn.14002d7f0
mov r15, qword [rbp + 0x530]
mov r12, qword [rbp + 0x540]
vmovdqa xmm0, xmmword [rbp + 0x430]
mov qword [rbp + 0x510], r15
vmovdqu xmmword [r15 + r12], xmm0
mov rax, qword [rbp + 0x538]
mov qword [rbp + 0x4e0], rax
add r12, 0x10
je 0x140005e98
mov rsi, qword [rbp + 0x510]
jmp 0x140005d4b
mov rcx, rdi
call fcn.140001510
test r12, r12
je 0x140005e98
mov rcx, rbx
mov rdx, qword [rbp + 0x558]
mov r8, rsi
mov r9, r12
call fcn.14001a3e0
cmp qword [rbp], 0
je case.default.0x140005d7e
mov rax, qword [rbp + 8]
mov ecx, eax
and ecx, 3
lea rdx, [0x1400365f0]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
cmp byte [rax + 0x10], 0x23
je 0x140005d3a
jmp 0x140005dd9
mov rcx, qword [rbp + 8]
test rcx, rcx
je 0x140005dd2
mov rax, r12
sub rax, rcx
jb 0x140005f73
add rsi, rcx
mov r12, rax
test r12, r12
jne 0x140005d4b
jmp 0x140005e98
lea rax, str.failed_to_write_whole_buffer
mov qword [rbp + 0x4b0], rax
lea rcx, [rbp + 0x4b0]
call fcn.140001510
cmp qword [rbp + 0x4e0], 0
je 0x140005e0c
mov rcx, qword [0x14014d228]
xor edx, edx
mov r8, qword [rbp + 0x510]
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor ecx, ecx
xor edx, edx
mov r8d, 2
mov r9d, 0x1f0003
call qword [sym.imp.KERNEL32.dll_CreateWaitableTimerExW]
test rax, rax
je 0x140005e88
mov rsi, rax
mov qword [rbp], 0xffffffffff676980
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov rcx, rax
mov rdx, rbx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_SetWaitableTimer]
test eax, eax
je 0x140005e7f
mov rcx, rsi
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov r12d, eax
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp r12d, 0xffffffff
jne 0x14000530b
jmp 0x140005e88
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x14000530b
cmp qword [rbp + 0x4e0], 0
je 0x140005eb8
mov rcx, qword [0x14014d228]
xor edx, edx
mov r8, qword [rbp + 0x510]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [rbp + 0x558]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp qword [rbp + 0x4d0], 0
je 0x140005ee5
mov rcx, qword [0x14014d228]
xor edx, edx
mov r8, qword [rbp + 0x4d8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp qword [rbp + 0x4c8], 0
mov rsi, qword [rbp + 0x428]
je 0x140005f0c
mov rcx, qword [0x14014d228]
xor edx, edx
mov r8, qword [rbp + 0x508]
call qword [sym.imp.KERNEL32.dll_HeapFree]
inc qword [rsi]
vmovaps xmm6, xmmword [rbp + 0x570]
vmovaps xmm7, xmmword [rbp + 0x580]
vmovaps xmm8, xmmword [rbp + 0x590]
vmovaps xmm9, xmmword [rbp + 0x5a0]
vmovaps xmm10, xmmword [rbp + 0x5b0]
vmovaps xmm11, xmmword [rbp + 0x5c0]
vmovaps xmm12, xmmword [rbp + 0x5d0]
vmovaps xmm13, xmmword [rbp + 0x5e0]
vmovaps xmm14, xmmword [rbp + 0x5f0]
vmovaps xmm15, xmmword [rbp + 0x600]
add rsp, 0x698
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea r8, [0x140030a38]
mov rdx, r12
call fcn.14002da90
jmp 0x140006132
mov dword [rbp], 4
lea rax, [0x140031180]
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x140030b80]
mov r8, rbp
mov edx, 0x2b
call fcn.14002dee0
ud2
cmp qword [rbp + 0x538], 0
je 0x140005fd3
mov rcx, qword [0x14014d228]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rax, qword [rbp + 0x558]
mov qword [rbp + 0x528], rax
lea rax, [0x140031238]
mov qword [rsp + 0x20], rax
lea rcx, str.encrypt_failure
lea r9, [0x140030b20]
lea r8, [rbp + 0x567]
mov edx, 0xf
call fcn.14002dee0
jmp 0x140006132
lea rax, str.C:UsersEvgen.cargo_registry_srcindex.crates.io_6f17d22bba15001fcipher_0.3.0_src_stream.rs
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x140030b40]
lea r8, [rbp + 0x567]
mov edx, 0x2b
call fcn.14002dee0
jmp 0x140006132
lea rax, str.C:UsersEvgen.cargo_registry_srcindex.crates.io_6f17d22bba15001fcipher_0.3.0_src_stream.rs
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x140030b40]
lea r8, [rbp + 0x567]
mov edx, 0x2b
call fcn.14002dee0
jmp 0x140006132
mov rax, qword [rbp + 0x558]
mov qword [rbp + 0x528], rax
mov ecx, 1
mov rdx, rsi
call fcn.14002d8b0
jmp 0x140006132
mov rax, qword [rbp + 0x558]
mov qword [rbp + 0x528], rax
call fcn.140006cc0
jmp 0x140006132
lea rax, [0x140030a88]
mov qword [rsp + 0x20], rax
lea rcx, str.a_Display_implementation_returned_an_error_unexpectedly
lea r9, [0x140030b20]
lea r8, [rbp + 0x567]
mov edx, 0x37
call fcn.14002dee0
jmp 0x140006132
ud2
mov qword [rbp], rdi
lea rax, [0x140031210]
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, fcn.140001510
mov r8, rbp
mov edx, 0x2b
call fcn.14002dee0
jmp 0x140006132
lea rax, str._rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadlocal.rs
mov qword [rsp + 0x20], rax
lea rcx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destructionlibrary_std_src_threadlocal.rs
lea r9, [0x140032b18]
lea r8, [rbp + 0x567]
mov edx, 0x46
call fcn.14002dee0
ud2