Function at 0x1400f8ba0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x78
lea rbp, [rsp + 0x70]
mov qword [rbp - 0x18], r8
mov qword [rbp - 0x10], rdx
mov qword [rbp - 0x28], rcx
mov eax, 0x10
call fcn.14024f5c0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x20], rax
sub rsp, 0x20
call fcn.1400eb12e
mov rcx, qword [rbp - 0x20]
add rsp, 0x20
mov edx, 8
sub rsp, 0x20
call fcn.1400ef380
mov r8, qword [rbp - 0x18]
mov rax, qword [rbp - 0x10]
add rsp, 0x20
mov rdx, rax
xor rdx, r8
xor r8, 0xffffffffffffffff
and rax, r8
shl rax, 1
sub rax, rdx
mov qword [rbp - 8], rax
cmp rax, 1
jl 0x1400f968f
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x18]
mov rdx, rax
add rdx, rcx
mov qword [rbp - 0x38], rdx
mov al, byte [rax + rcx]
mov byte [rbp - 0x2d], al
movzx ecx, al
mov dword [rbp - 0x2c], ecx
cmp al, 0xff
jle 0x1400f8d64
mov eax, dword [0x1402570d0]
mov edx, dword [0x1402570d4]
mov ecx, eax
and ecx, edx
or eax, edx
add ecx, eax
mov eax, ecx
xor eax, 0x3d1b8b8
mov edx, 0xffffffff
xor edx, 0x3d1b8b8
and ecx, edx
shl ecx, 1
sub ecx, eax
or ecx, 0x3995fb62
mov edx, 0x82afe53c
xor edx, 0x7d501ac3
mov eax, ecx
xor eax, edx
mov edx, 0xffffffff
xor edx, 0x94762a66
and eax, edx
or ecx, 0x94762a66
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
cmp eax, 0xa951c5a7
jbe 0x1400f969d
mov ecx, dword [rbp - 0x2c]
mov eax, dword [0x1402570d8]
mov r9d, dword [0x1402570dc]
mov edx, eax
xor edx, 0xffffffff
mov r8d, r9d
and r8d, edx
mov r10d, r9d
xor r10d, 0xffffffff
mov edx, eax
and edx, r10d
imul edx, r8d
mov r8d, eax
and r8d, r9d
or eax, r9d
imul eax, r8d
add eax, edx
mov edx, eax
xor edx, 0x9e0c1393
xor edx, 0xffffffff
mov r8d, 0xa6a6a2f0
xor r8d, 0x38aab163
and r8d, edx
mov edx, 0xa2203b9a
xor edx, 0xa2203b98
imul edx, r8d
sub edx, 0x9e0c1393
sub eax, edx
xor eax, 0x1ee31fe9
mov edx, eax
xor edx, 0x2d38a4a6
mov r8d, 0xffffffff
xor r8d, 0x2d38a4a6
and eax, r8d
shl eax, 1
sub eax, edx
mov dword [rbp - 0x3c], eax
sub rsp, 0x20
call fcn.1400f96c1
mov rcx, qword [rbp - 0x20]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x3c]
mov qword [rcx], rdx
cmp eax, 0x80b888cf
je 0x1400f8ca9
jmp 0x1400f968f
mov rax, qword [rbp - 8]
cmp rax, 1
je 0x1400f968f
mov rax, qword [rbp - 8]
cmp rax, 3
jbe 0x1400f9291
mov eax, dword [0x1402570e0]
xor eax, 0xba9a0735
xor edx, edx
div dword [0x1402570e4]
mov ecx, 0x3b1c4154
xor ecx, 0xa65ce61d
and ecx, eax
mov edx, 0x85b95a14
xor edx, 0x7a46a5eb
xor ecx, edx
mov edx, 0xc37944ff
xor edx, 0x5e39e3b6
add eax, edx
mov edx, 0xe07cdff8
xor edx, 0xe07cdff9
add eax, edx
add eax, ecx
add eax, 0x136d8b24
mov ecx, 0xeded696d
xor edx, edx
div ecx
cmp eax, 0x1f378462
jae 0x1400f96a6
mov rdx, qword [rbp - 0x38]
mov eax, dword [0x1402570e8]
or eax, dword [0x1402570ec]
mov ecx, eax
and ecx, 0xa448ea62
shl ecx, 1
xor eax, 0xa448ea62
add eax, ecx
and eax, 0x2d9bdaa7
or eax, 0x6f3d1733
mov dword [rbp - 0x4c], eax
mov dword [rbp + 4], 0
lea rcx, [rbp + 4]
mov r8d, 4
sub rsp, 0x20
call fcn.1400ed510
mov eax, dword [rbp - 0x4c]
add rsp, 0x20
mov r8d, dword [rbp + 4]
mov dword [rbp - 0x48], r8d
mov ecx, r8d
and ecx, 0xc0e0
mov edx, r8d
xor edx, 0xffffffff
xor r8d, 0xffffffff
and edx, r8d
mov r8d, 0xc0c0c0f8
or r8d, 0xc0c0c0f8
mov r9d, 0xdfa84492
xor r9d, 0x2057bb6d
xor r8d, r9d
or edx, r8d
mov r8d, 0xe2e63140
xor r8d, 0x1d19cebf
xor edx, r8d
mov dword [rbp - 0x44], edx
mov edx, 0xb0be9843
xor edx, 0xb0be1883
cmp ecx, edx
sete cl
mov byte [rbp - 0x3d], cl
cmp eax, 0x298f3e6a
je 0x1400f8de2
mov al, byte [rbp - 0x3d]
test al, 1
jne 0x1400f8eb1
jmp 0x1400f8fe1
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x18]
mov edx, dword [rbp - 0x2c]
shl edx, 6
mov r11d, edx
and r11d, 0x7c0
xor r11d, 0xffffffff
xor edx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x7c0
or edx, r8d
and r11d, edx
xor r11d, 0xffffffff
xor edx, edx
sub rdx, rcx
movabs rcx, 0x835ef1963dfd3603
movabs r8, 0x835ef1963dfd3603
xor rcx, r8
movabs r8, 0x421d3c2e55c364d1
movabs r9, 0x421d3c2e55c364d0
xor r8, r9
sub rcx, r8
add rdx, rcx
movabs rcx, 0x5a87d718e39d9192
movabs r8, 0x5a87d718e39d9192
xor rcx, r8
sub rcx, rdx
mov al, byte [rax + rcx]
and al, 0x3f
movzx r10d, al
mov eax, 0xe31b48b7
xor eax, 0x1ce4b748
mov ecx, r11d
xor ecx, eax
mov eax, 0x598e6815
xor eax, 0xa67197ea
mov edx, r10d
xor edx, eax
mov r8d, 0xffffffff
xor r8d, 0xa470c7d0
mov eax, ecx
and eax, 0xa470c7d0
and r11d, r8d
mov esi, 0xa2f6a726
xor esi, 0x68660f6
mov r9d, edx
and r9d, esi
and r10d, r8d
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, edx
xor ecx, 0xffffffff
mov edx, 0xfecd3caa
xor edx, 0x5abdfb7a
or edx, r8d
and ecx, edx
or eax, ecx
mov dword [rbp - 0x50], eax
mov ecx, 0x505ec0cd
xor ecx, 0x505ec0b2
cmp eax, ecx
jbe 0x1400f928c
mov ecx, dword [rbp - 0x50]
sub rsp, 0x20
call fcn.1400f96c1
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x20]
mov qword [rax], rcx
jmp 0x1400f928c
mov eax, dword [rbp - 0x48]
mov ecx, eax
xor ecx, 0xc0c0f0
xor ecx, 0xffffffff
or eax, 0xc0c0f0
and eax, ecx
mov ecx, 0xf8732b57
xor ecx, 0xf8f3abb7
cmp eax, ecx
jne 0x1400f9175
mov rax, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x18]
mov r9d, dword [rbp - 0x2c]
mov ecx, 0x79df6f76
xor ecx, 0x79df6f7a
shl r9d, cl
mov r8d, 0x94ea598d
xor r8d, 0x94ea598c
mov ecx, r9d
add ecx, r8d
xor r9d, 0xffffffff
or r9d, 0xf000
add r9d, ecx
movabs r8, 0x299c5bf07d160419
movabs rcx, 0x299c5bf07d160418
xor r8, rcx
mov rcx, rdx
and rcx, r8
mov r8, rdx
or r8, 1
add rcx, r8
mov cl, byte [rax + rcx]
mov r8b, 0xf0
xor r8b, 0xcf
and cl, r8b
movzx r8d, cl
mov ecx, 0xd36f6a8
xor ecx, 0xd36f6ae
shl r8d, cl
mov ecx, r8d
mov r8d, r9d
and r8d, ecx
xor r8d, 0xffffffff
add ecx, r9d
add ecx, 1
add ecx, r8d
movabs r8, 0x7e79d9b6f04a0e0e
sub rdx, r8
movabs r8, 0xc5477dc1d4e774c4
movabs r9, 0xc5477dc1d4e774c6
xor r8, r9
add rdx, r8
movabs r8, 0x7e79d9b6f04a0e0e
add rdx, r8
add rax, rdx
mov al, byte [rax]
mov dl, 0xd0
xor dl, 0xef
and al, dl
movzx r8d, al
mov eax, ecx
or eax, r8d
mov edx, 0xbd46cbc
xor edx, 0xf42b9343
xor eax, edx
mov edx, ecx
or edx, r8d
mov r8d, 0xb10a3e41
xor r8d, 0x4ef5c1be
xor edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
mov dword [rbp - 0x54], eax
mov edx, 0xe3798202
xor edx, 0xe3798a02
cmp eax, edx
setb al
mov edx, ecx
add edx, 1
mov r8d, 0x294b8336
xor r8d, 0xd6b47cc9
xor ecx, r8d
or ecx, 0xf800
add ecx, edx
cmp ecx, 0xd800
sete cl
or al, cl
test al, 1
jne 0x1400f928c
mov ecx, dword [rbp - 0x54]
sub rsp, 0x20
call fcn.1400f96c1
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x20]
mov qword [rax], rcx
jmp 0x1400f928c
mov eax, dword [rbp - 0x44]
cmp eax, 0x808080f0
jne 0x1400f928c
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x18]
mov r8d, dword [rbp - 0x2c]
shl r8d, 0x12
mov eax, r8d
xor eax, 0x1c0000
xor eax, 0xffffffff
or r8d, 0x1c0000
and r8d, eax
mov al, byte [rcx + rdx + 1]
and al, 0x3f
movzx eax, al
shl eax, 0xc
or eax, r8d
mov r9, 0xffffffffffffffff
xor r9, 2
movabs r8, 0xcccab88af2c1910
movabs r10, 0xcccab88af2c1910
xor r8, r10
movabs r10, 0xeff6e536db1adfb6
movabs r11, 0xeff6e536db1adfb7
xor r10, r11
sub r8, r10
sub r9, r8
mov r8, rdx
sub r8, r9
mov cl, byte [rcx + r8]
and cl, 0x3f
movzx r8d, cl
mov ecx, 0x7e7f9372
xor ecx, 0x7e7f9374
shl r8d, cl
mov rcx, qword [rbp - 0x28]
or eax, r8d
movabs r8, 0x82bb94bd8650f66d
sub rdx, r8
add rdx, 3
movabs r8, 0x2eee218dafd83302
movabs r9, 0xac55b5302988c56f
xor r8, r9
add rdx, r8
mov cl, byte [rcx + rdx]
and cl, 0x3f
movzx ecx, cl
or eax, ecx
mov dword [rbp - 0x58], eax
mov ecx, eax
and ecx, 0xffff0001
shl ecx, 1
xor eax, 0xffff0001
add eax, ecx
cmp eax, 0x100001
jae 0x1400f928c
mov ecx, dword [rbp - 0x58]
sub rsp, 0x20
call fcn.1400f96c1
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x20]
mov qword [rax], rcx
jmp 0x1400f968f
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x18]
movabs rdx, 0xf0a418e15e0e01d3
movabs r8, 0xd8006f7b5b69ee49
xor rdx, r8
add rcx, rdx
add rcx, 1
movabs rdx, 0x28a4779a0567ef9a
sub rcx, rdx
mov al, byte [rax + rcx]
movzx ecx, al
mov dword [rbp - 0x5c], ecx
and al, 0xc0
cmp al, 0x80
jne 0x1400f968f
mov eax, dword [0x1402570f0]
mov ecx, dword [0x1402570f4]
xor ecx, 0xad46c8fe
imul eax, ecx
mov ecx, 0x21f42e7b
xor ecx, 0x7746bc76
sub eax, ecx
or eax, eax
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xd74107f
mov edx, 0x7a479d4c
xor edx, 0x77338d33
mov r8d, 0x2a8b8b2
xor r8d, 0xfd57474d
xor edx, r8d
and ecx, edx
mov edx, 0x95627f79
xor edx, 0x6a9d8086
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x1fe23b2a
xor ecx, 0x76035e24
xor edx, edx
div ecx
cmp eax, 0x79dfb943
je 0x1400f96af
mov cl, byte [rbp - 0x2d]
mov eax, dword [0x1402570f8]
mov edx, 0x2c386a91
xor edx, 0x8ea7b91
xor eax, edx
or eax, dword [0x1402570fc]
add eax, 0x98a35a96
mov r8d, 0xa5888b8e
xor edx, edx
div r8d
or eax, 0xc668d688
mov dl, 0xd9
xor dl, 0x39
and cl, dl
mov dl, 0x66
xor dl, 0xa6
cmp cl, dl
sete cl
mov byte [rbp - 0x5d], cl
cmp eax, 0x2268d6bd
jb 0x1400f9352
mov al, byte [rbp - 0x5d]
test al, 1
jne 0x1400f93b2
jmp 0x1400f943b
mov edx, dword [rbp - 0x5c]
mov ecx, dword [rbp - 0x2c]
shl ecx, 6
and ecx, 0x7c0
mov eax, edx
and eax, 0x3f
mov r8d, 0xf8a53123
xor r8d, 0x75acedc
xor eax, r8d
mov r8d, 0x1f15ab7
xor r8d, 0xfe0ea548
xor edx, r8d
mov r8d, 0x424db8a
xor r8d, 0x424dbb5
mov r9d, 0x6ccbb69e
xor r9d, 0x93344961
xor r8d, r9d
or edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
or eax, ecx
mov dword [rbp - 0x64], eax
cmp eax, 0x7f
jbe 0x1400f968f
mov ecx, dword [rbp - 0x64]
sub rsp, 0x20
call fcn.1400f96c1
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x20]
mov qword [rax], rcx
jmp 0x1400f968f
mov cl, byte [rbp - 0x2d]
mov rax, qword [rbp - 8]
sub rax, 3
sete al
and cl, 0xf0
sub cl, 0xe0
sete cl
and al, cl
test al, 1
jne 0x1400f9461
jmp 0x1400f968f
mov eax, dword [0x140257100]
xor edx, edx
div dword [0x140257104]
mov ecx, eax
mov eax, 0xffffffff
xor eax, 0x2a3eca1a
add ecx, eax
add ecx, 1
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xccf64a98
and eax, edx
mov edx, 0xbd81f9d7
xor edx, 0x7177b34f
or ecx, edx
mov edx, 0x7002b986
xor edx, 0x8ffd4679
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x6dcf8b1
xor ecx, 0x1e6d551a
xor edx, edx
div ecx
mov ecx, 0xb6a64708
xor ecx, 0x9af04266
cmp eax, ecx
ja 0x1400f96b8
mov rcx, qword [rbp - 0x28]
mov eax, dword [0x140257108]
mov edx, 0xf2b7eea8
xor edx, 0x9707b970
xor eax, edx
mov r8d, dword [0x14025710c]
mov edx, r8d
and edx, eax
xor edx, 0xffffffff
add eax, r8d
add eax, 1
add eax, edx
mov edx, eax
and edx, 0x97f0420
shl edx, 1
xor eax, 0x97f0420
add eax, edx
mov r8d, 0x718033c8
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x18]
mov r8d, 0xdb69daad
xor r8d, 0x974a9244
and eax, r8d
movabs r8, 0xb2fb0b104cb006cc
movabs r9, 0x5a778f7b1a763854
xor r8, r9
add rdx, r8
add rdx, 2
movabs r8, 0xe67cbbb95f12e25c
movabs r9, 0xef03fd209d4dcc4
xor r8, r9
sub rdx, r8
mov dl, byte [rcx + rdx]
mov byte [rbp - 0x66], dl
mov cl, dl
xor cl, 0xff
mov r8b, 0xff
xor r8b, 0xc0
or cl, r8b
xor dl, 0xff
mov r8b, 0xff
xor r8b, 0xc0
or dl, r8b
xor cl, 0xff
xor dl, 0xff
or cl, dl
mov dl, 0xe2
xor dl, 0x62
cmp cl, dl
sete cl
mov byte [rbp - 0x65], cl
cmp eax, 0xbac781c4
jae 0x1400f94d6
mov al, byte [rbp - 0x65]
test al, 1
jne 0x1400f95bf
jmp 0x1400f968f
mov al, byte [rbp - 0x66]
mov edx, dword [rbp - 0x5c]
mov r9d, dword [rbp - 0x2c]
mov ecx, 0x90dad98e
xor ecx, 0x90dad982
shl r9d, cl
mov ecx, 0x487cb40
xor ecx, 0x4873b40
and r9d, ecx
shl edx, 6
mov r8d, 0xffffffff
xor r8d, 0xfc0
mov ecx, edx
xor ecx, r8d
and ecx, edx
mov r8d, r9d
xor r8d, 0xffffffff
mov edx, ecx
and edx, r8d
mov r8d, ecx
xor r8d, r9d
add ecx, r8d
sub ecx, edx
and al, 0x3f
movzx r8d, al
mov eax, ecx
or eax, r8d
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
xor r8d, 0xffffffff
and edx, r8d
xor eax, 0xffffffff
mov r8d, 0xe6292622
xor r8d, 0x19d6d9dd
xor edx, r8d
and eax, edx
mov dword [rbp - 0x6c], eax
mov edx, 0xb4675ded
xor edx, 0xb46755ed
cmp eax, edx
setb al
and ecx, 0xf800
mov edx, 0xafc174b3
xor edx, 0xafc1acb3
cmp ecx, edx
sete cl
or al, cl
test al, 1
jne 0x1400f968f
mov ecx, dword [rbp - 0x6c]
sub rsp, 0x20
call fcn.1400f96c1
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x20]
mov qword [rax], rcx
mov rax, qword [rbp - 0x20]
mov rax, qword [rax]
lea rsp, [rbp + 8]
pop rsi
pop rbp
ret
sub dword [rbx], 0x68
xchg edx, eax
jmp 0x1400f8ca9
jg 0x1400f9652
jne 0x1400f9650
jmp 0x1400f8de2
or r8d, dword [r11 + 0x7f]
jmp 0x1400f9352
mov byte [rdi], dl
fdivr dword [rbp - 0x17]
adc eax, 0x48fffffe
sub rsp, 0x38