Function at 0x1400624c0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x108
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x48], rcx
mov eax, 0x10
mov qword [rbp + 0x38], rax
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp + 0x38]
mov rcx, rsp
mov qword [rbp + 0x50], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x40], rax
sub rsp, 0x20
call fcn.14004e8b3
mov rcx, qword [rbp + 0x48]
mov r8, qword [rbp + 0x50]
add rsp, 0x20
mov qword [rbp + 0x58], rax
movabs rax, 0xcc3dc4489bc5774c
movabs rdx, 0xcc3dc4489bc5774c
xor rax, rdx
mov qword [rbp + 0x78], rax
lea rax, [rbp + 0x78]
add rax, 8
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x80], 0
mov rcx, qword [rcx]
mov edx, 2
sub rsp, 0x20
call fcn.14004f720
add rsp, 0x20
test al, 1
jne 0x14006256d
jmp 0x14006257f
sub rsp, 0x20
call fcn.140007e9d
add rsp, 0x20
jmp 0x140063070
mov rax, qword [rbp + 0x50]
mov rax, qword [rax]
mov qword [rbp + 0x30], rax
cmp rax, 0
jge 0x1400625b8
mov rcx, qword [rbp + 0x30]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000cee2
add rsp, 0x20
jmp 0x140063070
mov rdx, qword [rbp + 0x30]
lea rcx, [rbp + 0x78]
sub rsp, 0x20
call fcn.1400186d7
mov r8, qword [rbp + 0x48]
mov rax, qword [rbp + 0x60]
add rsp, 0x20
mov rdx, qword [r8]
mov qword [rbp + 0x10], rdx
mov rcx, r8
add rcx, 8
mov qword [rbp + 0x18], rcx
mov rcx, qword [r8 + 8]
mov r9, qword [rbp + 0x78]
mov qword [r8], r9
mov r9, qword [rbp + 0x80]
mov qword [r8 + 8], r9
mov qword [rbp + 0x78], rdx
mov qword [rax], rcx
lea rax, [rbp + 0x68]
add rax, 8
mov qword [rbp + 0x20], rax
xor eax, eax
mov qword [rbp + 0x28], rax
mov rcx, qword [rbp + 0x10]
mov rax, qword [rbp + 0x28]
mov qword [rbp + 8], rax
cmp rax, rcx
jge 0x14006304d
mov rcx, qword [rbp + 8]
test rcx, rcx
setns al
mov rdx, qword [rbp + 0x78]
mov qword [rbp], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x140062681
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp]
movabs rax, 0xd271f97780ed142e
movabs r8, 0x2d8e06887f12ebd1
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140013507
add rsp, 0x20
jmp 0x140063070
mov eax, dword [0x140252dc0]
and eax, dword [0x140252dc4]
mov edx, 0x6f36a0b7
xor edx, 0x1cbf71b1
mov ecx, eax
xor ecx, edx
mov edx, 0x7cd4a6ca
xor edx, 0xf5d77cc
mov r8d, 0x4e8cad23
xor r8d, 0xb17352dc
xor edx, r8d
and eax, edx
shl eax, 1
sub eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x789d5e34
mov r8d, 0xffffffff
xor r8d, 0x789d5e34
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x99f4ef2c
xor r8d, 0xe169b118
mov edx, eax
and edx, r8d
mov r8d, 0x6c82eba
xor r8d, 0x7e55708e
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0xb68e757b
shl ecx, 1
mov edx, 0x513bfc75
xor edx, 0xe7b5890e
add eax, edx
sub eax, ecx
cmp eax, 0xfbbf8b00
je 0x14006307a
mov rcx, qword [rbp + 0x58]
mov r8, qword [rbp + 8]
mov rdx, qword [rbp + 0x60]
mov eax, dword [0x140252dc8]
xor eax, 0x10fe8b3
mov r9d, dword [0x140252dcc]
imul eax, r9d
add eax, 0x7a8faf60
or eax, 0xfe1b933f
mov rdx, qword [rdx]
shl r8, 5
mov rdx, qword [rdx + r8 + 8]
mov qword [rbp - 0x10], rdx
test rdx, rdx
sete dl
mov cl, byte [rcx]
test cl, cl
setne cl
mov byte [rbp - 2], cl
or cl, dl
mov byte [rbp - 1], cl
cmp eax, 0x536bf21d
jbe 0x14006272a
mov al, byte [rbp - 1]
test al, 1
jne 0x140062d99
jmp 0x140062796
mov rdx, qword [rbp - 0x10]
mov rax, qword [rbp + 0x48]
mov rcx, qword [rax]
movabs rax, 0x79991a8c1126244e
sub rcx, rax
movabs rax, 0x34ee0fcacd7beb58
movabs r8, 0xcb11f035328414a7
xor rax, r8
add rcx, rax
movabs rax, 0x780ae1d667f0c414
movabs r8, 0x193fb5a76d6e05a
xor rax, r8
add rcx, rax
mov rax, rcx
and rax, rdx
xor rax, 0xffffffffffffffff
and rcx, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0x4a3f6c75ef076f5f
movabs rdx, 0xb5c0938a10f890a0
xor rcx, rdx
xor rax, rcx
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x20], rax
mov eax, dword [0x140252dd0]
mov r8d, dword [0x140252dd4]
mov ecx, 0x7a8ba5e3
xor ecx, 0x85745a1c
mov r9d, r8d
xor r9d, ecx
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
imul eax, eax, 0xd4c01be7
mov ecx, eax
xor ecx, 0x1cfaa10c
mov edx, 0xf7e216fa
xor edx, 0x81de905
xor ecx, edx
or eax, 0x1cfaa10c
and eax, ecx
imul eax, eax, 0x2a817aef
cmp eax, 0x81987067
je 0x140063083
mov r8, qword [rbp + 0x48]
mov eax, dword [0x140252dd8]
mov ecx, dword [0x140252ddc]
xor ecx, 0x1f9eb05c
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x20]
mov ecx, eax
not ecx
and ecx, 0xe459d79
and eax, 0xf1ba6286
sub eax, ecx
add eax, 0x6bf37902
test rdx, rdx
setns cl
mov r8, qword [r8]
mov qword [rbp - 0x30], r8
sub rdx, r8
setl dl
and cl, dl
mov byte [rbp - 0x21], cl
cmp eax, 0x7415450a
ja 0x14006288a
mov al, byte [rbp - 0x21]
test al, 1
jne 0x140062925
jmp 0x1400628f1
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x30]
movabs rax, 0xf8465f7dc55fce3e
movabs r8, 0x7b9a0823aa031c1
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140013507
add rsp, 0x20
jmp 0x140063070
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
add rax, 8
shl rcx, 5
add rax, rcx
mov rax, qword [rax]
movabs rcx, 0xbd64e010b6d11574
movabs rdx, 0xbd64e010b6d11574
xor rcx, rdx
cmp rax, rcx
je 0x140062993
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.14004fa4c
mov rcx, qword [rbp + 0x58]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0xc
xor dl, 0xc
cmp cl, dl
mov qword [rbp - 0x18], rax
je 0x140062814
jmp 0x140063070
mov rax, qword [rbp + 8]
mov rcx, qword [rbp + 0x78]
mov qword [rbp - 0x38], rcx
cmp rax, rcx
jl 0x1400629dc
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp - 0x38]
movabs rax, 0x9a8389b261186b20
movabs r8, 0x657c764d9ee794df
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140013507
add rsp, 0x20
jmp 0x140063070
mov rax, qword [rbp + 8]
mov rcx, qword [rbp + 0x60]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 8
mov rax, qword [rcx]
mov qword [rbp - 0x50], rax
mov rax, qword [rcx + 8]
mov qword [rbp - 0x48], rax
sub rsp, 0x20
call fcn.1400102b5
mov rax, qword [rbp + 8]
add rsp, 0x20
mov rcx, qword [rbp + 0x78]
mov qword [rbp - 0x40], rcx
cmp rax, rcx
jl 0x140062b71
mov r11d, dword [0x140252de0]
mov r10d, dword [0x140252de4]
mov ecx, r11d
xor ecx, 0xffffffff
mov eax, 0xff6c403a
xor eax, 0x93bfc5
mov r8d, r10d
xor r8d, eax
mov edx, 0xffffffff
xor edx, 0x19f09990
mov eax, ecx
and eax, 0x19f09990
and r11d, edx
mov r9d, r8d
and r9d, 0x19f09990
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x19f09990
and ecx, edx
or eax, ecx
mov edx, 0x4ac71a28
xor edx, 0x4ac71a29
mov ecx, eax
add ecx, edx
xor eax, 0xffffffff
or eax, 0x5c5db7f2
add eax, ecx
mov ecx, 0xfe3c98fc
xor ecx, 0xc384a33c
sub eax, ecx
mov ecx, 0x75ac48eb
xor ecx, 0xaeba0e66
mov edx, 0xc547607
xor edx, 0xf3ab89f8
xor ecx, edx
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0x81dd0146
xor ecx, 0x6bdc7646
cmp eax, ecx
je 0x14006308c
mov rcx, qword [rbp + 8]
mov edx, dword [0x140252de8]
mov eax, dword [0x140252dec]
xor eax, 0x4a73c406
or edx, eax
xor eax, eax
sub eax, 0x4d788905
sub edx, eax
mov r8d, 0xffffffff
xor r8d, 0x38ff31b1
mov eax, edx
xor eax, r8d
and eax, edx
mov r8d, 0xf15b5e02
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x40]
mov dword [rbp - 0x54], eax
movabs rax, 0xde4aa9bac95bd9f4
sub rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0x60858e4dfa68494f
movabs r8, 0xbecf27f7333390bb
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140013507
mov eax, dword [rbp - 0x54]
add rsp, 0x20
cmp eax, 0xba385bbf
ja 0x140062ae0
jmp 0x140063070
mov rax, qword [rbp + 8]
mov rcx, qword [rbp + 0x60]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 0x18
mov rax, qword [rcx]
mov qword [rbp - 0x60], rax
sub rsp, 0x20
call fcn.140029f3b
mov r11, qword [rbp - 0x50]
mov r8, qword [rbp - 0x48]
mov rcx, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x48]
mov r9, qword [rbp - 0x60]
mov r10, qword [rbp - 0x10]
mov rax, qword [rbp - 0x20]
add rsp, 0x20
mov qword [rbp + 0x68], r11
mov qword [rcx], r8
lea r8, [rbp + 0x68]
sub rsp, 0x30
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rax
call fcn.14006235e
mov rax, qword [rbp + 0x58]
add rsp, 0x30
mov al, byte [rax]
mov cl, 0xb8
xor cl, 0xb8
cmp al, cl
jne 0x140063070
mov ecx, dword [0x140252df0]
mov edx, dword [0x140252df4]
mov r8d, ecx
xor r8d, 0xffffffff
mov eax, edx
and eax, r8d
mov r8d, 0xe61a1e96
xor r8d, 0x19e5e169
xor edx, r8d
and ecx, edx
or eax, ecx
xor eax, 0xe9309b3
mov ecx, 0x1390b054
xor ecx, 0xe4632fe8
and eax, ecx
mov ecx, eax
and ecx, 0xdef7038a
xor ecx, 0xffffffff
mov edx, 0x15c21f8
xor edx, 0xdfab2272
add eax, edx
add eax, 1
add eax, ecx
cmp eax, 0xdb7fbdd5
jbe 0x140063095
mov rcx, qword [rbp - 0x48]
mov r8d, dword [0x140252df8]
mov edx, dword [0x140252dfc]
xor edx, 0x7d791879
mov eax, 0xc37e26f7
xor eax, 0x3c81d908
mov esi, r8d
xor esi, eax
and esi, 0xdeda4727
mov r9d, 0xffffffff
xor r9d, 0xdeda4727
and r8d, r9d
mov eax, edx
xor eax, 0xffffffff
and eax, 0xdeda4727
and edx, r9d
or esi, r8d
or eax, edx
xor esi, eax
mov eax, esi
xor eax, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xb2fbf384
mov r8d, 0xffffffff
xor r8d, 0xe7456b13
mov edx, eax
and edx, 0xe7456b13
and esi, r8d
mov r10d, r9d
and r10d, 0xe7456b13
mov r11d, r8d
and r11d, 0xb2fbf384
or edx, esi
or r10d, r11d
xor edx, r10d
or eax, r9d
xor eax, 0xffffffff
or r8d, 0xe7456b13
and eax, r8d
or edx, eax
xor edx, 0xe26c551e
mov eax, edx
and eax, 0xe4e158c3
xor edx, 0xe4e158c3
or eax, edx
cmp rcx, 0
sete cl
mov byte [rbp - 0x61], cl
cmp eax, 0x4c4b7ea9
jb 0x140062c56
mov al, byte [rbp - 0x61]
test al, 1
jne 0x140062e79
jmp 0x140062d38
mov rax, qword [rbp - 0x48]
mov rax, qword [rax]
movabs rdx, 0x4000000000000000
mov rcx, rax
xor rcx, rdx
movabs rdx, 0x9dd517c9412c20e6
movabs r8, 0x622ae836bed3df19
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x4000000000000000
or rax, rdx
and rax, rcx
cmp rax, 0
jne 0x140062e79
mov rcx, qword [rbp - 0x48]
sub rsp, 0x20
call fcn.14000e9f6
add rsp, 0x20
jmp 0x140062e79
mov eax, dword [0x140252e00]
mov r8d, dword [0x140252e04]
mov ecx, 0xa63a7d76
xor ecx, 0x1f8d930d
xor r8d, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xf2866076
xor ecx, 0x848ae582
imul eax, ecx
or eax, 0x63b724e7
mov ecx, eax
and ecx, 0xabecf520
xor ecx, 0xffffffff
add eax, 0xabecf520
add eax, 1
add eax, ecx
cmp eax, 0xf4cd6732
jb 0x14006309e
mov eax, dword [0x140252e08]
mov edx, dword [0x140252e0c]
xor edx, 0xc3d1d0c9
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, edx
add eax, ecx
mov ecx, 0xe4026227
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0x278ba4d6
mov eax, ecx
and eax, 0x2c885a30
mov edx, 0xf53b3b35
xor edx, 0xd9b36105
xor ecx, edx
or eax, ecx
cmp eax, 0x1b4139fb
jb 0x140062e0b
mov rcx, qword [rbp + 8]
mov dl, byte [rbp - 2]
xor eax, eax
test dl, 1
mov qword [rbp - 0x70], rcx
mov byte [rbp - 0x62], al
jne 0x140062f44
jmp 0x140062e79
mov r9, qword [rbp + 8]
xor eax, eax
sub rax, r9
xor ecx, ecx
sub rcx, 1
add rax, rcx
xor ecx, ecx
sub rcx, rax
movabs rdx, 0x685224cfbfa3134b
movabs rax, 0x97addb30405cecb4
xor rdx, rax
mov rax, r9
xor rax, rdx
movabs rdx, 0x52bde947de5db628
and rax, rdx
mov r8, 0xffffffffffffffff
movabs rdx, 0x52bde947de5db628
xor r8, rdx
and r9, r8
mov rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
movabs r10, 0x391122db1d34c973
movabs r11, 0x6baccb9cc3697f5b
xor r10, r11
and rdx, r10
and r8, 0xffffffffffffffff
or rax, r9
or rdx, r8
xor rax, rdx
mov rdx, rcx
and rdx, rax
movabs r8, 0xeb6bb89d7a936295
movabs rax, 0xeb6bb89d7a936295
xor r8, rax
mov al, 1
cmp rdx, r8
mov qword [rbp - 0x70], rcx
mov byte [rbp - 0x62], al
jge 0x140062f44
sub rsp, 0x20
call fcn.140007e9d
add rsp, 0x20
jmp 0x140063070
mov rax, qword [rbp - 0x70]
mov cl, byte [rbp - 0x62]
mov byte [rbp - 0x79], cl
mov qword [rbp - 0x78], rax
mov eax, dword [0x140252e10]
xor edx, edx
div dword [0x140252e14]
or eax, 0x7b4404bd
mov ecx, eax
xor ecx, 0xc02df2c3
xor ecx, 0xffffffff
mov edx, 0x899d532a
xor edx, 0x49b0a1e9
or eax, edx
and eax, ecx
and eax, 0xf4d3b6de
mov ecx, 0x1bd59663
xor ecx, 0x735589d8
cmp eax, ecx
je 0x1400630a7
mov edx, dword [0x140252e18]
mov ecx, dword [0x140252e1c]
xor ecx, 0x51da2330
mov eax, edx
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
or ecx, ecx
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
imul ecx, eax, 0x1e2c2aa3
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xe0cb5cd
or eax, edx
mov edx, 0x65b56c47
xor edx, 0x6bb9d98a
mov r8d, 0xf5bb1d05
xor r8d, 0xa44e2fa
xor edx, r8d
mov r8d, 0xe60feff3
xor r8d, 0xe8035a3e
mov r9d, 0x2f989f5f
xor r9d, 0xd06760a0
xor r8d, r9d
or edx, r8d
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
or eax, 0x999aa411
cmp eax, 0x38ebca2c
jbe 0x1400630a7
mov rax, qword [rbp - 0x78]
mov cl, byte [rbp - 0x79]
test cl, 1
mov qword [rbp + 0x28], rax
jne 0x140062616
invalid
jmp 0x140063070
mov rcx, qword [rbp + 0x40]
mov rax, qword [rbp + 0x78]
mov qword [rcx], rax
mov rax, qword [rbp + 0x80]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.140051620
add rsp, 0x20
lea rsp, [rbp + 0x88]
pop rsi
pop rbp
ret
in eax, 0xff
invalid
jae 0x14006308c
jge fcn.1400630b0
jmp 0x14006288a
invalid
invalid
mov edx, 0xe98a8d61
std
invalid
je 0x140063044
invalid