Function at 0x14004b070
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xe8
mov qword [rsp + 0xc8], rdx
mov qword [rsp + 0xd0], rcx
mov rax, qword [rdx]
mov qword [rsp + 0xd8], rax
mov rcx, qword [rcx]
mov qword [rsp + 0xe0], rcx
cmp rax, rcx
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x14004b0b9
jmp 0x14004b0de
mov rcx, qword [rsp + 0xe0]
mov rax, qword [rsp + 0xc8]
mov rax, qword [rax + 8]
mov qword [rsp + 0xc0], rax
cmp rax, rcx
jl 0x14004b16f
movabs rcx, 0xe742cfca25839718
movabs rax, 0xe742cfca25839758
xor rcx, rax
movabs rdx, 0xbbadee8a1a06c7d4
movabs rax, 0xbbadee8a1a06c7dc
xor rdx, rax
call fcn.1400132f0
mov rcx, rax
mov rax, qword [0x140269698]
mov qword [rcx], rax
lea rax, [0x140261b01]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140261b18]
mov qword [rcx + 0x18], rax
mov rax, qword [str._e_]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140261b01]
lea r8, [0x140261b0d]
lea r9, [0x140261af4]
mov qword [rsp + 0x20], 0xffffffffec5de109
call fcn.1400127b0
jmp 0x14004bc20
mov ecx, dword [0x140252420]
add ecx, dword [0x140252424]
xor ecx, 0xb5964301
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xab66417b
xor edx, 0xdb95045f
and edx, eax
mov r8d, 0xffffffff
xor r8d, 0x70f34524
mov eax, ecx
and eax, r8d
imul eax, edx
mov edx, ecx
and edx, 0x70f34524
or ecx, 0x70f34524
imul ecx, edx
add ecx, eax
mov edx, 0x446b974
xor edx, 0xfbb9468b
mov eax, ecx
xor eax, edx
mov edx, 0xffffffff
xor edx, 0x7804591e
and eax, edx
mov edx, 0xbec794ed
xor edx, 0xc6c3cdf3
or ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
cmp eax, 0xb2d8387f
jb 0x14004bcd2
mov r8, qword [rsp + 0xc0]
mov eax, dword [0x140252428]
sub eax, dword [0x14025242c]
mov edx, 0xffffffff
xor edx, 0x54d0d579
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x54d0d579
add eax, edx
sub eax, ecx
add eax, 0x3a429d2d
mov ecx, 0x786d7496
xor edx, edx
div ecx
mov rdx, qword [rsp + 0xd8]
mov ecx, 0x30409269
xor ecx, 0xe5e2169a
cmp rdx, r8
setg dl
mov byte [rsp + 0xbf], dl
cmp eax, ecx
ja 0x14004b1fa
mov al, byte [rsp + 0xbf]
test al, 1
jne 0x14004bc20
jmp 0x14004b273
mov eax, dword [0x140252430]
mov ecx, dword [0x140252434]
xor ecx, 0x44cf4610
add eax, ecx
mov edx, 0xffffffff
xor edx, 0x410613e6
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x410613e6
add eax, edx
sub eax, ecx
mov ecx, 0xac3beb66
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x9eccf1de
xor ecx, 0xe5913603
mov edx, 0x4cc42377
xor edx, 0x3799e4aa
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x71e3df5f
xor ecx, 0x8e1c20a0
xor eax, ecx
mov ecx, 0x273c6b7b
xor ecx, 0x5ee0b6ac
cmp eax, ecx
jbe 0x14004bcdb
mov r8, qword [rsp + 0xc0]
mov eax, dword [0x140252438]
mov ecx, 0xac02d475
xor ecx, 0x882bb4ca
xor eax, ecx
mov ecx, dword [0x14025243c]
xor ecx, 0x4e933dae
imul eax, ecx
mov ecx, 0x334b9a05
xor ecx, 0x8bc889ac
or eax, ecx
add eax, 0x96a6608d
mov edx, 0xffffffff
xor edx, 0xcb33b268
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xcb33b268
add eax, edx
sub eax, ecx
mov rcx, r8
add rcx, 1
mov qword [rsp + 0xb0], rcx
xor r8, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs r9, 0xeb1b4c27b16d7144
xor rdx, r9
or rcx, r8
movabs r8, 0xeb1b4c27b16d7144
or rdx, r8
xor rcx, 0xffffffffffffffff
and rcx, rdx
cmp rcx, 0
setl cl
mov byte [rsp + 0xbe], cl
cmp eax, 0x6c90d38d
je 0x14004b2f4
mov al, byte [rsp + 0xbe]
test al, 1
jne 0x14004b3be
jmp 0x14004b3c8
call fcn.140007e9d
jmp 0x14004bc20
mov r8, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xe0]
mov rcx, rdx
sub rcx, r8
mov qword [rsp + 0xa8], rcx
mov rax, rcx
xor rax, rdx
not r8
mov rdx, rcx
or rdx, r8
and rcx, r8
not rcx
and rdx, rcx
not rdx
mov rcx, rax
and rcx, rdx
test rax, rax
sets al
test rcx, rcx
setns cl
add al, cl
inc al
test al, 1
jne 0x14004b424
jmp 0x14004b42e
call fcn.140007e9d
jmp 0x14004bc20
mov rdx, qword [rsp + 0xd8]
mov r9, qword [rsp + 0xa8]
mov rax, rdx
xor rax, 0xffffffffffffffff
xor ecx, ecx
sub rcx, 1
sub rax, rcx
mov rcx, r9
sub rcx, rax
mov qword [rsp + 0xa0], rcx
movabs r8, 0xa9b2437ff38bbe34
movabs rax, 0x564dbc800c7441cb
xor r8, rax
mov rax, rcx
xor rax, r8
movabs r10, 0xd230d13e8b3e64a2
movabs r8, 0x2dcf2ec174c19b5d
xor r10, r8
mov r8, rcx
xor r8, r10
and rax, r8
mov r8, r9
or r8, r8
xor r8, 0xffffffffffffffff
movabs r10, 0x886b23e558a5f8f2
movabs r11, 0x7794dc1aa75a070d
xor r10, r11
xor rax, r10
xor r8, 0xffffffffffffffff
and rax, r8
mov r8, rcx
xor r8, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
and r8, r9
movabs r9, 0x111d3fccc65c649a
movabs r10, 0xeee2c03339a39b65
xor r9, r10
xor rax, r9
xor r8, 0xffffffffffffffff
and rax, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jl 0x14004b636
mov eax, dword [0x140252440]
mov ecx, dword [0x140252444]
xor ecx, 0xb0d1d13b
xor edx, edx
div ecx
mov ecx, 0xc00ea025
xor edx, edx
div ecx
mov r8d, 0xffffffff
xor r8d, 0x751e8d81
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0xa694c0ea
xor r8d, 0xd38a4d6b
mov edx, eax
and edx, r8d
mov r8d, 0x1b8bc1ba
xor r8d, 0x6e954c3b
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xa0f6db86
xor ecx, 0xdd84bdcf
or eax, ecx
cmp eax, 0x4286b432
jbe 0x14004bce4
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0xd0]
mov r9d, dword [0x140252448]
xor r9d, 0x6c6af7a2
mov eax, dword [0x14025244c]
mov r8d, r9d
xor r8d, 0xffffffff
xor r9d, 0xffffffff
or r8d, r9d
and eax, eax
xor eax, 0xffffffff
xor r8d, 0xffffffff
xor eax, 0xffffffff
or r8d, eax
xor eax, eax
sub eax, 0xa6f5275e
sub r8d, eax
mov eax, r8d
and eax, 0x90339f8c
xor r8d, 0x90339f8c
or eax, r8d
mov r8d, 0xcea4d1c6
xor r8d, 0xe87c2b53
imul eax, r8d
add rdx, 8
mov qword [rsp + 0x90], rdx
cmp rcx, 0xfffffffffffffffe
setg cl
mov byte [rsp + 0x9f], cl
cmp eax, 0xdfbc0162
je 0x14004b57e
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xd8]
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], rax
jmp 0x14004b745
mov eax, dword [0x140252450]
xor edx, edx
div dword [0x140252454]
mov ecx, eax
and ecx, 0x7431dd16
mov edx, 0x54ad7f49
xor edx, 0xab5280b6
mov eax, ecx
xor eax, edx
and eax, 0x16d0d2d2
mov edx, 0x9cee51e0
xor edx, 0x8a3e8332
mov r8d, 0x63ff352a
xor r8d, 0x9c00cad5
xor edx, r8d
and ecx, edx
sub ecx, eax
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xbfd9e0aa
mov r8d, 0xffffffff
xor r8d, 0xbfd9e0aa
and edx, r8d
xor eax, 0xffffffff
mov r8d, 0x2167a473
xor r8d, 0xde985b8c
xor edx, r8d
and eax, edx
or ecx, 0xbfd9e0aa
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
cmp eax, 0x54c1c08
jb 0x14004bced
mov eax, dword [0x140252458]
mov ecx, 0x6793ddcb
xor ecx, 0xdfccd1d5
xor eax, ecx
sub eax, dword [0x14025245c]
or eax, 0x86724b3e
mov ecx, 0x5dac40c8
xor ecx, 0x18d0a052
sub eax, ecx
mov ecx, eax
xor ecx, 0x4eb1b115
xor ecx, 0xffffffff
and ecx, 0x4eb1b115
shl ecx, 1
sub ecx, 0x4eb1b115
sub eax, ecx
mov dword [rsp + 0x7c], eax
mov eax, 0x855ef655
xor eax, 0xc057d32f
mov dword [rsp + 0x78], eax
call fcn.140007e9d
mov ecx, dword [rsp + 0x78]
mov eax, dword [rsp + 0x7c]
cmp eax, ecx
jbe 0x14004b6d2
jmp 0x14004bc20
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x88]
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x70], rax
cmp rax, rcx
jge 0x14004bbd9
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0xd0]
mov rcx, qword [rcx]
mov qword [rsp + 0x60], rcx
cmp rax, rcx
jl 0x14004b8c7
mov ecx, dword [0x140252460]
mov edx, dword [0x140252464]
xor edx, 0xda9d573f
mov eax, ecx
xor eax, edx
xor edx, 0xffffffff
and ecx, edx
shl ecx, 1
sub ecx, eax
mov eax, ecx
and eax, 0x9ec83905
xor eax, 0xffffffff
and ecx, 0x9ec83905
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
or eax, 0x5ae179ee
mov ecx, eax
and ecx, 0x20e3833e
shl ecx, 1
add eax, 0x20e3833e
sub eax, ecx
cmp eax, 0x3339854
jbe 0x14004bcf6
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x60]
mov r8d, dword [0x140252468]
xor r8d, 0x493c970
add r8d, dword [0x14025246c]
mov eax, r8d
xor eax, 0xffffffff
mov r10d, 0x51065bdf
xor r10d, 0xaef9a420
mov r9d, r8d
xor r9d, r10d
or eax, r9d
and eax, 0x9787f9e9
xor eax, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0x9787f9e9
mov r10d, 0x5c97af10
xor r10d, 0xcb1056f9
mov r11d, 0xb6479950
xor r11d, 0x49b866af
xor r10d, r11d
or r9d, r10d
xor r8d, 0xffffffff
mov r10d, 0x38256cac
xor r10d, 0xc7da9353
xor r9d, r10d
or r8d, r9d
and eax, r8d
mov r8d, 0x62df317a
xor r8d, 0x9d20ce85
xor eax, r8d
and eax, 0xfba7cba4
mov r8d, 0xc784c362
xor r8d, 0xb6e71c61
and eax, r8d
mov dword [rsp + 0x5c], eax
mov eax, 0x7b88d65a
xor eax, 0x59769df2
mov dword [rsp + 0x58], eax
add rdx, 0xffffffffffffffff
call fcn.140013507
mov ecx, dword [rsp + 0x58]
mov eax, dword [rsp + 0x5c]
cmp eax, ecx
jb 0x14004bcf6
jmp 0x14004bc20
mov eax, dword [0x140252470]
xor edx, edx
div dword [0x140252474]
mov r11d, eax
xor r11d, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x9e12fab3
mov eax, 0xffffffff
xor eax, 0xfebbb48b
or r11d, ecx
or eax, 0xfebbb48b
xor r11d, 0xffffffff
and r11d, eax
xor r11d, 0x65c17c22
mov eax, 0xe28cdbd6
xor eax, 0x1d732429
mov ecx, r11d
xor ecx, eax
mov r8d, 0xffffffff
xor r8d, 0x59a9bb1f
mov edx, 0xffffffff
xor edx, 0x6df71818
mov r9d, 0x8d2fba48
xor r9d, 0xe0d8a250
mov eax, ecx
and eax, r9d
and r11d, edx
mov r10d, 0x2a1baacc
xor r10d, 0x47ecb2d4
mov r9d, r8d
and r9d, r10d
mov r10d, edx
and r10d, 0x59a9bb1f
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x6df71818
and ecx, edx
or eax, ecx
cmp eax, 0xccc6168a
ja 0x14004bcff
mov rcx, qword [rsp + 0xd0]
mov eax, dword [0x140252478]
xor eax, 0x326841d7
mov r8d, dword [0x14025247c]
mov edx, eax
xor edx, r8d
not edx
or eax, r8d
and eax, edx
add eax, 0x303dde0a
or eax, 0x2aa0b0d1
add eax, 0xc1473c5c
mov dword [rsp + 0x44], eax
mov eax, 0x505d927b
mov dword [rsp + 0x40], eax
call fcn.140045a73
mov r9, qword [rsp + 0xd0]
mov r8, qword [rsp + 0x68]
mov dl, byte [rsp + 0x9f]
mov ecx, dword [rsp + 0x40]
mov eax, dword [rsp + 0x44]
mov r9, qword [r9]
mov qword [rsp + 0x48], r9
sub r8, r9
setl r8b
and dl, r8b
mov byte [rsp + 0x57], dl
cmp eax, ecx
ja 0x14004b984
mov al, byte [rsp + 0x57]
test al, 1
jne 0x14004ba42
jmp 0x14004ba16
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x48]
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor r8d, r8d
sub r8, 1
sub rax, r8
sub rdx, rax
call fcn.140013507
jmp 0x14004bc20
mov eax, dword [0x140252480]
mov r8d, dword [0x140252484]
mov edx, r8d
xor edx, 0xffffffff
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov edx, eax
and edx, 0xd376e727
mov ecx, 0xd1d023b2
xor ecx, 0xd1d023b0
imul ecx, edx
add eax, 0xd376e727
sub eax, ecx
mov ecx, 0xc79fdd5e
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xd8a6f87b
mov edx, 0xffffffff
xor edx, 0xd8a6f87b
and ecx, edx
or eax, ecx
mov ecx, 0x9261a95c
xor ecx, 0x45168a84
cmp eax, ecx
jbe 0x14004bd08
mov rcx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x90]
mov r9d, dword [0x140252488]
mov eax, dword [0x14025248c]
xor eax, 0xf228bc6b
and r9d, eax
mov edx, r9d
xor edx, 0xdc6fecb7
mov eax, 0x82dcd844
xor eax, 0x5eb334f3
mov r10d, 0x4246eb3f
xor r10d, 0xbdb914c0
xor eax, r10d
and r9d, eax
mov eax, 0x6671158f
xor eax, 0x6671158d
imul eax, r9d
sub eax, edx
mov r10d, 0xffffffff
xor r10d, 0x173b3256
mov r9d, eax
and r9d, r10d
mov edx, eax
or edx, r10d
xor edx, 0xffffffff
imul edx, r9d
mov r9d, eax
and r9d, 0x173b3256
mov r10d, 0xbfcc2474
xor r10d, 0xa8f71622
or eax, r10d
imul eax, r9d
add eax, edx
mov r9d, 0x15466587
xor r9d, 0x2f82faa1
xor edx, edx
div r9d
mov rdx, qword [rsp + 0x70]
mov r8, qword [r8]
mov r9b, byte [r8 + rcx + 8]
mov byte [r8 + rdx + 8], r9b
movabs r8, 0x7ff93d7d39ad0320
movabs r9, 0x7ff93d7d39ad0321
xor r8, r9
add rdx, r8
mov qword [rsp + 0x30], rdx
movabs rdx, 0x779b55d610350305
movabs r8, 0x779b55d610350304
xor rdx, r8
add rcx, rdx
mov qword [rsp + 0x38], rcx
cmp eax, 0x62a99ce1
je 0x14004bd08
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], rax
jmp 0x14004b745
mov rax, qword [rsp + 0xa0]
cmp rax, 0
jge 0x14004bc0b
mov rcx, qword [rsp + 0xa0]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000cee2
jmp 0x14004bc20
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xd0]
call fcn.140014c40
mov eax, dword [0x140252490]
mov ecx, dword [0x140252494]
xor ecx, 0xbc8bed6b
add eax, ecx
sub eax, 0xa99a5a8f
mov edx, 0xe84f2327
xor edx, 0xe84f2326
mov ecx, eax
add ecx, edx
xor eax, 0xffffffff
or eax, 0xf07b6d24
add eax, ecx
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x68e403ac
add ecx, eax
xor eax, eax
sub eax, ecx
cmp eax, 0x619e07d0
jbe 0x14004bd11
sahf
invalid
mov eax, dword [0x140252498]
or eax, dword [0x14025249c]
mov ecx, 0x7f513072
xor edx, edx
div ecx
mov ecx, 0x98e87128
xor ecx, 0xa06454db
add eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xa6a59af6
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xa6a59af6
or eax, 0xa6a59af6
imul eax, edx
add eax, ecx
cmp eax, 0x7b1fa477
je 0x14004bd11
ja 0x14004bc66
invalid
add rsp, 0xe8
ret
pop rbp
jrcxz 0x14004bcc0
jns 0x14004bcc0
invalid
ror dword [rsi + 0x10e9b136], 0xf6
invalid
jg 0x14004bceb
cmpsb byte [rsi], byte [rdi]
mov ch, 0xe9
xchg ecx, eax
clc
invalid
push 0x59
and cl, cl
jmp 0x14004b6d2
lodsb al, byte [rsi]
sub al, 0xe7
jmp 0x14004b7e8
cmp bh, byte es:[rsi - 0x43]
jmp 0x14004b984
pop rcx
int 0xb2
xlatb
jmp 0x14004bab6
mov ch, 0x3e
mov bh, 0xfc
jmp 0x14004bc6e