Function at 0x140034430
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x108
mov qword [rsp + 0xc8], r8
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0xd0], rcx
call fcn.1400342c0
mov rdx, qword [rsp + 0xd8]
mov qword [rsp + 0xe0], rax
mov rcx, 0xffffffffffffffff
xor eax, eax
cmp rdx, 0
mov qword [rsp + 0xe8], rcx
mov qword [rsp + 0xf0], rax
jle 0x14003451e
mov rax, qword [rsp + 0xd0]
mov dl, byte [rax]
mov byte [rsp + 0xc7], dl
mov r8b, 0xcd
xor r8b, 0xe6
mov rcx, 0xffffffffffffffff
mov eax, 1
cmp dl, r8b
mov qword [rsp + 0xe8], rcx
mov qword [rsp + 0xf0], rax
je 0x14003451e
mov r8b, byte [rsp + 0xc7]
cmp r8b, 0x2d
sete al
movabs rdx, 0x2539476ad3bcba25
movabs rcx, 0x2539476ad3bcba24
xor rdx, rcx
movabs rcx, 0xcb774c8ed5b27391
movabs r9, 0x3488b3712a4d8c6e
xor rcx, r9
cmp r8b, 0x2d
cmove rcx, rdx
and al, 1
movzx eax, al
mov qword [rsp + 0xe8], rcx
mov qword [rsp + 0xf0], rax
mov rdx, qword [rsp + 0xd8]
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xf0]
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xb0], rax
xor eax, eax
cmp rcx, rdx
mov qword [rsp + 0xb8], rax
jge 0x140034c60
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xa8]
mov cl, byte [rax + rcx]
add cl, 0xd0
mov dl, 0xfb
xor dl, 0xf1
xor eax, eax
cmp cl, dl
mov qword [rsp + 0xb8], rax
jae 0x140034c60
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xc8]
movabs rdx, 0x1b411e30300c3b3a
movabs r8, 0x1b411e30300c3b3a
xor rdx, r8
mov qword [rcx], rdx
mov qword [rsp + 0xa0], rax
jmp 0x1400345cd
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0xa0], rax
mov rcx, qword [rsp + 0xd8]
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x90], rax
cmp rax, rcx
jge 0x140034aa0
mov rax, qword [rsp + 0x90]
cmp rax, 0xffffffffffffffff
jg 0x140034628
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0xd8]
add rdx, 0xffffffffffffffff
call fcn.1400122ad
xor eax, eax
mov qword [rsp + 0xb8], rax
jmp 0x140034c60
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x90]
mov al, byte [rax + rcx]
mov byte [rsp + 0x8f], al
add al, 0xd0
mov cl, 0xd0
xor cl, 0xda
cmp al, cl
jae 0x140034aa0
mov ecx, dword [0x1401c98d0]
xor ecx, dword [0x1401c98d4]
xor ecx, 0x7fc534ec
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x9da94ce
mov edx, 0xffffffff
xor edx, 0x9da94ce
and ecx, edx
or eax, ecx
mov ecx, 0xa39f6d99
xor ecx, 0x534c88a
add eax, ecx
cmp eax, 0x994f0f3c
je 0x140034d44
mov rcx, qword [rsp + 0xc8]
mov al, byte [rsp + 0x8f]
mov edx, dword [0x1401c98d8]
mov r9d, dword [0x1401c98dc]
xor r9d, 0xa508f942
mov r10d, edx
and r10d, r9d
mov r8d, 0x98199ef2
xor r8d, 0x98199ef0
imul r8d, r10d
add edx, r9d
sub edx, r8d
and edx, 0x5179cd0e
xor edx, 0xc578ca00
or edx, 0xf46a9ea0
mov dword [rsp + 0x7c], edx
movzx eax, al
mov edx, eax
mov rax, rdx
add rax, 0xffffffffffffffd0
mov qword [rsp + 0x70], rax
xor rdx, 0xffffffffffffffff
movabs rax, 0xf856b4afa30600ec
movabs r8, 0x7856b4afa30600dc
xor rax, r8
add rax, rdx
add rax, 1
mov r8d, 0xa
xor edx, edx
div r8
mov r8, rax
mov eax, dword [rsp + 0x7c]
movabs rdx, 0xe36b3742e666f0b7
movabs r9, 0xe36b3742e666f0b7
xor rdx, r9
sub rdx, r8
mov rcx, qword [rcx]
mov qword [rsp + 0x80], rcx
cmp rcx, rdx
setl cl
mov byte [rsp + 0x8e], cl
cmp eax, 0x4f1fce1
je 0x140034d44
mov al, byte [rsp + 0x8e]
test al, 1
jne 0x140034925
jmp 0x140034780
mov rcx, qword [rsp + 0x80]
mov edx, 0xa
lea r8, [rsp + 0x100]
call fcn.140034d71
test al, 1
jne 0x140034911
mov ecx, dword [0x1401c98e0]
mov edx, dword [0x1401c98e4]
mov r8d, 0x9e50b202
xor r8d, 0x61af4dfd
mov eax, ecx
xor eax, r8d
mov r8d, ecx
xor r8d, 0xffffffff
and eax, r8d
mov r8d, edx
or r8d, r8d
xor r8d, 0xffffffff
xor eax, 0xffffffff
xor r8d, 0xffffffff
and eax, r8d
mov r8d, 0x4a9523c
xor r8d, 0xfb56adc3
xor ecx, r8d
xor edx, 0xffffffff
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x778cd129
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x778cd129
or eax, 0x778cd129
imul eax, edx
add eax, ecx
mov ecx, 0x1a84b963
xor ecx, 0xb6c3825
and eax, ecx
sub eax, 0xa9541dfc
sub eax, 0x121d49ae
add eax, 0xa9541dfc
mov ecx, 0x9ef79bdb
xor ecx, 0xda12147
cmp eax, ecx
jb 0x140034d4d
mov r9, qword [rsp + 0x70]
mov eax, dword [0x1401c98e8]
mov r8d, dword [0x1401c98ec]
mov edx, r8d
xor edx, 0xffffffff
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
sub eax, 0xb7d6de1f
add eax, 0x1f125f41
and eax, 0x11e4f6a9
mov r8, qword [rsp + 0x100]
mov rdx, r8
sub rdx, r9
mov qword [rsp + 0x60], rdx
mov rcx, rdx
xor rcx, r8
cmp rcx, 0
setl cl
mov r8, rdx
and r8, r9
shl r8, 1
add rdx, r9
sub rdx, r8
movabs r8, 0x57aa7edc2951e0df
movabs r9, 0xa8558123d6ae1f20
xor r8, r9
cmp rdx, r8
setg dl
and cl, dl
mov byte [rsp + 0x6f], cl
cmp eax, 0x2fdaaab3
ja 0x140034d4d
mov al, byte [rsp + 0x6f]
test al, 1
jne 0x140034911
jmp 0x1400348fc
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x60]
mov qword [rax], rcx
jmp 0x14003494b
call fcn.140008024
xor eax, eax
mov qword [rsp + 0xb8], rax
jmp 0x140034c60
call fcn.1400343ae
mov rax, qword [rsp + 0xe0]
mov cl, byte [rax]
mov dl, 0x50
xor dl, 0x50
xor eax, eax
cmp cl, dl
mov qword [rsp + 0xb8], rax
jne 0x140034c60
mov ecx, dword [0x1401c98f0]
mov edx, dword [0x1401c98f4]
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
mov r9d, edx
xor r9d, 0xffffffff
and r8d, r9d
or eax, r8d
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov r8d, 0xde26d7de
xor r8d, 0x21d92821
xor edx, r8d
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
imul eax, eax, 0xc3480ec
sub eax, 0x7f95c223
mov ecx, 0x4a7088c
xor ecx, 0xe851f879
add eax, ecx
add eax, 0x7f95c223
xor eax, 0xfeeba330
cmp eax, 0x4fd7a49c
jb 0x140034d56
mov rdx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x90]
mov eax, dword [0x1401c98f8]
xor eax, dword [0x1401c98fc]
mov r8d, 0xa1675d90
xor r8d, 0xcbc7708b
sub eax, r8d
add eax, 0x81f5dc48
add eax, 0x6aa02d1b
add eax, 0x8ac82fda
or eax, 0xf0f9d983
add rcx, 1
mov r8, rdx
sub r8, rcx
cmovg rcx, rdx
mov qword [rsp + 0x58], rcx
cmp eax, 0xf49beac8
je 0x1400349bc
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x50], rax
jmp 0x140034a2c
mov rax, qword [rsp + 0x58]
mov rdx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x50]
movabs r8, 0xc5849f4b82c14fc6
movabs r9, 0xc5849f4b82c14fc7
xor r8, r9
add rcx, r8
mov qword [rsp + 0x48], rcx
cmp rcx, rdx
mov qword [rsp + 0x98], rax
jge 0x1400345bd
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0xd0]
mov cl, byte [rcx + rax]
mov dl, 0x9f
xor dl, 0xc0
cmp cl, dl
mov rcx, rax
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0x50], rax
je 0x140034a2c
jmp 0x1400345bd
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xb0]
not rax
mov rcx, qword [rcx]
mov qword [rsp + 0x40], rcx
movabs rdx, 0x8000000000000000
xor rcx, rdx
or rax, rcx
sete al
test al, 1
jne 0x140034adb
jmp 0x140034aef
call fcn.1400343ae
xor eax, eax
mov qword [rsp + 0xb8], rax
jmp 0x140034c60
mov rdx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x40]
lea r8, [rsp + 0xf8]
call fcn.140034d71
test al, 1
jne 0x140034b16
jmp 0x140034c33
mov eax, dword [0x1401c9900]
xor eax, 0xdd4aa936
mov ecx, dword [0x1401c9904]
xor ecx, 0xa08cd59c
imul eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x88b329dc
xor edx, 0x4ef359d3
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xc640700f
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xc640700f
or eax, 0xc640700f
imul eax, edx
add eax, ecx
and eax, eax
xor eax, 0xffffffff
mov ecx, 0xd8e80418
and ecx, 0xd8e80418
mov edx, 0x8fd50153
xor edx, 0x702afeac
xor ecx, edx
and eax, ecx
mov ecx, 0x1860cbe1
xor ecx, 0xe79f341e
xor eax, ecx
mov ecx, 0xbf276802
xor edx, edx
div ecx
cmp eax, 0xfa04efd2
ja 0x140034d5f
mov eax, dword [0x1401c9908]
mov ecx, 0x76cd3468
xor ecx, 0xf47481be
xor eax, ecx
and eax, dword [0x1401c990c]
mov ecx, 0x3996e6a0
xor ecx, 0x50cbeff4
or eax, ecx
or eax, eax
xor eax, 0xffffffff
mov ecx, 0x22cc3301
or ecx, 0x22cc3301
mov edx, 0x8602dc10
xor edx, 0x79fd23ef
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov edx, 0xffffffff
xor edx, 0xc90c5e04
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xc90c5e04
add eax, edx
sub eax, ecx
mov dword [rsp + 0x3c], eax
call fcn.140008024
mov eax, dword [rsp + 0x3c]
cmp eax, 0xf4013878
ja 0x140034ba9
xor eax, eax
mov qword [rsp + 0x30], rax
jmp 0x140034c53
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0xf8]
mov qword [rcx], rdx
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x28], rax
mov eax, dword [0x1401c9910]
mov edx, dword [0x1401c9914]
mov ecx, 0x291c4f4d
xor ecx, 0xd6e3b0b2
xor edx, ecx
mov ecx, eax
xor ecx, edx
and ecx, eax
mov edx, 0x4cd1882b
xor edx, 0x9359b27f
mov eax, ecx
and eax, edx
shl eax, 1
xor ecx, 0xdf883a54
add ecx, eax
mov edx, 0x3425d6fa
xor edx, 0xcbda2905
mov eax, ecx
xor eax, edx
and eax, 0xdf55e68c
mov edx, 0xc72ca195
xor edx, 0x18794719
mov r8d, 0x90f0ad53
xor r8d, 0x6f0f52ac
xor edx, r8d
and ecx, edx
or eax, ecx
mov ecx, 0xf7d4e10f
xor ecx, 0x308f5a54
sub eax, ecx
cmp eax, 0x669878fc
jae 0x140034d68
mov eax, dword [0x1401c9918]
mov ecx, dword [0x1401c991c]
sub eax, 0x1b77ba96
sub eax, ecx
add eax, 0x1b77ba96
or eax, 0x744c92ae
mov ecx, 0x9b1411f1
xor ecx, 0x42e81e1e
xor eax, ecx
mov ecx, 0xbee31c52
xor edx, edx
div ecx
mov ecx, 0x9a898a7
xor ecx, 0x34b048b
cmp eax, ecx
jae 0x140034cf1
cmp dword [rdx + 0x48ffffff], 0xffffff8b
and al, 0x28
mov rax, qword [rsp + 0x28]
add rsp, 0x108
ret
invalid
or esp, edi
iretd
jl 0x140034d32
inc byte [rsi]
jmp 0x1400349bc
push rbp
or edx, edx
invalid
sti
or esp, dword [rsi]
sub ch, cl
cmp bh, 0xff
dec dword [rax - 0x7d]
sub rsp, 0x58