Function at 0x140047c50
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xe0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x58], rcx
mov eax, dword [0x1401d7200]
mov ecx, dword [0x1401d7204]
add eax, 0x6e11cd04
sub eax, ecx
sub eax, 0x6e11cd04
xor eax, 0xd989261e
and eax, 0x78f567da
or eax, 0xfe339556
mov ecx, 0xf6bef247
xor ecx, 0xc37447aa
cmp eax, ecx
je 0x140048461
mov eax, dword [0x1401d7208]
mov ecx, dword [0x1401d720c]
xor ecx, 0xc4e9ca0d
xor edx, edx
div ecx
imul eax, eax, 0x45193980
or eax, 0xe081040
and eax, 0xe095440
mov dword [rbp + 0x50], eax
mov eax, 0xf9865376
mov dword [rbp + 0x4c], eax
mov eax, 0x10
mov qword [rbp + 0x18], rax
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0x18]
mov rcx, rsp
mov qword [rbp + 0x28], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0x18]
mov rcx, rsp
mov qword [rbp + 0x30], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x20], rax
sub rsp, 0x20
call fcn.1400476b5
mov rcx, qword [rbp + 0x28]
mov r8, qword [rbp + 0x30]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x58]
mov qword [rbp + 0x38], rdx
mov qword [rcx], 0
mov rdx, rcx
add rdx, 8
mov qword [rbp + 0x40], rdx
mov qword [rcx + 8], 0
mov rcx, qword [rax]
mov edx, 2
sub rsp, 0x20
call fcn.14004847c
mov ecx, dword [rbp + 0x4c]
add rsp, 0x20
mov dl, al
mov eax, dword [rbp + 0x50]
mov byte [rbp + 0x57], dl
cmp eax, ecx
je 0x140047c9e
mov al, byte [rbp + 0x57]
test al, 1
jne 0x140047d7f
jmp 0x140047d91
sub rsp, 0x20
call fcn.1400077a3
add rsp, 0x20
jmp 0x14004845b
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
mov qword [rbp + 0x10], rax
movabs rcx, 0x402ecce290f10a47
movabs rdx, 0x402ecce290f10a47
xor rcx, rdx
cmp rax, rcx
jge 0x140047de0
mov rcx, qword [rbp + 0x10]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000d167
add rsp, 0x20
jmp 0x14004845b
mov eax, dword [0x1401d7210]
mov ecx, dword [0x1401d7214]
xor ecx, 0x2a51e8ed
sub eax, ecx
and eax, 0xc3e41060
mov ecx, 0x6fea15af
xor ecx, 0x9015ea50
mov edx, eax
xor edx, ecx
and edx, 0x77e1f49e
mov r8d, 0xd965104d
xor r8d, 0xae84e4d3
mov ecx, 0x1eb078ba
xor ecx, 0xe14f8745
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x77e1f49e
or eax, 0x77e1f49e
imul eax, edx
add eax, ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0xb054701b
add eax, ecx
cmp eax, 0xe9c2adc0
ja 0x14004846a
mov rcx, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x10]
mov eax, dword [0x1401d7218]
mov r10d, dword [0x1401d721c]
xor r10d, 0x678e4fad
mov r9d, eax
and r9d, r9d
mov r8d, 0x31f37ffc
xor r8d, 0xce0c8003
xor r9d, r8d
xor r9d, 0xffffffff
mov r11d, 0x32bbf89c
xor r11d, 0xcd440763
mov r8d, r10d
xor r8d, r11d
or r9d, r8d
mov r8d, r10d
xor r8d, 0xffffffff
xor r10d, 0xffffffff
or r8d, r10d
and eax, r8d
mov r8d, 0x6cbd0438
xor r8d, 0x9342fbc7
xor eax, r8d
mov r8d, 0x49e01764
xor r8d, 0xb61fe89b
xor r9d, r8d
xor eax, 0xffffffff
or r9d, eax
add r9d, 0x3dcfd925
mov eax, r9d
xor eax, 0x86141b33
mov r8d, 0xffffffff
xor r8d, 0x86141b33
and r9d, r8d
mov r8d, 0x44a3f2fe
xor r8d, 0x44a3f2fc
imul r8d, r9d
sub r8d, eax
mov r9d, 0xffffffff
xor r9d, 0x34b42406
mov eax, r8d
xor eax, r9d
and eax, r8d
mov dword [rbp - 4], eax
sub rsp, 0x20
call fcn.14001678c
mov r10, qword [rbp + 0x58]
mov r8, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x40]
mov eax, dword [rbp - 4]
add rsp, 0x20
mov r9, qword [r10]
mov qword [rbp], r9
mov rdx, r10
add rdx, 8
mov qword [rbp + 8], rdx
mov rdx, qword [r10 + 8]
mov r11, qword [r8]
mov qword [r10], r11
mov r11, qword [r8 + 8]
mov qword [r10 + 8], r11
mov qword [r8], r9
mov qword [rcx], rdx
cmp eax, 0xcd547d30
jae 0x140047e5d
xor eax, eax
mov qword [rbp - 0x10], rax
jmp 0x140047f88
mov rcx, qword [rbp]
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x18], rax
cmp rax, rcx
jge 0x140048438
mov eax, dword [0x1401d7220]
xor eax, 0x502dde4e
mov ecx, dword [0x1401d7224]
xor ecx, 0x29ee21d4
xor eax, ecx
mov ecx, 0x19cb0a70
xor ecx, 0x3cbf1db2
imul eax, ecx
mov ecx, eax
xor ecx, 0xa4e726f
xor ecx, 0xffffffff
and ecx, 0xa4e726f
shl ecx, 1
sub ecx, 0xa4e726f
sub eax, ecx
mov ecx, eax
xor ecx, 0x86e65ddc
mov edx, 0xffffffff
xor edx, 0x86e65ddc
and eax, edx
shl eax, 1
sub eax, ecx
mov ecx, 0x52666f44
xor ecx, 0xe91dbfd5
cmp eax, ecx
ja 0x140048473
mov r8, qword [rbp - 0x18]
mov r9, qword [rbp + 0x28]
xor eax, eax
mov ecx, 0xdc1a8389
test r8, r8
setns dl
mov r9, qword [r9]
mov qword [rbp - 0x28], r9
sub r8, r9
setl r8b
and dl, r8b
mov byte [rbp - 0x19], dl
cmp eax, ecx
je 0x140048473
mov al, byte [rbp - 0x19]
test al, 1
jne 0x140048071
jmp 0x14004804e
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x28]
xor eax, eax
sub rax, 0xffffffffffffffff
sub rdx, rax
sub rsp, 0x20
call fcn.140013580
add rsp, 0x20
jmp 0x14004845b
mov rax, qword [rbp + 0x38]
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp + 0x40]
mov rcx, qword [rcx]
lea rdx, [rdx + rdx*2]
mov rcx, qword [rcx + rdx*8 + 8]
mov qword [rbp - 0x38], rcx
test rcx, rcx
sete cl
mov al, byte [rax]
test al, al
setne al
mov byte [rbp - 0x29], al
or al, cl
test al, 1
jne 0x140048314
mov rdx, qword [rbp - 0x38]
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax]
movabs rax, 0xc40f73ebcb358a86
add rcx, rax
add rcx, 0xffffffffffffffff
movabs rax, 0xc40f73ebcb358a86
sub rcx, rax
mov rax, rcx
and rax, rdx
xor rax, 0xffffffffffffffff
movabs r8, 0xe497682d21e2c79b
movabs r9, 0x1b6897d2de1d3864
xor r8, r9
xor rcx, r8
xor rdx, 0xffffffffffffffff
or rcx, rdx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
or rax, rcx
mov qword [rbp - 0x40], rax
mov rdx, qword [rbp + 0x58]
mov rcx, qword [rbp - 0x40]
mov qword [rbp - 0x50], rcx
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x48], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x140048171
mov rcx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x48]
movabs r8, 0x5a4daad24569c733
movabs rdx, 0xa5b2552dba9638cc
xor r8, rdx
mov rdx, rax
and rdx, r8
or rax, 0xffffffffffffffff
add rdx, rax
sub rsp, 0x20
call fcn.140013580
add rsp, 0x20
jmp 0x14004845b
mov rcx, qword [rbp - 0x50]
mov rax, qword [rbp + 8]
mov rax, qword [rax]
add rax, 8
imul rcx, rcx, 0x18
add rax, rcx
cmp qword [rax], 0
je 0x1400481c6
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x48]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140048560
mov rcx, qword [rbp + 0x38]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0xa
xor dl, 0xa
cmp cl, dl
mov qword [rbp - 0x40], rax
je 0x14004810a
jmp 0x14004845b
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp + 0x28]
mov rcx, qword [rcx]
mov qword [rbp - 0x58], rcx
cmp rax, rcx
jl 0x140048223
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x58]
movabs rax, 0x854999fe17fe328d
sub rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0x992ce2d198613d9f
movabs r8, 0x1c657b2f8f9f0f12
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140013580
add rsp, 0x20
jmp 0x14004845b
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp + 0x40]
mov rcx, qword [rcx]
add rcx, 8
imul rax, rax, 0x18
add rcx, rax
add rcx, 8
mov eax, dword [rcx]
mov dword [rbp - 0x64], eax
sub rsp, 0x20
call fcn.1400167b6
mov rcx, qword [rbp + 0x28]
mov rax, qword [rbp - 0x18]
add rsp, 0x20
mov rcx, qword [rcx]
mov qword [rbp - 0x60], rcx
cmp rax, rcx
jl 0x1400482a9
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x60]
movabs rax, 0x36cba468a40b24bb
movabs r8, 0x36cba468a40b24bb
xor rax, r8
sub rax, rdx
xor edx, edx
sub rdx, 0xffffffffffffffff
add rax, rdx
xor edx, edx
sub rdx, rax
sub rsp, 0x20
call fcn.140013580
add rsp, 0x20
jmp 0x14004845b
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp + 0x40]
mov rcx, qword [rcx]
add rcx, 8
imul rax, rax, 0x18
add rcx, rax
add rcx, 0x10
mov rax, qword [rcx]
mov qword [rbp - 0x70], rax
sub rsp, 0x20
call fcn.14008f330
mov rdx, qword [rbp + 0x58]
mov r8d, dword [rbp - 0x64]
mov r9, qword [rbp - 0x70]
mov r10, qword [rbp - 0x38]
mov rax, qword [rbp - 0x50]
add rsp, 0x20
sub rsp, 0x30
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rax
call fcn.1400479d0
mov rax, qword [rbp + 0x38]
add rsp, 0x30
cmp byte [rax], 0
je 0x140048332
jmp 0x14004845b
mov rcx, qword [rbp - 0x18]
mov dl, byte [rbp - 0x29]
xor eax, eax
test dl, 1
mov qword [rbp - 0x80], rcx
mov byte [rbp - 0x71], al
jne 0x14004841f
jmp 0x140048332
mov rax, qword [rbp - 0x18]
mov rcx, rax
add rcx, 1
mov r8, rax
or r8, r8
xor r8, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
movabs r9, 0x2879e4539a3200c6
movabs r10, 0xd7861bac65cdff39
xor r9, r10
movabs r10, 0x444e50efc7e7a9f7
movabs r11, 0xbbb1af1038185608
xor r10, r11
xor r9, r10
and rdx, r9
xor r8, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and r8, rdx
or rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
movabs rdx, 0x412288c00cb60441
movabs r9, 0xbedd773ff349fbbe
xor rdx, r9
xor r8, rdx
xor rax, 0xffffffffffffffff
and r8, rax
mov rdx, rcx
xor rdx, 0xffffffffffffffff
mov rax, rcx
xor rax, 0xffffffffffffffff
and rdx, rax
mov rax, r8
xor rax, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rax, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0x6a36fd1db4372aef
movabs r9, 0x95c902e24bc8d510
xor r8, r9
xor rax, r8
and rdx, rax
mov al, 1
cmp rdx, 0
mov qword [rbp - 0x80], rcx
mov byte [rbp - 0x71], al
jge 0x14004841f
sub rsp, 0x20
call fcn.1400077a3
add rsp, 0x20
jmp 0x14004845b
mov rax, qword [rbp - 0x80]
mov cl, byte [rbp - 0x71]
test cl, 1
mov qword [rbp - 0x10], rax
jne 0x140047f88
jmp 0x14004845b
mov rcx, qword [rbp + 0x20]
mov rax, qword [rbp + 0x28]
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.140046e90
add rsp, 0x20
lea rsp, [rbp + 0x60]
pop rbp
ret
stosq qword [rdi], rax
js 0x1400484a2
jmp 0x140047c9e
invalid
in eax, dx
movabs eax, dword [0x48fffffb91e91c6e]
sub rsp, 0x58
ror byte [rcx - 0x77], 0xd1