Function at 0x140015180
Capabilities:
Encode data using xor

Disassembly:
mov dword [rsp + 0x10], edx
mov byte [rsp + 8], cl
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x68
mov r10d, dword [0x140042a8c]
mov eax, 0xb4
movzx r14d, byte [0x140042b57]
mov r15d, 0x70
movzx ecx, byte [0x140042a86]
mov sil, 0xc4
movzx r9d, byte [0x140042a62]
add ecx, 0x1b
movzx r12d, byte [0x140042a63]
mov dword [rsp + 0x44], eax
movzx eax, r10b
and al, 0xd8
mov dword [rsp + 0x20], 0xa5
xor r14b, al
mov byte [rsp + 0x28], 0x3f
mov eax, 0xcccccccd
mov dword [rsp + 0x34], r15d
mul ecx
and r10d, 0x1e
shr edx, 2
lea eax, [rdx + rdx*4]
sub ecx, eax
je 0x14001527b
mov r11d, dword [0x140042b38]
sub ecx, 1
je 0x140015257
mov dword [rsp + 0x38], r11d
sub ecx, 1
je 0x140015229
movzx eax, byte [0x140042b81]
mov byte [rsp + 0xb0], al
jmp 0x140015292
movsx eax, r12b
lea esi, [r14 - 0x14]
imul ecx, eax, 0xb4
mov eax, 0xcccccccd
mul ecx
movzx eax, byte [0x140042b81]
mov edi, edx
mov byte [rsp + 0xb0], al
shr edi, 2
mov dword [rsp + 0x20], edi
jmp 0x140015292
movzx eax, byte [0x140042b65]
and eax, 0x9d
and r11d, eax
movzx eax, byte [0x140042b81]
mov byte [rsp + 0xb0], al
mov dword [rsp + 0x38], r11d
jmp 0x140015292
test r9b, r9b
sete al
mov byte [rsp + 0xb0], al
mov eax, dword [0x140042b38]
mov dword [rsp + 0x38], eax
movzx ecx, byte [0x140042b83]
mov eax, r10d
or eax, 1
movsx r8d, sil
xor dword [0x140042b6c], eax
mov eax, 0x55555556
imul r8d
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov edx, dword [0x140042b28]
add bl, r14b
mov dword [rsp + 0x40], edx
movzx eax, dl
mov dword [rsp + 0x34], ebx
xor al, 0xdc
mov byte [rsp + 0x30], al
mov byte [0x140042b88], al
movsx eax, byte [0x140042b66]
cmp eax, 0x114
sete al
and cl, al
mov byte [rsp + 0xc8], cl
xor ecx, ecx
cmp dword [0x140042b34], 0xdc
sete cl
xor eax, eax
cmp dword [0x140042b34], 0x3f
setb al
cmp eax, ecx
jae 0x14001531c
xor edx, 1
mov dword [rsp + 0x40], edx
mov dword [0x140042b28], edx
movsx r13d, byte [0x140042b55]
mov edi, dword [0x140042b78]
test r13d, r13d
sete al
test r15b, al
jne 0x14001533d
test edi, edi
jne 0x14001533d
xor al, al
jmp 0x14001533f
mov al, 1
mov r11d, dword [0x140042b4c]
mov ecx, r8d
mov r8d, dword [0x140042b30]
mov edx, 0xffffffc8
mov r15d, dword [0x140042b44]
shl edx, cl
xor ecx, ecx
mov byte [0x140042b67], al
mov byte [rsp + 0xb8], al
movsx eax, r9b
cmp eax, edx
movsx ebp, bl
mov ebx, 0x11a
sete cl
or dword [0x140042b48], ecx
add r11d, 0xffffffe1
nop dword [rax + rax]
movsx edx, sil
mov eax, 0x114
mov ecx, edx
shl eax, cl
xor ecx, ecx
test eax, eax
mov eax, edi
setne cl
xor r9b, r12b
sub eax, ecx
and r11d, eax
mov eax, ebp
xor eax, edx
xor eax, r15d
and r8d, eax
mov eax, 0xaaaaaaab
imul esi, r8d, 0x1f
mul esi
shr edx, 1
lea eax, [rdx + rdx*2]
sub esi, eax
sub rbx, 1
jne 0x140015390
lea ecx, [r13*2 + 0x70]
mov byte [0x140042a62], r9b
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
je 0x1400154af
sub ecx, 1
je 0x140015470
sub ecx, 1
je 0x14001545e
cmp ecx, 1
jne 0x1400154c9
cmp dword [0x140042b3c], ebx
jne 0x14001542e
mov ecx, dword [0x140042b5c]
mov eax, 0x1f
shl eax, cl
test eax, eax
je 0x14001542e
lea eax, [rbx + 1]
jmp 0x140015430
xor eax, eax
xor byte [0x140042b55], al
cmp dword [0x140042b2c], 0
jne 0x140015451
cmp ebp, 0x114
je 0x140015451
xor eax, eax
xor dword [0x140042b2c], eax
jmp 0x1400154c9
mov eax, 1
xor dword [0x140042b2c], eax
jmp 0x1400154c9
movzx r11d, byte [0x140042b82]
mov r8d, r11d
mov dword [rsp + 0x20], r11d
jmp 0x1400154d6
mov r8d, dword [rsp + 0x20]
mov eax, 0x55555556
movzx r11d, byte [0x140042b82]
imul ecx, r10d, 0x9d
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
sub ecx, eax
movzx eax, byte [0x140042b5c]
add al, 0x1f
movzx edi, cl
or byte [0x140042b66], al
mov dword [rsp + 0x34], edi
jmp 0x1400154da
xor al, al
xor edx, edx
movzx ecx, al
add ecx, ebp
movsx eax, sil
cmp eax, ecx
sete dl
add edx, edi
mov dword [0x140042b7c], edx
mov r8d, dword [rsp + 0x20]
movzx r11d, byte [0x140042b82]
mov edi, dword [rsp + 0x34]
mov ebp, dword [0x140042b48]
mov r13d, 0xb4
movsx eax, sil
mov dword [rsp + 0x3c], eax
xor eax, 0x40
or eax, ebp
or eax, r13d
lea r15d, [r13 - 0x44]
xor dword [0x140042b34], eax
cmp dword [0x140042b58], 0
jne 0x14001551a
movsx ecx, dil
mov eax, 0x3f
cmp eax, ecx
jne 0x14001551a
xor ebx, ebx
jmp 0x14001551f
mov ebx, 1
mov ecx, dword [0x140042b2c]
mov eax, 0x38e38e39
add ecx, 0x1b
mov dword [0x140042a64], ebx
mul ecx
shr edx, 1
lea eax, [rdx + rdx*8]
sub ecx, eax
je 0x140015615
sub ecx, 1
je 0x1400155de
sub ecx, 1
je 0x1400155a8
cmp ecx, 1
je 0x14001558a
cmp dword [0x140042b84], 0
jne 0x14001557b
movzx ecx, dil
mov eax, r13d
shl eax, cl
cmp eax, r15d
je 0x14001557b
mov dword [0x140042b6c], 0
jmp 0x140015649
mov dword [0x140042b6c], 1
jmp 0x140015649
movzx eax, r14b
imul ecx, eax, 0x3f
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea eax, [rdx + rdx*2]
sub ecx, eax
mov dword [rsp + 0x28], ecx
jmp 0x140015649
movsx eax, byte [0x140042b66]
mov ecx, r8d
shl eax, cl
cmp eax, 0x1f
je 0x1400155d0
cmp r11b, 0x3f
jne 0x1400155d0
mov eax, 1
add r11b, al
mov byte [0x140042b82], r11b
jmp 0x140015649
xor eax, eax
add r11b, al
mov byte [0x140042b82], r11b
jmp 0x140015649
cmp byte [0x140042b64], 0x1f
movzx ecx, byte [rsp + 0xb8]
sete al
sub cl, al
movzx eax, byte [0x140042b66]
sub al, r8b
mov byte [rsp + 0xb8], cl
xor r9b, al
mov byte [0x140042b67], cl
mov byte [0x140042a62], r9b
jmp 0x140015649
cmp dword [0x140042b68], 0
jne 0x140015627
test dil, dil
jne 0x140015627
xor eax, eax
jmp 0x14001562c
mov eax, 1
sub dword [0x140042b84], eax
test sil, sil
jne 0x140015643
test r9b, r9b
je 0x140015643
mov eax, 1
jmp 0x140015645
xor eax, eax
and dword [rsp + 0x38], eax
movsx r8d, byte [0x140042b66]
xor al, al
movzx edx, al
xor r11d, r11d
movzx eax, byte [0x140042b54]
cmp r8d, edx
mov ecx, eax
mov byte [rsp + 0xc0], al
mov dword [rsp + 0x50], eax
sete r11b
mov eax, r13d
sub eax, dword [rsp + 0x3c]
xor r11d, eax
movzx eax, sil
sub al, byte [0x140042b68]
xor r11d, ecx
mov ecx, edx
movzx edx, byte [rsp + 0x28]
shl dl, cl
and dl, byte [rsp + 0x40]
mov ecx, dword [rsp + 0x3c]
xor dl, al
movzx eax, byte [rsp + 0xc8]
add al, dl
mov byte [0x140042b83], al
mov eax, ecx
cdq
and edx, 3
add eax, edx
sar eax, 2
add al, bl
movzx ebx, byte [0x140042b80]
mov dword [rsp + 0x2c], eax
mov eax, dword [0x140042b40]
mov byte [rsp + 0xc8], bl
lea ecx, [rcx + rax*2]
mov eax, 0xcccccccd
mul ecx
shr edx, 3
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
movzx eax, byte [0x140042b56]
mov byte [rsp + 0x24], al
je 0x140015778
sub ecx, 1
je 0x140015759
sub ecx, 1
je 0x140015717
cmp ecx, 1
jne 0x1400157a1
movzx r12d, al
xor r12b, r15b
jmp 0x1400157a1
cmp byte [0x140042a87], 0
je 0x14001574d
cmp byte [rsp + 0x28], 0
je 0x14001574d
mov ecx, dword [rsp + 0x3c]
xor dl, dl
movzx eax, dl
add ecx, eax
movsx eax, byte [rsp + 0xb8]
or ecx, eax
je 0x14001574d
mov eax, 1
or ebp, eax
mov dword [0x140042b48], ebp
jmp 0x1400157a1
xor eax, eax
or ebp, eax
mov dword [0x140042b48], ebp
jmp 0x1400157a1
movsx ecx, byte [rsp + 0x28]
xor dl, dl
and ecx, r13d
movzx eax, dl
xor ecx, eax
mov eax, dword [0x140042b6c]
sub eax, ecx
mov dword [0x140042b3c], eax
jmp 0x1400157a1
mov edx, dword [rsp + 0x2c]
xor ecx, ecx
movzx eax, dl
movzx edx, byte [0x140042a86]
sub edx, eax
movsx eax, dil
cmp edx, eax
movzx eax, bl
sete cl
add eax, 0x1b
xor ecx, eax
sub dword [0x140042b84], ecx
movsx ecx, byte [rsp + 0x28]
mov eax, dword [rsp + 0x3c]
sub eax, ecx
movsx edx, r9b
movzx ecx, al
shl edx, cl
test edx, edx
mov edx, dword [rsp + 0x2c]
jne 0x1400157cb
movzx ecx, bl
movzx eax, dl
add ecx, eax
jne 0x1400157cb
xor eax, eax
jmp 0x1400157d0
mov eax, 1
and r11d, eax
test dl, dl
je 0x1400157e7
cmp dword [0x140042b6c], 0
je 0x1400157e7
mov ecx, 1
jmp 0x1400157e9
xor ecx, ecx
mov r9d, dword [rsp + 0x38]
xor eax, eax
cmp dword [0x140042a64], 0x1b
setb al
cmp eax, ecx
je 0x140015849
movzx eax, byte [rsp + 0x40]
xor al, byte [rsp + 0x20]
or byte [0x140042b64], al
movzx edx, byte [0x140042b5c]
mov r13d, dword [rsp + 0x50]
add dl, 0x3c
cmp r9d, 0x1f
mov dword [rsp + 0x2c], edx
mov dword [0x140042b68], 0
sete al
add r13d, 0x16
sub r12b, al
mov dword [rsp + 0x44], r13d
xor eax, eax
test dl, dl
setne al
not al
and r14b, al
movzx ecx, byte [0x140042b65]
cmp dword [0x140042b84], 0
movzx edx, byte [rsp + 0xb0]
sete al
and r8d, dword [rsp + 0x3c]
add byte [0x140042a86], al
add r8d, r8d
movzx eax, byte [rsp + 0x20]
add al, r15b
add al, byte [rsp + 0x28]
shl al, cl
xor ecx, ecx
xor al, byte [0x140042b64]
add al, al
cmp dword [0x140042b34], 0x1f
sete cl
mov dword [rsp + 0x48], ecx
mov dword [0x140042a8c], ecx
mov ecx, 0x6e
sub dl, al
sub r10d, r8d
mov byte [0x140042b81], dl
sub rcx, 1
jne 0x1400158a1
movzx r8d, byte [0x140042a86]
mov byte [rsp + 0xb0], dl
mov ecx, r8d
movsx edx, byte [rsp + 0x28]
movsx ebx, dil
mov eax, ebx
mov dword [0x140042b60], r10d
xor eax, r13d
mov dword [rsp + 0x4c], ebx
or eax, edx
sub ecx, eax
mov eax, 0x55555556
mov dword [rsp + 0x50], ecx
mov dword [0x140042b4c], ecx
lea ecx, [r9*4 + 0x70]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
sub ecx, eax
movsx edx, cx
test edx, edx
je 0x140015a2c
sub edx, 1
je 0x1400159e7
sub edx, 1
je 0x1400159c1
cmp edx, 1
je 0x140015966
mov ecx, dword [rsp + 0x20]
xor dl, dl
movzx eax, dl
sub ecx, eax
movsx eax, r12b
cmp ecx, eax
je 0x140015959
test dil, dil
je 0x140015959
cmp dword [0x140042b7c], 0
je 0x140015959
mov eax, 1
xor dword [0x140042b7c], eax
jmp 0x140015a55
xor eax, eax
xor dword [0x140042b7c], eax
jmp 0x140015a55
cmp byte [0x140042b82], 0
je 0x140015986
cmp byte [rsp + 0x28], 0
je 0x140015986
mov eax, dword [rsp + 0x20]
add eax, 0xffffffe1
je 0x140015986
mov eax, 1
jmp 0x140015988
xor eax, eax
add byte [rsp + 0xc0], al
cmp byte [0x140042b64], 0
jne 0x1400159b1
test dil, dil
jne 0x1400159b1
cmp dword [rsp + 0x40], 0
jne 0x1400159b1
xor eax, eax
and dword [0x140042b68], eax
jmp 0x140015a55
mov eax, 1
and dword [0x140042b68], eax
jmp 0x140015a55
mov edx, dword [rsp + 0x2c]
xor ecx, ecx
movzx eax, dl
cmp ebx, eax
sete cl
xor eax, eax
cmp ecx, dword [rsp + 0x20]
sete al
cmp r10d, eax
sete byte [0x140042a87]
xor r14b, r14b
jmp 0x140015a59
test r8b, r8b
je 0x1400159fd
cmp byte [rsp + 0x28], 0
je 0x1400159fd
xor dl, dl
movzx ecx, dl
cmp r13d, ecx
jne 0x140015a15
test ebp, ebp
jne 0x140015a15
xor ecx, ecx
mov eax, ebx
or eax, dword [rsp + 0x48]
and eax, ecx
and ebp, eax
mov dword [0x140042b48], ebp
jmp 0x140015a55
mov eax, ebx
mov ecx, 1
or eax, dword [rsp + 0x48]
and eax, ecx
and ebp, eax
mov dword [0x140042b48], ebp
jmp 0x140015a55
lea eax, [rbx*2 + 0x1f]
xor eax, dword [rsp + 0x40]
je 0x140015a46
cmp dword [0x140042b34], 0
je 0x140015a46
mov al, 1
jmp 0x140015a48
xor al, al
mov byte [0x140042b80], al
mov byte [rsp + 0xc8], al
mov edx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x44]
mov ecx, ebx
mov edi, dword [0x140042a88]
mov r8d, 0xac
movzx r13d, dl
sub eax, r13d
mov dword [rsp + 0x54], r13d
cmp eax, dword [0x140042a64]
movzx eax, dil
mov r13d, dword [0x140042b68]
sete r9b
shl al, cl
or r9b, al
xor cl, cl
cmp cl, 0x1f
mov eax, 0x66666667
movsx ecx, byte [rsp + 0x28]
sete r10b
mov ebp, ecx
and r10b, byte [0x140042a86]
imul ecx
xor ecx, ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
movsx edx, byte [rsp + 0x28]
sub ebp, eax
movzx eax, byte [rsp + 0xc8]
add ebp, eax
cmp ebp, dword [rsp + 0x3c]
sete cl
xor eax, eax
cmp ecx, edx
sete al
mov dword [0x140042b40], eax
mov eax, dword [rsp + 0x40]
sub al, byte [rsp + 0x34]
xor al, 0x1b
movsx eax, al
imul ecx, eax, 0xffffffac
mov eax, dword [rsp + 0x28]
add byte [rsp + 0x24], cl
nop word [rax + rax]
dec r8d
and r12b, r9b
and r14b, r10b
test al, al
je 0x140015b18
mov r15d, r13d
imul r15d, ebp
and r15d, 3
xor r11d, 1
test r8d, r8d
jne 0x140015b00
cmp byte [0x140042b65], r8b
mov r13d, dword [rsp + 0x54]
mov r10d, dword [rsp + 0x44]
mov dword [0x140042b2c], r11d
mov byte [0x140042b57], r14b
mov dword [rsp + 0x34], r15d
je 0x140015b4c
test r10d, r10d
jne 0x140015b54
movsx eax, r12b
cmp ebp, eax
jbe 0x140015b72
mov r9d, dword [rsp + 0x48]
mov eax, 0xcccccccd
mul r10d
mov r15d, edx
shr r15d, 2
add r15d, r9d
mov dword [rsp + 0x34], r15d
jmp 0x140015b77
mov r9d, dword [rsp + 0x48]
movzx r8d, byte [0x140042b55]
mov r11d, dword [rsp + 0x2c]
mov edx, dword [rsp + 0x20]
test r8b, r8b
je 0x140015ba5
test r11b, r11b
je 0x140015ba5
lea eax, [r15 + rdx]
test dword [0x140042b7c], eax
je 0x140015ba5
mov eax, 1
jmp 0x140015ba7
xor eax, eax
mov ecx, dword [rsp + 0x38]
sub edi, ebp
xor ecx, eax
and edi, edx
mov dword [0x140042b38], ecx
mov eax, 0xaaaaaaab
movsx ecx, byte [rsp + 0xb8]
imul ecx, edx
mul ecx
movzx ecx, byte [rsp + 0xc0]
movzx eax, byte [rsp + 0xc8]
mov r14d, edx
xor dl, dl
shr r14d, 1
add al, bpl
add al, dl
add cl, al
mov byte [rsp + 0xc0], cl
mov byte [0x140042b54], cl
movzx ecx, dl
cmp ecx, r10d
jae 0x140015d2d
cmp dword [rsp + 0x50], 0
je 0x140015d2d
movzx eax, byte [0x140042b65]
add eax, r13d
cmp eax, ebx
je 0x140015c2a
test dl, dl
je 0x140015c26
cmp byte [0x140042b66], dl
jne 0x140015c2a
xor eax, eax
jmp 0x140015c2f
mov eax, 1
or r8b, al
mov eax, 0x55555556
mov byte [0x140042b55], r8b
xor r8d, r8d
cmp r9d, 0x1b
sete r8b
shr edi, cl
or byte [0x140042b64], dil
imul r15d
mov dword [0x140042b60], r8d
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dl
add al, al
add dl, al
movzx eax, byte [rsp + 0xb8]
sub al, dl
movzx edx, byte [rsp + 0xc0]
add al, r15b
mov r15d, dword [0x140042b68]
movsx r9d, al
xor eax, eax
mov ecx, r9d
mov dword [rsp + 0x4c], r9d
shl edx, cl
movsx ecx, byte [rsp + 0x30]
add ecx, 0x1b
add ecx, dword [rsp + 0x20]
cmp edx, ecx
mov ecx, dword [rsp + 0x50]
mov edx, dword [rsp + 0x20]
sete al
and dword [0x140042b6c], eax
movsx eax, r12b
xor eax, dword [rsp + 0x3c]
sub ecx, eax
mov dword [0x140042b4c], ecx
xor cl, cl
movzx eax, cl
mov ecx, dword [rsp + 0x3c]
sub edx, eax
movzx eax, byte [rsp + 0xb0]
shl edx, cl
movzx ecx, dl
movsx edx, byte [0x140042b55]
shl eax, cl
mov ecx, ebp
or dword [0x140042b34], eax
shl edx, cl
mov ecx, dword [rsp + 0x48]
movsx eax, r14b
xor edx, eax
xor eax, eax
mov dword [0x140042b40], edx
cmp r8d, r13d
sete al
imul r15d, ebp
xor ecx, eax
mov eax, 0xaaaaaaab
mov dword [0x140042a8c], ecx
mul r15d
shr edx, 1
lea eax, [rdx + rdx*2]
sub r15d, eax
mov dword [rsp + 0x34], r15d
xor dl, dl
jmp 0x140015d30
mov r9d, ebx
movzx eax, byte [rsp + 0x24]
movzx ebx, byte [0x140042b6c]
movsx edi, r14b
mov ecx, edi
mov dword [rsp + 0xb0], edi
shr r10d, cl
mov ecx, r15d
shl r10b, cl
xor r10b, byte [0x140042b66]
add al, r10b
movzx ecx, dl
mov byte [0x140042b56], al
movzx eax, r11b
imul ebx, eax
movsx eax, byte [rsp + 0x30]
add eax, ecx
xor ecx, ecx
and bl, 3
cmp eax, dword [rsp + 0x20]
sete cl
and dword [0x140042b5c], ecx
test r14b, r14b
je 0x140015d99
mov eax, r13d
or eax, r9d
je 0x140015d99
mov ecx, 1
jmp 0x140015d9b
xor ecx, ecx
movzx eax, byte [0x140042b82]
add eax, ecx
movzx ecx, bl
mov dword [0x140042b30], eax
mov eax, ebp
shr eax, cl
test eax, eax
jne 0x140015dbe
test r11b, r11b
jne 0x140015dbe
xor ecx, ecx
jmp 0x140015dc3
mov ecx, 1
mov eax, dword [0x140042b44]
shl al, cl
xor r12b, al
mov byte [0x140042a63], r12b
call qword [sym.imp.KERNEL32.dll_CreateTimerQueue]
mov r10d, dword [0x140042a64]
mov eax, 0xcccccccd
imul r10d, dword [rsp + 0x20]
mov ecx, edi
mov r9d, 0xc6
mul r10d
shr edx, 2
lea eax, [rdx + rdx*4]
sub r10d, eax
and ecx, 0x80000003
jge 0x140015e10
dec ecx
or ecx, 0xfffffffc
inc ecx
movzx r12d, byte [0x140042b65]
xor r15b, r15b
movzx r11d, byte [0x140042b67]
mov r13d, dword [0x140042b84]
mov edx, dword [0x140042b58]
mov r8d, dword [0x140042b68]
mov edi, dword [rsp + 0x54]
nop dword [rax + rax]
dec r9d
test r12b, r12b
jne 0x140015e58
movzx eax, bl
or eax, ebp
je 0x140015e54
test r15b, r15b
jne 0x140015e58
xor eax, eax
jmp 0x140015e5d
mov eax, 1
add r8d, eax
movzx ebx, r10b
test r11b, r11b
jne 0x140015e7f
xor eax, eax
mov byte [0x140042a86], r11b
cmp r14b, 0x1f
sete al
or eax, dword [rsp + 0x4c]
je 0x140015e86
mov byte [0x140042a86], 1
test r13d, r13d
jne 0x140015e97
movsx eax, sil
cmp edi, eax
jne 0x140015e97
xor eax, eax
jmp 0x140015e9c
mov eax, 1
movzx esi, cl
xor edx, eax
add sil, byte [0x140042b3c]
test r9d, r9d
jne 0x140015e40
mov edi, dword [rsp + 0xb0]
xor r10b, r10b
mov r15d, dword [rsp + 0x34]
mov eax, edx
sub eax, edi
movzx r9d, r10b
mov ecx, r15d
mov dword [0x140042b58], edx
shl eax, cl
mov ecx, r9d
shr eax, cl
mov ecx, dword [0x140042b34]
shr eax, cl
mov ecx, 0x7e7
mov dword [0x140042b68], r8d
nop dword [rax + rax]
mov byte [0x140042a87], al
sub rcx, 1
jne 0x140015ef0
mov eax, dword [0x140042b48]
movzx ecx, sil
shl eax, cl
movzx ecx, r11b
shr eax, cl
or dword [0x140042b60], eax
cmp byte [0x140042b54], 0
je 0x140015f31
movzx eax, bl
cmp r15d, eax
jne 0x140015f31
mov byte [0x140042b64], 1
test r10b, r10b
jne 0x140015f38
mov byte [0x140042b64], 0
mov ecx, dword [rsp + 0x20]
shl edi, cl
mov ecx, r9d
sar edi, cl
mov ecx, edx
sar edi, cl
xor edi, r8d
and dword [0x140042b38], edi
call fcn.140014860
mov eax, dword [rsp + 0x54]
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret