Function at 0x42e3df
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rcx
cmp word [rcx], 0x42
jne 0x42e42d
mov eax, dword [0x004482ac]
mov edi, dword [0x004482a8]
lea ebp, [rax - 1]
imul ebp, eax
not ebp
or ebp, 0xfffffffe
cmp ebp, 0xffffffff
sete dl
setne al
cmp edi, 0xa
setl bl
cmp edi, 9
setg cl
cmp bl, dl
jne 0x42e44e
or cl, al
xor cl, 1
jne 0x42e44e
jmp 0x42e42b
add rsi, 0xfffffffffffffff1
mov eax, dword [0x004482ac]
mov edi, dword [0x004482a8]
lea ebp, [rax - 1]
imul ebp, eax
and ebp, 1
mov r15d, 0x37
jmp 0x42e45b
not ebp
mov rcx, rsi
call fcn.0042e36b
movsxd r15, eax
test ebp, ebp
sete al
cmp edi, 0xa
setl cl
test cl, al
jne 0x42e472
xor cl, al
je 0x42e515
movzx eax, byte [rsi + r15]
movzx ecx, byte [rsi + r15 + 1]
shl ecx, 8
mov edx, ecx
not edx
mov ebp, eax
not ebp
mov edi, 0x470881e2
and edx, edi
and ecx, 0x7e00
or ecx, edx
and ebp, edi
and eax, 0x1d
or eax, ebp
xor eax, ecx
movzx ecx, byte [rsi + r15 + 2]
shl ecx, 0x10
mov edx, eax
and edx, ecx
xor ecx, eax
or ecx, edx
movzx ebp, byte [rsi + r15 + 3]
shl ebp, 0x18
mov eax, ecx
and eax, ebp
xor ebp, ecx
or ebp, eax
movsxd r14, ebp
xor ecx, ecx
mov rdx, r14
mov r8d, 0x1000
mov r9d, 4
call qword [0x00448100]
mov ecx, dword [0x004482ac]
mov edx, dword [0x004482a8]
lea edi, [rcx - 1]
imul edi, ecx
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete bl
setne r8b
cmp edx, 0xa
setl cl
cmp edx, 9
setg dl
cmp cl, bl
jne 0x42e572
or dl, r8b
xor dl, 1
jne 0x42e572
movzx eax, word [rsi + r15]
movzx ecx, byte [rsi + r15 + 2]
shl ecx, 0x10
mov edx, eax
not edx
mov ebp, ecx
not ebp
mov ebx, 0xde544c2b
and edx, ebx
and eax, 0xb3d4
or eax, edx
and ebp, ebx
and ecx, 0xab0000
or ecx, ebp
xor ecx, eax
movzx eax, byte [rsi + r15 + 3]
shl eax, 0x18
mov edx, ecx
and edx, eax
xor eax, ecx
or eax, edx
movsxd rdx, eax
xor ecx, ecx
mov r8d, 0x1000
mov r9d, 4
call qword [0x00448100]
jmp 0x42e472
test rax, rax
je 0x42e679
test ebp, ebp
jle 0x42e5cb
add rsi, r15
add rsi, 4
mov r8d, ebp
xor r9d, r9d
xor ebx, ebx
xor edi, edi
xor ebp, ebp
add bpl, bpl
mov dl, byte [rsi + rbx]
not dl
or dl, 0x6c
mov ecx, ebp
not cl
and dl, 0x6d
and cl, 0x6d
and bpl, 0x92
or bpl, cl
xor bpl, dl
inc edi
inc rbx
cmp ebx, 8
jne 0x42e592
add rsi, 8
mov byte [rax + r9], bpl
inc r9
cmp r9, r8
jne 0x42e58c
mov rcx, rax
mov rdx, r14
call fcn.00422839
mov dword [rsp + 0x24], 0xb80
mov ecx, dword [rsp + 0x24]
imul ecx, ecx, 0xaaaaaaab
add ecx, 0x2aaaaaaa
cmp ecx, 0x55555554
jbe 0x42e688
add dword [rsp + 0x24], 2
mov ecx, dword [rsp + 0x24]
mov edx, ecx
xor edx, 0xfffffffc
test edx, ecx
jne 0x42e67b
mov ecx, dword [0x004482fc]
mov edx, dword [0x004482f8]
lea ebp, [rcx - 1]
imul ebp, ecx
mov ecx, ebp
xor ecx, 0xfffffffe
test ecx, ebp
sete bl
setne r8b
cmp edx, 0xa
setl cl
cmp edx, 9
setg dl
cmp cl, bl
jne 0x42e647
or dl, r8b
xor dl, 1
je 0x42e673
inc dword [rsp + 0x24]
mov ecx, dword [0x004482fc]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete cl
cmp dword [0x004482f8], 0xa
setl dl
test dl, cl
jne 0x42e602
xor dl, cl
jne 0x42e602
inc dword [rsp + 0x24]
jmp 0x42e647
xor eax, eax
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
mov ebp, dword [rsp + 0x24]
mov edx, ebp
xor edx, 0xfffffffe
mov edi, dword [rsp + 0x24]
test edx, ebp
je 0x42e6d2
mov edx, dword [0x004482fc]
lea ebp, [rdx - 1]
imul ebp, edx
not ebp
or ebp, 0xfffffffe
cmp ebp, 0xffffffff
sete dl
cmp dword [0x004482f8], 0xa
setl bl
add edi, 0xfffffffe
test bl, dl
jne 0x42eb88
xor bl, dl
je 0x42ebc5
jmp 0x42eb88
not edi
or edi, 0xfffffffc
mov ebp, dword [rsp + 0x24]
mov edx, dword [0x004482fc]
lea ebx, [rdx - 1]
imul ebx, edx
mov edx, ebx
xor edx, 0xfffffffe
test edx, ebx
sete r8b
cmp dword [0x004482f8], 0xa
setl bl
mov edx, ebx
and dl, r8b
xor bl, r8b
or bl, dl
cmp edi, 0xffffffff
je 0x42e71f
lea ebp, [rbp + rbp*2]
test bl, bl
jne 0x42ec0c
lea esi, [rbp + 6]
jmp 0x42ec08
test bl, bl
je 0x42e750
mov esi, dword [rsp + 0x24]
mov edx, dword [0x004482fc]
lea ebx, [rdx - 1]
imul ebx, edx
not ebx
or ebx, 0xfffffffe
cmp ebx, 0xffffffff
sete bl
cmp dword [0x004482f8], 0xa
setl dl
test dl, bl
jne 0x42e756
xor dl, bl
jne 0x42e756
mov ecx, dword [rsp + 0x24]
jmp 0x42e723
imul edx, ebp, 0xcccccccd
add edx, 0x19999999
cmp edx, 0x33333332
jbe 0x42e831
mov edx, esi
add edx, 0xb
movsxd rdx, edx
imul rdx, rdx, 0xffffffffb21642c9
shr rdx, 0x20
lea ecx, [rdx + rsi]
add ecx, 0xb
mov edx, ecx
shr edx, 0x1f
sar ecx, 4
add ecx, edx
mov dword [rsp + 0x24], ecx
mov ecx, dword [0x004482fc]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete cl
cmp dword [0x004482f8], 0xa
setl dl
test dl, cl
jne 0x42e7bd
xor dl, cl
je 0x42e7ea
mov ecx, dword [rsp + 0x24]
mov edx, dword [0x004482fc]
lea ebp, [rdx - 1]
imul ebp, edx
not ebp
or ebp, 0xfffffffe
cmp ebp, 0xffffffff
sete dl
cmp dword [0x004482f8], 0xa
setl bl
test bl, dl
jne 0x42e7f0
xor bl, dl
jne 0x42e7f0
mov ecx, dword [rsp + 0x24]
jmp 0x42e7bd
imul ecx, ecx, 0xaaaaaaab
add ecx, 0x2aaaaaaa
cmp ecx, 0x55555554
ja 0x42e67b
mov ecx, dword [rsp + 0x24]
imul ecx, ecx, 0xcccccccd
add ecx, 0x19999999
xor edx, edx
cmp ecx, 0x33333332
seta dl
mov ecx, dword [rsp + 0x24]
lea ecx, [rcx + rdx*2]
dec ecx
jmp 0x42e791
mov ebp, dword [rsp + 0x24]
mov edx, dword [0x004482fc]
mov edi, dword [0x004482f8]
lea ebx, [rdx - 1]
imul ebx, edx
mov edx, ebx
xor edx, 0xfffffffe
test edx, ebx
setne r8b
sete r9b
cmp edi, 9
setg bl
cmp edi, 0xa
setl dl
xor dl, r9b
jne 0x42e8b0
or bl, r8b
xor bl, 1
jne 0x42e8b0
mov edx, dword [rsp + 0x24]
mov ebp, dword [rsp + 0x24]
mov edx, dword [0x004482fc]
mov edi, dword [0x004482f8]
lea ebx, [rdx - 1]
imul ebx, edx
not ebx
or ebx, 0xfffffffe
cmp ebx, 0xffffffff
sete r8b
setne bl
cmp edi, 0xa
setl cl
cmp edi, 9
setg dl
cmp cl, r8b
jne 0x42e8b0
or dl, bl
xor dl, 1
je 0x42e86f
imul ecx, esi, 0xb6db6db7
add ecx, 0x12492492
cmp ecx, 0x24924924
jbe 0x42e972
add ebp, 2
mov dword [rsp + 0x24], ebp
mov ecx, dword [rsp + 0x24]
not ecx
or ecx, 0xfffffff8
cmp ecx, 0xffffffff
jne 0x42e67b
jmp 0x42e926
inc dword [rsp + 0x24]
mov ecx, dword [0x004482fc]
mov ebp, dword [0x004482f8]
lea edx, [rcx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
setne r8b
sete bl
cmp ebp, 9
setg dl
cmp ebp, 0xa
setl cl
xor cl, bl
jne 0x42e960
or dl, r8b
xor dl, 1
jne 0x42e960
inc dword [rsp + 0x24]
jmp 0x42e8e3
mov ecx, dword [0x004482fc]
mov ebp, dword [0x004482f8]
lea edx, [rcx - 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne r8b
sete bl
cmp ebp, 9
setg dl
cmp ebp, 0xa
setl cl
xor cl, bl
jne 0x42e8e3
or dl, r8b
xor dl, 1
je 0x42e920
jmp 0x42e8e3
mov ecx, dword [rsp + 0x24]
mov edx, ecx
xor edx, 0xfffffff8
test edx, ecx
je 0x42e926
jmp 0x42e67b
mov edx, ebp
xor edx, 0xfffffff8
mov ecx, dword [rsp + 0x24]
test edx, ebp
je 0x42e9ea
lea ecx, [rcx + rcx*2]
add ecx, 6
mov dword [rsp + 0x24], ecx
mov ecx, dword [rsp + 0x24]
imul ecx, ecx, 0xcccccccd
add ecx, 0x19999999
cmp ecx, 0x33333332
ja 0x42e67b
mov ecx, dword [rsp + 0x24]
imul ecx, ecx, 0xba2e8ba3
add ecx, 0xba2e8ba
xor edx, edx
cmp ecx, 0x1745d175
setb dl
mov ecx, dword [rsp + 0x24]
lea ecx, [rcx + rdx*2]
dec ecx
mov dword [rsp + 0x24], ecx
mov ecx, dword [rsp + 0x24]
imul ecx, ecx, 0xcccccccd
add ecx, 0x19999999
cmp ecx, 0x33333333
jb 0x42e9a5
jmp 0x42e67b
imul edx, ecx, 0xba2e8ba3
add edx, 0xba2e8ba
mov ecx, dword [rsp + 0x24]
cmp edx, 0x1745d174
jbe 0x42eb3a
mov edx, ecx
add edx, 0xb
movsxd rdx, edx
imul rdx, rdx, 0xffffffffb21642c9
shr rdx, 0x20
add ecx, edx
add ecx, 0xb
mov edx, ecx
shr edx, 0x1f
sar ecx, 4
add ecx, edx
mov dword [rsp + 0x24], ecx
mov edx, dword [0x004482fc]
mov ecx, dword [0x004482f8]
lea ebp, [rdx - 1]
imul ebp, edx
mov edx, ebp
xor edx, 0xfffffffe
test edx, ebp
sete dl
cmp ecx, 0xa
setl cl
test cl, dl
jne 0x42ea56
xor cl, dl
je 0x42ea82
mov ecx, dword [rsp + 0x24]
mov edx, dword [0x004482fc]
lea ebp, [rdx - 1]
imul ebp, edx
mov edx, ebp
xor edx, 0xfffffffe
test edx, ebp
sete dl
cmp dword [0x004482f8], 0xa
setl bl
test bl, dl
jne 0x42ea88
xor bl, dl
jne 0x42ea88
mov ecx, dword [rsp + 0x24]
jmp 0x42ea56
imul ecx, ecx, 0xc4ec4ec5
add ecx, 0x9d89d89
cmp ecx, 0x13b13b12
ja 0x42e67b
mov ecx, dword [rsp + 0x24]
imul ecx, ecx, 0xba2e8ba3
add ecx, 0xba2e8ba
xor edx, edx
cmp ecx, 0x1745d174
seta dl
mov ecx, dword [rsp + 0x24]
lea ecx, [rcx + rdx*2 - 1]
mov dword [rsp + 0x24], ecx
mov edx, dword [0x004482fc]
mov ecx, dword [0x004482f8]
lea ebp, [rdx - 1]
imul ebp, edx
not ebp
or ebp, 0xfffffffe
cmp ebp, 0xffffffff
sete r8b
setne r9b
cmp ecx, 0xa
setl r10b
cmp ecx, 9
setg bl
or bl, r9b
xor bl, 1
cmp r10b, r8b
jne 0x42ea38
test bl, bl
jne 0x42ea38
mov ecx, dword [rsp + 0x24]
imul ecx, ecx, 0xba2e8ba3
add ecx, 0xba2e8ba
xor edx, edx
cmp ecx, 0x1745d174
seta dl
mov ecx, dword [rsp + 0x24]
lea ecx, [rcx + rdx*2]
dec ecx
mov dword [rsp + 0x24], ecx
jmp 0x42eaa0
imul ecx, ecx, 0xc4ec4ec5
add ecx, 0x9d89d89
cmp ecx, 0x13b13b12
jbe 0x42e5fa
mov ecx, dword [0x004482fc]
lea edx, [rcx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp dword [0x004482f8], 0xa
setl dl
test dl, cl
jne 0x42ec88
xor dl, cl
je 0x42ecd5
jmp 0x42ec88
mov dword [rsp + 0x24], edi
mov edx, dword [0x004482fc]
mov ebp, dword [0x004482f8]
lea ebx, [rdx - 1]
imul ebx, edx
not ebx
or ebx, 0xfffffffe
cmp ebx, 0xffffffff
sete cl
setne r8b
cmp ebp, 0xa
setl dl
cmp ebp, 9
setg bl
cmp dl, cl
jne 0x42ebcb
or bl, r8b
xor bl, 1
jne 0x42ebcb
mov dword [rsp + 0x24], edi
jmp 0x42eb88
mov ecx, dword [rsp + 0x24]
imul ecx, ecx, 0xaaaaaaab
add ecx, 0x2aaaaaaa
cmp ecx, 0x55555554
ja 0x42e67b
inc dword [rsp + 0x24]
mov ecx, dword [rsp + 0x24]
imul ecx, ecx, 0xaaaaaaab
add ecx, 0x2aaaaaaa
cmp ecx, 0x55555555
jb 0x42ebe7
jmp 0x42e67b
mov dword [rsp + 0x24], esi
lea esi, [rbp + 6]
mov dword [rsp + 0x24], esi
mov ecx, dword [0x004482fc]
mov edi, dword [0x004482f8]
lea ebx, [rcx - 1]
imul ebx, ecx
not ebx
or ebx, 0xfffffffe
cmp ebx, 0xffffffff
sete dl
setne r8b
cmp edi, 0xa
setl bl
cmp edi, 9
setg cl
cmp bl, dl
jne 0x42ec76
or cl, r8b
xor cl, 1
je 0x42ec08
jmp 0x42ec76
mov ecx, dword [rsp + 0x24]
imul ecx, ecx, 0xcccccccd
add ecx, 0x19999999
xor edx, edx
cmp ecx, 0x33333333
setb dl
mov ecx, dword [rsp + 0x24]
lea ecx, [rcx + rdx*2]
dec ecx
mov dword [rsp + 0x24], ecx
mov ecx, dword [rsp + 0x24]
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
je 0x42ec4e
jmp 0x42e67b
mov ecx, dword [rsp + 0x24]
lea ecx, [rcx + rcx*2]
inc ecx
mov dword [rsp + 0x24], ecx
mov ecx, dword [0x004482fc]
mov edx, dword [0x004482f8]
lea ebp, [rcx - 1]
imul ebp, ecx
mov ecx, ebp
xor ecx, 0xfffffffe
test ecx, ebp
sete bl
setne r8b
cmp edx, 0xa
setl cl
cmp edx, 9
setg dl
cmp cl, bl
jne 0x42e67b
or dl, r8b
xor dl, 1
jne 0x42e67b
mov ecx, dword [rsp + 0x24]
lea ecx, [rcx + rcx*2]
inc ecx
mov dword [rsp + 0x24], ecx
jmp 0x42ec88