Function at 0x1400091b0
Capabilities:
Access peb ldr_data
Contain obfuscated stackstrings
Encode data using xor
Hash data using fnv
Resolve function by fnv-1a hash
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xd0
mov rax, qword [0x14003c040]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov r10, qword [0x14003c410]
test r10, r10
jne 0x14000933c
mov rax, qword gs:[0x60]
xor r14d, r14d
mov ebx, 0xbdcac9ce
mov rcx, qword [rax + 0x18]
mov r12, qword [rcx + 0x10]
mov rdi, r12
nop
movups xmm0, xmmword [rdi + 0x58]
movd eax, xmm0
sub ax, 8
test r14d, r14d
je 0x14000925d
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x140009254
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x140009240
cmp edx, r14d
jne 0x140009323
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r15, rcx
mov r11d, ecx
shr r15, 0x20
add r11, r9
cmp r11, r9
je 0x140009323
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x140009323
mov esi, dword [r11 + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [r9 + r8*4]
mov ecx, dword [rax + rsi]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x1400092d7
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x1400092c0
cmp edx, ebx
je 0x1400092e2
test r8d, r8d
jne 0x1400092a0
jmp 0x140009323
mov eax, dword [r11 + 0x24]
mov ecx, dword [r11 + 0x1c]
add rax, r9
add rcx, r9
movzx eax, word [rax + r8*2]
mov r10d, dword [rcx + rax*4]
add r10, r9
cmp r10, r11
jbe 0x140009335
lea rax, [r11 + r15]
cmp r10, rax
jae 0x140009335
mov r14d, 0x811c9dc5
mov rdi, r12
mov dword [rbp - 9], r14d
mov dword [rbp - 5], r14d
mov rbx, qword [rbp - 9]
shr rbx, 0x20
mov rax, qword [rdi]
mov rdi, rax
cmp rax, r12
jne 0x140009210
xor r10d, r10d
mov qword [0x14003c410], r10
mov qword [rsp + 0x30], 0
lea rcx, str..VBoxMiniRdrDN
mov dword [rsp + 0x28], 0
xor r9d, r9d
mov edx, 0x80000000
mov dword [rsp + 0x20], 3
mov r8d, 7
call r10
cmp rax, 0xffffffffffffffff
je 0x14000937f
mov qword [0], 1
mov r10, qword [0x14003c408]
test r10, r10
jne 0x1400094dc
mov rax, qword gs:[0x60]
xor r14d, r14d
mov ebx, 0x53b2070f
mov rcx, qword [rax + 0x18]
mov r12, qword [rcx + 0x10]
mov rdi, r12
nop dword [rax + rax]
movups xmm0, xmmword [rdi + 0x58]
movd eax, xmm0
sub ax, 8
test r14d, r14d
je 0x1400093fd
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x1400093f4
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x1400093e0
cmp edx, r14d
jne 0x1400094c3
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r15, rcx
mov r11d, ecx
shr r15, 0x20
add r11, r9
cmp r11, r9
je 0x1400094c3
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x1400094c3
mov esi, dword [r11 + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [r9 + r8*4]
mov ecx, dword [rax + rsi]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140009477
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140009460
cmp edx, ebx
je 0x140009482
test r8d, r8d
jne 0x140009440
jmp 0x1400094c3
mov eax, dword [r11 + 0x24]
mov ecx, dword [r11 + 0x1c]
add rax, r9
add rcx, r9
movzx eax, word [rax + r8*2]
mov r10d, dword [rcx + rax*4]
add r10, r9
cmp r10, r11
jbe 0x1400094d5
lea rax, [r11 + r15]
cmp r10, rax
jae 0x1400094d5
mov r14d, 0x811c9dc5
mov rdi, r12
mov dword [rbp - 9], r14d
mov dword [rbp - 5], r14d
mov rbx, qword [rbp - 9]
shr rbx, 0x20
mov rax, qword [rdi]
mov rdi, rax
cmp rax, r12
jne 0x1400093b0
xor r10d, r10d
mov qword [0x14003c408], r10
mov byte [rbp - 9], 0xe6
movabs rbx, 0x6a0962848eee11b5
mov byte [rbp - 8], 0xff
xor r9d, r9d
mov byte [rbp - 7], 0xd9
mov r11, rbx
mov byte [rbp - 6], 0xc1
mov r12d, 0xf
mov byte [rbp - 5], 0xff
mov byte [rbp - 4], 0xdb
mov byte [rbp - 3], 0xda
mov byte [rbp - 2], 0xdf
mov byte [rbp - 1], 0x97
mov byte [rbp], 0xd2
mov byte [rbp + 1], 0xd1
mov byte [rbp + 2], 0xaa
mov byte [rbp + 3], 0xc8
movzx eax, byte [rbp - 9]
lea rax, [rbp - 9]
sub r11, rax
nop dword [rax]
nop word [rax + rax]
mov rcx, r9
lea r8, [rbp - 9]
add r8, r9
and ecx, r12d
cmp rcx, r12
mov rdx, rbx
cmovae rcx, r12
shl cl, 2
lea eax, [r11 + r8]
shr rdx, cl
and dl, r12b
xor dl, al
movzx eax, byte [r8]
xor dl, al
mov byte [rbp + r9 - 9], dl
inc r9
cmp r9, 0xd
jb 0x140009540
lea rcx, [rbp - 9]
call r10
test rax, rax
je 0x140009592
mov qword [0], 1
mov r10, qword [0x14003c418]
mov r13d, 0xdf6a51c
mov qword [rbp + 0x17], 0
test r10, r10
jne 0x140009702
mov rax, qword gs:[0x60]
xor r15d, r15d
mov ebx, r13d
mov rcx, qword [rax + 0x18]
mov r12, qword [rcx + 0x10]
mov rdi, r12
nop word [rax + rax]
movups xmm0, xmmword [rdi + 0x58]
movd eax, xmm0
sub ax, 8
test r15d, r15d
je 0x14000961d
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x140009614
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x140009600
cmp edx, r15d
jne 0x1400096e3
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r14, rcx
mov r11d, ecx
shr r14, 0x20
add r11, r9
cmp r11, r9
je 0x1400096e3
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x1400096e3
mov esi, dword [r11 + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [r9 + r8*4]
mov ecx, dword [rax + rsi]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140009697
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140009680
cmp edx, ebx
je 0x1400096a2
test r8d, r8d
jne 0x140009660
jmp 0x1400096e3
mov eax, dword [r11 + 0x24]
mov ecx, dword [r11 + 0x1c]
add rax, r9
add rcx, r9
movzx eax, word [rax + r8*2]
mov r10d, dword [rcx + rax*4]
add r10, r9
cmp r10, r11
jbe 0x1400096f5
lea rax, [r11 + r14]
cmp r10, rax
jae 0x1400096f5
mov r15d, 0x811c9dc5
mov rdi, r12
mov dword [rbp - 9], r15d
mov dword [rbp - 5], r15d
mov rbx, qword [rbp - 9]
shr rbx, 0x20
mov rax, qword [rdi]
mov rdi, rax
cmp rax, r12
jne 0x1400095d0
xor r10d, r10d
mov qword [0x14003c418], r10
mov r12d, 0xf
mov byte [rbp - 0x39], 0x23
movabs rbx, 0x3943b60da399d171
mov byte [rbp - 0x38], 0x3a
xor r9d, r9d
mov byte [rbp - 0x37], 0x34
mov r11, rbx
mov byte [rbp - 0x36], 0x2d
mov byte [rbp - 0x35], 0x2b
mov byte [rbp - 0x34], 0x3e
mov byte [rbp - 0x33], 0x26
mov byte [rbp - 0x32], 0x37
mov byte [rbp - 0x31], 0x28
mov byte [rbp - 0x30], 0x35
mov byte [rbp - 0x2f], 0xf
mov byte [rbp - 0x2e], 0x16
mov byte [rbp - 0x2d], 0x1d
mov byte [rbp - 0x2c], 0x16
mov byte [rbp - 0x2b], 0x13
mov byte [rbp - 0x2a], 0xdf
mov byte [rbp - 0x29], 0xd6
mov byte [rbp - 0x28], 0xec
mov byte [rbp - 0x27], 0xf0
mov byte [rbp - 0x26], 0xfd
mov byte [rbp - 0x25], 0xf9
mov byte [rbp - 0x24], 0xee
mov byte [rbp - 0x23], 0xe8
mov byte [rbp - 0x22], 0xc0
mov byte [rbp - 0x21], 0xeb
mov byte [rbp - 0x20], 0xf2
mov byte [rbp - 0x1f], 0xad
mov byte [rbp - 0x1e], 0xc0
mov byte [rbp - 0x1d], 0xfb
mov byte [rbp - 0x1c], 0xef
mov byte [rbp - 0x1b], 0xf5
mov byte [rbp - 0x1a], 0xe7
mov byte [rbp - 0x19], 0xb0
mov byte [rbp - 0x18], 0xd4
mov byte [rbp - 0x17], 0xf6
mov byte [rbp - 0x16], 0xfd
mov byte [rbp - 0x15], 0xf5
mov byte [rbp - 0x14], 0xeb
mov byte [rbp - 0x13], 0xfd
mov byte [rbp - 0x12], 0xfd
mov byte [rbp - 0x11], 0xfa
mov byte [rbp - 0x10], 0xe9
mov byte [rbp - 0xf], 0x9d
movzx eax, byte [rbp - 0x39]
lea rax, [rbp - 0x39]
sub r11, rax
nop dword [rax]
mov rcx, r9
lea r8, [rbp - 0x39]
add r8, r9
and ecx, 0xf
cmp rcx, 0xf
mov rdx, rbx
cmovae rcx, r12
shl cl, 2
lea eax, [r11 + r8]
shr rdx, cl
and dl, 0xf
xor dl, al
movzx eax, byte [r8]
xor dl, al
mov byte [rbp + r9 - 0x39], dl
inc r9
cmp r9, 0x2b
jb 0x1400097d0
lea rax, [rbp + 0x17]
mov r9d, 0x20019
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, [rbp - 0x39]
mov rcx, 0xffffffff80000002
call r10
mov r8d, 0x1242154a
mov qword [rbp - 9], r8
test eax, eax
jne 0x1400099c2
mov rcx, qword [rbp + 0x17]
test rcx, rcx
je 0x1400099c2
mov rdx, qword [0x14003c400]
test rdx, rdx
jne 0x1400099b4
mov rax, qword gs:[0x60]
xor r15d, r15d
mov ebx, r8d
mov rcx, qword [rax + 0x18]
mov r12, qword [rcx + 0x10]
mov rsi, r12
nop dword [rax]
nop dword [rax + rax]
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test r15d, r15d
je 0x1400098cd
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x1400098c4
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x1400098b0
cmp edx, r15d
jne 0x140009992
mov r9, qword [rsi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r14, rcx
mov r10d, ecx
shr r14, 0x20
add r10, r9
cmp r10, r9
je 0x140009992
mov r8d, dword [r10 + 0x18]
test r8d, r8d
je 0x140009992
mov edi, dword [r10 + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [r9 + r8*4]
mov ecx, dword [rax + rdi]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140009947
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140009930
cmp edx, ebx
je 0x140009952
test r8d, r8d
jne 0x140009910
jmp 0x140009992
mov eax, dword [r10 + 0x24]
mov ecx, dword [r10 + 0x1c]
add rax, r9
add rcx, r9
movzx eax, word [rax + r8*2]
mov edx, dword [rcx + rax*4]
add rdx, r9
cmp rdx, r10
jbe 0x1400099a3
lea rax, [r14 + r10]
cmp rdx, rax
jae 0x1400099a3
mov r15d, 0x811c9dc5
mov rsi, r12
mov dword [rbp + 7], r15d
mov dword [rbp + 0xb], r15d
mov rbx, qword [rbp + 7]
shr rbx, 0x20
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
jne 0x140009880
xor edx, edx
mov rcx, qword [rbp + 0x17]
mov r12d, 0xf
mov qword [0x14003c400], rdx
call rdx
mov qword [0], 1
mov r10, qword [0x14003c418]
mov qword [rbp + 0x17], 0
test r10, r10
jne 0x140009b1d
mov rax, qword gs:[0x60]
xor r14d, r14d
mov rcx, qword [rax + 0x18]
mov r15, qword [rcx + 0x10]
mov rdi, r15
movups xmm0, xmmword [rdi + 0x58]
movd eax, xmm0
sub ax, 8
test r14d, r14d
je 0x140009a3d
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x140009a34
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x140009a20
cmp edx, r14d
jne 0x140009b04
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov rsi, rcx
mov r11d, ecx
shr rsi, 0x20
add r11, r9
cmp r11, r9
je 0x140009b04
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x140009b04
mov ebx, dword [r11 + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rbx + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140009ab7
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140009aa0
cmp edx, r13d
je 0x140009ac3
test r8d, r8d
jne 0x140009a80
jmp 0x140009b04
mov eax, dword [r11 + 0x24]
mov ecx, dword [r11 + 0x1c]
add rax, r9
add rcx, r9
movzx eax, word [rax + r8*2]
mov r10d, dword [rcx + rax*4]
add r10, r9
cmp r10, r11
jbe 0x140009b16
lea rax, [rsi + r11]
cmp r10, rax
jae 0x140009b16
mov r14d, 0x811c9dc5
mov rdi, r15
mov dword [rbp + 7], r14d
mov dword [rbp + 0xb], r14d
mov r13, qword [rbp + 7]
shr r13, 0x20
mov rax, qword [rdi]
mov rdi, rax
cmp rax, r15
jne 0x1400099f1
xor r10d, r10d
mov qword [0x14003c418], r10
mov byte [rbp - 0x39], 0x68
movabs rdi, 0xb39ab55fbeacfc29
mov byte [rbp - 0x38], 0x69
xor r11d, r11d
mov byte [rbp - 0x37], 0x75
mov rbx, rdi
mov byte [rbp - 0x36], 0x67
mov byte [rbp - 0x35], 0x76
mov byte [rbp - 0x34], 0x65
mov byte [rbp - 0x33], 0x73
mov byte [rbp - 0x32], 0x7e
mov byte [rbp - 0x31], 0x62
mov byte [rbp - 0x30], 0x73
mov byte [rbp - 0x2f], 0x73
mov byte [rbp - 0x2e], 0x6c
mov byte [rbp - 0x2d], 0x7c
mov byte [rbp - 0x2c], 0x6d
mov byte [rbp - 0x2b], 0x7d
mov byte [rbp - 0x2a], 0x63
mov byte [rbp - 0x29], 0x64
mov byte [rbp - 0x28], 0x71
mov byte [rbp - 0x27], 0x78
mov byte [rbp - 0x26], 0x7d
mov byte [rbp - 0x25], 0x6d
mov byte [rbp - 0x24], 0x67
mov byte [rbp - 0x23], 0x48
mov byte [rbp - 0x22], 0x38
mov byte [rbp - 0x21], 0x3a
mov byte [rbp - 0x20], 0x22
mov byte [rbp - 0x1f], 0x2b
mov byte [rbp - 0x1e], 0x4f
movzx eax, byte [rbp - 0x39]
lea rax, [rbp - 0x39]
sub rbx, rax
nop dword [rax + rax]
mov rcx, r11
lea r8, [rbp - 0x39]
add r8, r11
and ecx, 0xf
cmp rcx, 0xf
mov rdx, rdi
cmovae rcx, r12
shl cl, 2
lea eax, [rbx + r8]
shr rdx, cl
and dl, 0xf
xor dl, al
movzx eax, byte [r8]
xor dl, al
mov byte [rbp + r11 - 0x39], dl
inc r11
cmp r11, 0x1c
jb 0x140009bb0
lea rax, [rbp + 0x17]
mov r9d, 0x20019
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, [rbp - 0x39]
mov rcx, 0xffffffff80000002
call r10
test eax, eax
jne 0x14000a9e7
mov r8, qword [0x14003c3f8]
mov dword [rbp + 0x1f], eax
mov eax, 0xc2c33c3d
mov qword [rbp + 0xf], rax
mov dword [rbp + 0x23], pe_nt_image_headers64
test r8, r8
jne 0x140009d7c
mov ebx, eax
xor r15d, r15d
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov r12, qword [rcx + 0x10]
mov rdi, r12
nop
movups xmm0, xmmword [rdi + 0x58]
movd eax, xmm0
sub ax, 8
test r15d, r15d
je 0x140009c9d
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x140009c94
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x140009c80
cmp edx, r15d
jne 0x140009d63
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r14, rcx
mov r10d, ecx
shr r14, 0x20
add r10, r9
cmp r10, r9
je 0x140009d63
mov r8d, dword [r10 + 0x18]
test r8d, r8d
je 0x140009d63
mov esi, dword [r10 + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rsi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140009d17
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140009d00
cmp edx, ebx
je 0x140009d22
test r8d, r8d
jne 0x140009ce0
jmp 0x140009d63
mov eax, dword [r10 + 0x24]
mov ecx, dword [r10 + 0x1c]
add rax, r9
add rcx, r9
movzx eax, word [rax + r8*2]
mov r8d, dword [rcx + rax*4]
add r8, r9
cmp r8, r10
jbe 0x140009d75
lea rax, [r14 + r10]
cmp r8, rax
jae 0x140009d75
mov r15d, 0x811c9dc5
mov rdi, r12
mov dword [rbp + 7], r15d
mov dword [rbp + 0xb], r15d
mov rbx, qword [rbp + 7]
shr rbx, 0x20
mov rax, qword [rdi]
mov rdi, rax
cmp rax, r12
jne 0x140009c50
xor r8d, r8d
mov qword [0x14003c3f8], r8
mov edx, 0x10a
mov ecx, 0x40
call r8
mov r10, qword [0x14003c3f0]
mov r13, rax
mov eax, 0x9027eb7c
mov qword [rbp - 0x51], rax
test r10, r10
jne 0x140009eec
mov rcx, qword gs:[0x60]
xor r15d, r15d
mov ebx, eax
mov rdx, qword [rcx + 0x18]
mov r12, qword [rdx + 0x10]
mov rsi, r12
nop
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test r15d, r15d
je 0x140009e0d
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x140009e04
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x140009df0
cmp edx, r15d
jne 0x140009ed3
mov r9, qword [rsi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r14, rcx
mov r11d, ecx
shr r14, 0x20
add r11, r9
cmp r11, r9
je 0x140009ed3
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x140009ed3
mov edi, dword [r11 + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rdi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140009e87
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140009e70
cmp edx, ebx
je 0x140009e92
test r8d, r8d
jne 0x140009e50
jmp 0x140009ed3
mov eax, dword [r11 + 0x24]
mov ecx, dword [r11 + 0x1c]
add rax, r9
add rcx, r9
movzx eax, word [rax + r8*2]
mov r10d, dword [rcx + rax*4]
add r10, r9
cmp r10, r11
jbe 0x140009ee5
lea rax, [r14 + r11]
cmp r10, rax
jae 0x140009ee5
mov r15d, 0x811c9dc5
mov rsi, r12
mov dword [rbp + 7], r15d
mov dword [rbp + 0xb], r15d
mov rbx, qword [rbp + 7]
shr rbx, 0x20
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
jne 0x140009dc0
xor r10d, r10d
mov qword [0x14003c3f0], r10
mov byte [rbp - 0x39], 0x43
movabs rbx, 0xf9af65d1178fbb15
mov byte [rbp - 0x38], 0x6e
xor r9d, r9d
mov byte [rbp - 0x37], 0x6f
mov r11, rbx
mov byte [rbp - 0x36], 0x67
mov edi, 0xf
mov byte [rbp - 0x35], 0x73
mov byte [rbp - 0x34], 0x7f
mov byte [rbp - 0x33], 0x5e
mov byte [rbp - 0x32], 0x74
mov byte [rbp - 0x31], 0x73
mov byte [rbp - 0x30], 0x60
mov byte [rbp - 0x2f], 0x4c
mov byte [rbp - 0x2e], 0x43
mov byte [rbp - 0x2d], 0x5c
mov byte [rbp - 0x2c], 0x5b
mov byte [rbp - 0x2b], 0x43
mov byte [rbp - 0x2a], 0x44
mov byte [rbp - 0x29], 0x4e
mov byte [rbp - 0x28], 0x27
movzx eax, byte [rbp - 0x39]
lea rax, [rbp - 0x39]
sub r11, rax
nop dword [rax]
nop dword [rax + rax]
mov rcx, r9
lea r8, [rbp - 0x39]
add r8, r9
and ecx, edi
cmp rcx, rdi
mov rdx, rbx
cmovae rcx, rdi
shl cl, 2
lea eax, [r8 + r11]
shr rdx, cl
and dl, dil
xor dl, al
movzx eax, byte [r8]
xor dl, al
mov byte [rbp + r9 - 0x39], dl
inc r9
cmp r9, 0x12
jb 0x140009f60
mov rcx, qword [rbp + 0x17]
lea rax, [rbp + 0x23]
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x1f]
xor r8d, r8d
mov qword [rsp + 0x20], r13
lea rdx, [rbp - 0x39]
call r10
test eax, eax
jne 0x14000a066
mov rcx, r13
call fcn.140008df0
mov eax, dword [rbp + 0x1f]
cmp eax, 1
je 0x140009fda
cmp eax, 7
jne 0x14000a066
mov byte [rbp - 0x59], 0x86
movabs r11, 0x2f2fa6ccb9424bf5
mov byte [rbp - 0x58], 0x9b
xor r9d, r9d
mov byte [rbp - 0x57], 0x93
mov r10, r11
mov byte [rbp - 0x56], 0x84
mov byte [rbp - 0x55], 0xfb
movzx eax, byte [rbp - 0x59]
lea rax, [rbp - 0x59]
sub r10, rax
nop dword [rax]
mov rcx, r9
lea r8, [rbp - 0x59]
add r8, r9
and ecx, edi
cmp rcx, rdi
mov rdx, r11
cmovae rcx, rdi
shl cl, 2
lea eax, [r10 + r8]
shr rdx, cl
and dl, dil
xor dl, al
movzx eax, byte [r8]
xor dl, al
mov byte [rbp + r9 - 0x59], dl
inc r9
cmp r9, 5
jb 0x14000a010
lea rdx, [rbp - 0x59]
mov rcx, r13
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x14000a066
mov qword [0], 1
mov rdx, qword [0x14003c3e8]
mov eax, 0xbf0306f6
mov qword [rbp + 7], rax
test rdx, rdx
jne 0x14000a1ca
mov ebx, eax
xor r15d, r15d
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov r12, qword [rcx + 0x10]
mov rsi, r12
nop dword [rax + rax]
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test r15d, r15d
je 0x14000a0ed
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x14000a0e4
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x14000a0d0
cmp edx, r15d
jne 0x14000a1b2
mov r9, qword [rsi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r14, rcx
mov r10d, ecx
shr r14, 0x20
add r10, r9
cmp r10, r9
je 0x14000a1b2
mov r8d, dword [r10 + 0x18]
test r8d, r8d
je 0x14000a1b2
mov edi, dword [r10 + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [r9 + r8*4]
mov ecx, dword [rax + rdi]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14000a167
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x14000a150
cmp edx, ebx
je 0x14000a172
test r8d, r8d
jne 0x14000a130
jmp 0x14000a1b2
mov eax, dword [r10 + 0x24]
mov ecx, dword [r10 + 0x1c]
add rax, r9
add rcx, r9
movzx eax, word [rax + r8*2]
mov edx, dword [rcx + rax*4]
add rdx, r9
cmp rdx, r10
jbe 0x14000a1c3
lea rax, [r10 + r14]
cmp rdx, rax
jae 0x14000a1c3
mov r15d, 0x811c9dc5
mov rsi, r12
mov dword [rbp - 0x59], r15d
mov dword [rbp - 0x55], r15d
mov rbx, qword [rbp - 0x59]
shr rbx, 0x20
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
jne 0x14000a0a0
xor edx, edx
mov qword [0x14003c3e8], rdx
mov rcx, r13
call rdx
mov r8, qword [0x14003c3f8]
mov dword [rbp + 0x1f], 0
mov dword [rbp + 0x23], 0x200
test r8, r8
jne 0x14000a344
mov rax, qword gs:[0x60]
xor r14d, r14d
mov r12, qword [rbp + 0xf]
mov rcx, qword [rax + 0x18]
mov r15, qword [rcx + 0x10]
mov rdi, r15
nop dword [rax + rax]
movups xmm0, xmmword [rdi + 0x58]
movd eax, xmm0
sub ax, 8
test r14d, r14d
je 0x14000a25d
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x14000a254
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x14000a240
cmp edx, r14d
jne 0x14000a32b
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov rsi, rcx
mov r10d, ecx
shr rsi, 0x20
add r10, r9
cmp r10, r9
je 0x14000a32b
mov r8d, dword [r10 + 0x18]
test r8d, r8d
je 0x14000a32b
mov ebx, dword [r10 + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [r9 + r8*4]
mov ecx, dword [rax + rbx]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14000a2d7
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x14000a2c0
cmp edx, r12d
je 0x14000a2e3
test r8d, r8d
jne 0x14000a2a0
jmp 0x14000a32b
mov eax, dword [r10 + 0x24]
mov ecx, dword [r10 + 0x1c]
add rax, r9
add rcx, r9
movzx eax, word [rax + r8*2]
mov r8d, dword [rcx + rax*4]
add r8, r9
cmp r8, r10
jbe 0x14000a33d
lea rax, [rsi + r10]
cmp r8, rax
jae 0x14000a33d
mov r14d, 0x811c9dc5
mov rdi, r15
mov dword [rbp - 0x59], r14d
mov dword [rbp - 0x55], r14d
mov rax, qword [rbp - 0x59]
shr rax, 0x20
mov qword [rbp + 0xf], rax
mov r12, rax
mov rax, qword [rdi]
mov rdi, rax
cmp rax, r15
jne 0x14000a210
xor r8d, r8d
mov qword [0x14003c3f8], r8
mov edx, 0x20a
mov ecx, 0x40
call r8
mov r10, qword [0x14003c3f0]
mov r12, rax
test r10, r10
jne 0x14000a4b4
mov rcx, qword gs:[0x60]
xor r14d, r14d
mov r13, qword [rbp - 0x51]
mov rdx, qword [rcx + 0x18]
mov r15, qword [rdx + 0x10]
mov rdi, r15
nop
movups xmm0, xmmword [rdi + 0x58]
movd eax, xmm0
sub ax, 8
test r14d, r14d
je 0x14000a3cd
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x14000a3c4
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x14000a3b0
cmp edx, r14d
jne 0x14000a49b
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov rsi, rcx
mov r11d, ecx
shr rsi, 0x20
add r11, r9
cmp r11, r9
je 0x14000a49b
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x14000a49b
mov ebx, dword [r11 + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [r9 + r8*4]
mov ecx, dword [rax + rbx]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14000a447
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x14000a430
cmp edx, r13d
je 0x14000a453
test r8d, r8d
jne 0x14000a410
jmp 0x14000a49b
mov eax, dword [r11 + 0x24]
mov ecx, dword [r11 + 0x1c]
add rax, r9
add rcx, r9
movzx eax, word [rax + r8*2]
mov r10d, dword [rcx + rax*4]
add r10, r9
cmp r10, r11
jbe 0x14000a4ad
lea rax, [rsi + r11]
cmp r10, rax
jae 0x14000a4ad
mov r14d, 0x811c9dc5
mov rdi, r15
mov dword [rbp + 0xf], r14d
mov dword [rbp + 0x13], r14d
mov rax, qword [rbp + 0xf]
shr rax, 0x20
mov qword [rbp - 0x51], rax
mov r13, rax
mov rax, qword [rdi]
mov rdi, rax
cmp rax, r15
jne 0x14000a380
xor r10d, r10d
mov qword [0x14003c3f0], r10
mov byte [rbp - 0x51], 0x26
movabs rbx, 0x8496ac313f894f7d
mov byte [rbp - 0x50], 0x10
xor r9d, r9d
mov byte [rbp - 0x4f], 0x14
mov r11, rbx
mov byte [rbp - 0x4e], 0xe1
mov esi, 0xf
mov byte [rbp - 0x4d], 0xe7
mov byte [rbp - 0x4c], 0xc8
mov byte [rbp - 0x4b], 0xe5
mov byte [rbp - 0x4a], 0xe8
mov byte [rbp - 0x49], 0xf7
mov byte [rbp - 0x48], 0xd3
mov byte [rbp - 0x47], 0xee
mov byte [rbp - 0x46], 0xf0
mov byte [rbp - 0x45], 0xfc
mov byte [rbp - 0x44], 0xea
mov byte [rbp - 0x43], 0xe0
mov byte [rbp - 0x42], 0xea
mov byte [rbp - 0x41], 0x80
movzx eax, byte [rbp - 0x51]
lea rax, [rbp - 0x51]
sub r11, rax
nop dword [rax + rax]
mov rcx, r9
lea r8, [rbp - 0x51]
add r8, r9
and ecx, esi
cmp rcx, rsi
mov rdx, rbx
cmovae rcx, rsi
shl cl, 2
lea eax, [r8 + r11]
shr rdx, cl
and dl, sil
xor dl, al
movzx eax, byte [r8]
xor dl, al
mov byte [rbp + r9 - 0x51], dl
inc r9
cmp r9, 0x11
jb 0x14000a520
mov rcx, qword [rbp + 0x17]
lea rax, [rbp + 0x23]
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x1f]
xor r8d, r8d
mov qword [rsp + 0x20], r12
lea rdx, [rbp - 0x51]
call r10
test eax, eax
jne 0x14000a718
cmp dword [rbp + 0x1f], 7
jne 0x14000a718
mov rdi, r12
cmp byte [r12], al
je 0x14000a718
movabs r15, 0x715c1a42f6c39c61
lea rax, [rbp - 0x59]
mov r14, r15
movabs r13, 0xca80834d8582cd31
sub r14, rax
nop word [rax + rax]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], 0
jne 0x14000a5c7
test eax, eax
je 0x14000a5fa
mov rbx, rdi
mov esi, eax
nop dword [rax]
movsx ecx, byte [rbx]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
mov byte [rbx], al
lea rbx, [rbx + 1]
sub rsi, 1
jne 0x14000a5e0
mov esi, 0xf
mov byte [rbp - 0x59], 0xf
xor r9d, r9d
mov byte [rbp - 0x58], 0x16
mov byte [rbp - 0x57], 0xe
mov byte [rbp - 0x56], 0xe
mov byte [rbp - 0x55], 0xa
mov byte [rbp - 0x54], 0xf
mov byte [rbp - 0x53], 0x61
movzx eax, byte [rbp - 0x59]
nop dword [rax]
mov rcx, r9
lea r8, [rbp - 0x59]
add r8, r9
and ecx, 0xf
cmp rcx, 0xf
mov rdx, r15
cmovae rcx, rsi
shl cl, 2
lea eax, [r14 + r8]
shr rdx, cl
and dl, 0xf
xor dl, al
movzx eax, byte [r8]
xor dl, al
mov byte [rbp + r9 - 0x59], dl
inc r9
cmp r9, 7
jb 0x14000a620
lea rdx, [rbp - 0x59]
mov rcx, rdi
call sub.VCRUNTIME140.dll_strstr
test rax, rax
jne 0x14000a6e7
mov byte [rbp - 0x51], 0x46
xor r8d, r8d
mov byte [rbp - 0x50], 0x58
mov byte [rbp - 0x4f], 0x4c
mov byte [rbp - 0x4e], 0x4c
mov byte [rbp - 0x4d], 0x42
mov byte [rbp - 0x4c], 0x5f
mov byte [rbp - 0x4b], 0x5e
mov byte [rbp - 0x4a], 0x52
mov byte [rbp - 0x49], 0x5b
mov byte [rbp - 0x48], 0x46
mov byte [rbp - 0x47], 0x38
movzx eax, byte [rbp - 0x51]
nop
movzx eax, byte [rbp + r8 - 0x51]
mov rcx, r8
and ecx, 0xf
mov rdx, r13
cmp rcx, 0xf
cmovae rcx, rsi
shl cl, 2
shr rdx, cl
and dl, 0xf
xor dl, al
lea eax, [r8 + 0x31]
xor dl, al
mov byte [rbp + r8 - 0x51], dl
inc r8
cmp r8, 0xb
jb 0x14000a6a0
lea rdx, [rbp - 0x51]
mov rcx, rdi
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x14000a6f3
mov qword [0], 1
mov rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp byte [rdi + rax], 0
jne 0x14000a700
inc rdi
add rdi, rax
cmp byte [rdi], 0
jne 0x14000a5c0
mov rdx, qword [0x14003c3e8]
test rdx, rdx
jne 0x14000a87f
mov rax, qword gs:[0x60]
xor esi, esi
mov r13, qword [rbp + 7]
mov rcx, qword [rax + 0x18]
mov r15, qword [rcx + 0x10]
mov rbx, r15
nop dword [rax]
nop word [rax + rax]
movups xmm0, xmmword [rbx + 0x58]
movd eax, xmm0
sub ax, 8
test esi, esi
je 0x14000a79c
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x14000a794
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x14000a780
cmp edx, esi
jne 0x14000a867
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r14, rcx
mov r10d, ecx
shr r14, 0x20
add r10, r9
cmp r10, r9
je 0x14000a867
mov r8d, dword [r10 + 0x18]
test r8d, r8d
je 0x14000a867
mov edi, dword [r10 + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [r9 + r8*4]
mov ecx, dword [rax + rdi]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14000a817
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x14000a800
cmp edx, r13d
je 0x14000a823
test r8d, r8d
jne 0x14000a7e0
jmp 0x14000a867
mov ecx, dword [r10 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r10 + 0x1c]
add rcx, r9
mov edx, dword [rcx + rdx*4]
add rdx, r9
cmp rdx, r10
jbe 0x14000a878
lea rax, [r14 + r10]
cmp rdx, rax
jae 0x14000a878
mov esi, 0x811c9dc5
mov rbx, r15
mov dword [rbp - 0x51], esi
mov dword [rbp - 0x4d], esi
mov rax, qword [rbp - 0x51]
shr rax, 0x20
mov qword [rbp + 7], rax
mov r13, rax
mov rax, qword [rbx]
mov rbx, rax
cmp rax, r15
jne 0x14000a750
xor edx, edx
mov qword [0x14003c3e8], rdx
mov rcx, r12
call rdx
mov rdx, qword [0x14003c400]
test rdx, rdx
jne 0x14000a9df
mov rax, qword gs:[0x60]
xor esi, esi
mov r12, qword [rbp - 9]
mov rcx, qword [rax + 0x18]
mov r15, qword [rcx + 0x10]
mov rbx, r15
nop
movups xmm0, xmmword [rbx + 0x58]
movd eax, xmm0
sub ax, 8
test esi, esi
je 0x14000a8fc
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x14000a8f4
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x14000a8e0
cmp edx, esi
jne 0x14000a9c7
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r14, rcx
mov r10d, ecx
shr r14, 0x20
add r10, r9
cmp r10, r9
je 0x14000a9c7
mov r8d, dword [r10 + 0x18]
test r8d, r8d
je 0x14000a9c7
mov edi, dword [r10 + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [r9 + r8*4]
mov ecx, dword [rax + rdi]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14000a977
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x14000a960
cmp edx, r12d
je 0x14000a983
test r8d, r8d
jne 0x14000a940
jmp 0x14000a9c7
mov ecx, dword [r10 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r10 + 0x1c]
add rcx, r9
mov edx, dword [rcx + rdx*4]
add rdx, r9
cmp rdx, r10
jbe 0x14000a9d8
lea rax, [r14 + r10]
cmp rdx, rax
jae 0x14000a9d8
mov esi, 0x811c9dc5
mov rbx, r15
mov dword [rbp + 7], esi
mov dword [rbp + 0xb], esi
mov rax, qword [rbp + 7]
shr rax, 0x20
mov qword [rbp - 9], rax
mov r12, rax
mov rax, qword [rbx]
mov rbx, rax
cmp rax, r15
jne 0x14000a8b0
xor edx, edx
mov qword [0x14003c400], rdx
mov rcx, qword [rbp + 0x17]
call rdx
xor eax, eax
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.140034fb0
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret