Function at 0x140100380
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x1c0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x68], rdx
mov qword [rbp + 0x70], rcx
mov eax, 0x10
mov qword [rbp + 0x90], rax
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp + 0x90]
mov rcx, rsp
mov qword [rbp + 0x78], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp + 0x90]
mov rcx, rsp
mov qword [rbp + 0x80], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp + 0x90]
mov rcx, rsp
mov qword [rbp + 0x88], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp + 0x90]
mov rcx, rsp
mov qword [rbp + 0x98], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xa0], rax
sub rsp, 0x20
call fcn.1400eb12e
add rsp, 0x20
mov qword [rbp + 0xa8], rax
mov cx, 0x9481
xor cx, 0x7b85
mov dx, 0xe697
xor dx, 0x1cef
sub rsp, 0x20
call fcn.14006ae75
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0xa8]
mov word [rbp + 0xb6], cx
cmp byte [rax], 0
jne 0x140100f2d
mov rcx, qword [rbp + 0x68]
mov ax, word [rbp + 0xb6]
mov dl, al
sub rsp, 0x20
call fcn.1400ed474
mov rax, qword [rbp + 0xa8]
add rsp, 0x20
cmp byte [rax], 0
je 0x140100493
jmp 0x140100f2d
mov ecx, 0xf488
mov edx, 0xe1b5
sub rsp, 0x20
call fcn.14006ae75
mov rcx, qword [rbp + 0xa8]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0x2e
xor dl, 0x2e
cmp cl, dl
sete r8b
mov byte [rbp + 0x66], r8b
cmp cl, dl
mov byte [rbp + 0x67], al
je 0x1401004cd
mov al, byte [rbp + 0x66]
mov cl, byte [rbp + 0x67]
mov byte [rbp + 0x65], cl
test al, 1
jne 0x1401004e3
jmp 0x140100678
mov rcx, qword [rbp + 0x80]
mov rax, qword [rbp + 0x78]
mov qword [rax], 0
mov rdx, rax
add rdx, 8
mov qword [rbp + 0x50], rdx
mov qword [rax + 8], 0
mov word [rcx], 0x8a3
sub rsp, 0x20
call fcn.140067800
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xa8]
mov qword [rbp + 0x58], rcx
mov al, byte [rax]
mov cl, 0x39
xor cl, 0x39
cmp al, cl
jne 0x140100678
mov rcx, qword [rbp + 0x78]
mov rax, qword [rbp + 0x58]
mov rdx, qword [rax]
mov rax, 0xffffffffffffffff
xor rax, 1
xor r8d, r8d
sub r8, 1
sub rax, r8
sub rdx, rax
sub rsp, 0x20
call fcn.14001bb40
mov rax, qword [rbp + 0x58]
mov rcx, qword [rbp + 0x78]
add rsp, 0x20
mov rdx, qword [rax]
mov qword [rbp + 0x130], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x138], rax
lea rdx, [rbp + 0x130]
sub rsp, 0x20
call fcn.1400f883f
mov dl, byte [rbp + 0x65]
mov rcx, qword [rbp + 0x78]
call fcn.1400fb890
mov rdx, qword [rbp + 0x78]
mov rax, qword [rbp + 0x50]
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov rdx, qword [rdx]
mov qword [rbp + 0x38], rdx
mov rax, qword [rax]
mov qword [rbp + 0x40], rax
sub rsp, 0x20
call fcn.14001bef0
mov rdx, qword [rbp + 0x38]
mov rcx, qword [rbp + 0x68]
mov rax, qword [rbp + 0x40]
add rsp, 0x20
mov qword [rbp + 0x120], rdx
mov qword [rbp + 0x128], rax
lea rdx, [rbp + 0x120]
sub rsp, 0x20
call fcn.1400f883f
mov rax, qword [rbp + 0x70]
mov rdx, qword [rbp + 0x68]
add rsp, 0x20
mov cl, byte [rax]
sub rsp, 0x20
call fcn.140100352
mov rax, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0x40]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp + 0x4d], al
cmp al, 0
sete dl
mov byte [rbp + 0x4e], dl
cmp rcx, 0
mov byte [rbp + 0x4f], al
je 0x14010067d
mov al, byte [rbp + 0x4d]
mov rdx, qword [rbp + 0x40]
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
cmp rcx, 0
mov byte [rbp + 0x4f], al
jne 0x14010067d
mov rcx, qword [rbp + 0x40]
sub rsp, 0x20
call fcn.14000e9f6
mov rax, qword [rbp + 0xa8]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp + 0x4f], al
jmp 0x14010067d
jmp 0x140100f2d
mov cl, byte [rbp + 0x4e]
mov al, byte [rbp + 0x4f]
and cl, 1
movzx ecx, cl
mov qword [rbp + 0x30], rcx
cmp al, 0
jne 0x140100f2d
mov rax, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0x70]
mov rdx, rcx
add rdx, 8
mov qword [rbp + 0x20], rdx
mov rcx, qword [rcx + 8]
test rcx, rcx
sete cl
mov al, byte [rax]
test al, al
setne al
mov byte [rbp + 0x2f], al
or al, cl
test al, 1
jne 0x140100b13
mov al, byte [rbp + 0x4e]
test al, 1
jne 0x1401006d9
jmp 0x140100726
mov cx, 0x9083
xor cx, 0x3157
mov dx, 0x6ab1
xor dx, 0xde4e
sub rsp, 0x20
call fcn.14006ae75
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0xa8]
mov word [rbp + 0x1e], cx
cmp byte [rax], 0
jne 0x140100984
mov rcx, qword [rbp + 0x68]
mov ax, word [rbp + 0x1e]
mov dl, al
sub rsp, 0x20
call fcn.1400ed474
add rsp, 0x20
mov ecx, 0xf488
mov edx, 0xe1b5
sub rsp, 0x20
call fcn.14006ae75
mov rcx, qword [rbp + 0xa8]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0x1c
xor dl, 0x1c
cmp cl, dl
sete r8b
mov byte [rbp + 0x1c], r8b
cmp cl, dl
mov byte [rbp + 0x1d], al
je 0x140100760
mov al, byte [rbp + 0x1c]
mov cl, byte [rbp + 0x1d]
mov byte [rbp + 0x1b], cl
test al, 1
jne 0x140100776
jmp 0x140100984
mov rcx, qword [rbp + 0x88]
movabs rax, 0xf82f217607d61730
movabs rdx, 0xf82f217607d61730
xor rax, rdx
mov qword [rbp + 0x110], rax
lea rax, [rbp + 0x110]
add rax, 8
mov qword [rbp + 8], rax
mov qword [rbp + 0x118], 0
mov ax, 0xb87e
xor ax, 0xb310
mov word [rcx], ax
sub rsp, 0x20
call fcn.140067800
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xa8]
mov qword [rbp + 0x10], rcx
cmp byte [rax], 0
jne 0x140100984
mov rax, qword [rbp + 0x10]
mov rdx, qword [rax]
movabs rax, 0x69ce0ab3cac430e4
add rdx, rax
add rdx, 1
movabs rax, 0x69ce0ab3cac430e4
sub rdx, rax
lea rcx, [rbp + 0x110]
sub rsp, 0x20
call fcn.14001bb40
mov rax, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x98]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x110]
sub rsp, 0x20
call fcn.1400f883f
mov dl, byte [rbp + 0x1b]
add rsp, 0x20
lea rcx, [rbp + 0x110]
sub rsp, 0x20
call fcn.1400fb890
mov rax, qword [rbp + 8]
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov rdx, qword [rbp + 0x110]
mov qword [rbp - 0x20], rdx
mov rax, qword [rax]
mov qword [rbp - 0x18], rax
sub rsp, 0x20
call fcn.14001bef0
mov rdx, qword [rbp - 0x20]
mov rcx, qword [rbp + 0x68]
mov rax, qword [rbp - 0x18]
add rsp, 0x20
mov qword [rbp + 0x100], rdx
mov qword [rbp + 0x108], rax
lea rdx, [rbp + 0x100]
sub rsp, 0x20
call fcn.1400f883f
mov rax, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x68]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0xf0], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xf8], rax
lea rcx, [rbp + 0xf0]
sub rsp, 0x20
call fcn.1400f9710
mov rax, qword [rbp + 0xa8]
mov r8, qword [rbp + 0x30]
mov rcx, qword [rbp - 0x18]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp - 9], al
cmp al, 0
sete dl
and dl, 1
movzx edx, dl
add rdx, r8
mov qword [rbp - 8], rdx
cmp rcx, 0
mov byte [rbp + 7], al
je 0x140100989
mov al, byte [rbp - 9]
mov rcx, qword [rbp - 0x18]
mov rcx, qword [rcx]
mov rdx, rcx
add rdx, 1
xor rcx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
or rcx, r8
add rcx, rdx
movabs rdx, 0x6e3ce96d3ccb868
movabs r8, 0x6e3ce96d3ccb868
xor rdx, r8
cmp rcx, rdx
mov byte [rbp + 7], al
jne 0x140100989
mov rcx, qword [rbp - 0x18]
sub rsp, 0x20
call fcn.14000e9f6
mov rax, qword [rbp + 0xa8]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp + 7], al
jmp 0x140100989
jmp 0x140100f2d
mov al, byte [rbp + 7]
mov byte [rbp - 0x21], al
mov eax, dword [0x1402573d0]
mov r8d, dword [0x1402573d4]
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 r8d, 0xe5bda626
xor r8d, 0xe2bde7f3
mov ecx, 0x5164cc2d
xor ecx, 0xae9b33d2
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x70041d5
or eax, 0x70041d5
imul eax, edx
add eax, ecx
mov ecx, 0x76153570
xor ecx, 0x404f1fcc
sub eax, ecx
mov edx, 0x11d4242e
xor edx, 0x1fdab5e6
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, 0xe0e91c8
sub eax, ecx
cmp eax, 0xa8b50f3f
ja 0x14010107b
mov ecx, dword [0x1402573d8]
mov edx, dword [0x1402573dc]
mov eax, 0x95c0482
xor eax, 0x89e02b7e
xor edx, eax
xor edx, 0xffffffff
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0xd0bf8204
xor ecx, 0x32865a6e
xor edx, edx
div ecx
mov ecx, 0x9034ac16
xor edx, edx
div ecx
mov dl, byte [rbp - 0x21]
mov ecx, eax
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov r8d, 0x7d9dd226
xor r8d, 0xb9dc6d2c
mov r9d, 0x732df42
xor r9d, 0xf8cd20bd
xor r8d, r9d
mov r9d, 0xffffffff
xor r9d, 0xc441bf0a
and r8d, r9d
or eax, r8d
mov r8d, 0x79d56ccc
xor r8d, 0x862a9333
xor eax, r8d
or ecx, 0xc441bf0a
mov r8d, 0x86c74f8
xor r8d, 0xf7938b07
xor ecx, r8d
mov r8d, 0x983c5a5a
xor r8d, 0x67c3a5a5
xor eax, r8d
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x45a57264
xor ecx, 0x7371824a
cmp dl, 0
sete dl
mov byte [rbp - 0x22], dl
cmp eax, ecx
jb 0x140100a2e
mov rax, qword [rbp - 8]
mov cl, byte [rbp - 0x22]
test cl, 1
mov qword [rbp - 0x30], rax
jne 0x140100b27
jmp 0x140100f2d
mov rax, qword [rbp + 0x30]
mov cl, byte [rbp + 0x2f]
test cl, 1
mov qword [rbp - 0x30], rax
jne 0x140100f2d
mov rax, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0x70]
mov rdx, qword [rbp - 0x30]
mov qword [rbp - 0x48], rdx
mov rdx, rcx
add rdx, 0x18
mov qword [rbp - 0x40], rdx
mov rcx, qword [rcx + 0x18]
test rcx, rcx
sete cl
mov al, byte [rax]
test al, al
setne al
mov byte [rbp - 0x31], al
or al, cl
test al, 1
jne 0x140100ed5
mov rax, qword [rbp - 0x48]
cmp rax, 0
je 0x140100ca2
mov eax, dword [0x1402573e0]
mov r8d, dword [0x1402573e4]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0x31d28462
xor r9d, 0xce2d7b9d
xor ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xe3fbe567
xor edx, edx
div ecx
mov ecx, 0x673e03a2
xor ecx, 0x5ce2f7e2
or eax, ecx
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x433fb735
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0x66b9fb27
xor ecx, 0x2ffb9cbc
cmp eax, ecx
jbe 0x140101084
mov eax, dword [0x1402573e8]
xor eax, 0x7d49e3a3
mov edx, dword [0x1402573ec]
mov ecx, 0x5fcc8532
xor ecx, 0x5fcc8532
sub ecx, edx
sub eax, ecx
mov ecx, 0x2ae557a2
xor ecx, 0x97371628
mov edx, 0xf4854d5a
xor edx, 0xb7ab2a5
xor ecx, edx
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0x9e6b8f79
xor ecx, 0x74d4a568
sub eax, ecx
or eax, 0xbd820401
mov dword [rbp - 0x50], eax
mov ecx, 0xa1d4
mov edx, 0xb4ff
sub rsp, 0x20
call fcn.14006ae75
mov rcx, qword [rbp + 0xa8]
add rsp, 0x20
mov dx, ax
mov eax, dword [rbp - 0x50]
mov word [rbp - 0x4c], dx
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x49], cl
cmp eax, 0x9a3ab18c
jbe 0x140100be9
mov al, byte [rbp - 0x49]
test al, 1
jne 0x140100c8b
jmp 0x140100eba
mov rcx, qword [rbp + 0x68]
mov ax, word [rbp - 0x4c]
mov dl, al
sub rsp, 0x20
call fcn.1400ed474
add rsp, 0x20
mov ecx, 0xf488
mov edx, 0xe1b5
sub rsp, 0x20
call fcn.14006ae75
mov rcx, qword [rbp + 0xa8]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0xfa
xor dl, 0xfa
cmp cl, dl
sete r8b
mov byte [rbp - 0x52], r8b
cmp cl, dl
mov byte [rbp - 0x51], al
je 0x140100cdc
mov al, byte [rbp - 0x52]
mov cl, byte [rbp - 0x51]
mov byte [rbp - 0x53], cl
test al, 1
jne 0x140100cf2
jmp 0x140100eba
mov rax, qword [rbp + 0xa0]
mov qword [rax], 0
mov rcx, rax
add rcx, 8
mov qword [rbp - 0x68], rcx
mov qword [rax + 8], 0
mov ax, 0x985f
xor ax, 0x9e61
mov word [rbp + 0xee], ax
lea rcx, [rbp + 0xee]
sub rsp, 0x20
call fcn.140067800
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xa8]
mov qword [rbp - 0x60], rcx
cmp byte [rax], 0
jne 0x140100eba
mov rcx, qword [rbp + 0xa0]
mov rax, qword [rbp - 0x60]
mov rdx, qword [rax]
movabs rax, 0x2bf246a7ddaca751
sub rdx, rax
add rdx, 1
movabs rax, 0x2bf246a7ddaca751
add rdx, rax
sub rsp, 0x20
call fcn.14001bb40
mov rax, qword [rbp - 0x60]
mov rcx, qword [rbp + 0xa0]
add rsp, 0x20
mov rdx, qword [rax]
mov qword [rbp + 0xd8], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0xe0], rax
lea rdx, [rbp + 0xd8]
sub rsp, 0x20
call fcn.1400f883f
mov dl, byte [rbp - 0x53]
mov rcx, qword [rbp + 0xa0]
call fcn.1400fb890
mov rdx, qword [rbp + 0xa0]
mov rax, qword [rbp - 0x68]
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov rdx, qword [rdx]
mov qword [rbp - 0x78], rdx
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
sub rsp, 0x20
call fcn.14001bef0
mov rdx, qword [rbp - 0x78]
mov rcx, qword [rbp + 0x68]
mov rax, qword [rbp - 0x70]
add rsp, 0x20
mov qword [rbp + 0xc8], rdx
mov qword [rbp + 0xd0], rax
lea rdx, [rbp + 0xc8]
sub rsp, 0x20
call fcn.1400f883f
mov rax, qword [rbp - 0x40]
mov rdx, qword [rbp + 0x68]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0xb8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xc0], rax
lea rcx, [rbp + 0xb8]
sub rsp, 0x20
call fcn.1400f9710
mov rax, qword [rbp - 0x70]
add rsp, 0x20
cmp rax, 0
je 0x140100ebf
mov rax, qword [rbp - 0x70]
mov rcx, qword [rax]
mov rdx, 0xffffffffffffffff
movabs rax, 0x4000000000000000
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
movabs rcx, 0xd2a46caa8a59afa5
movabs rdx, 0xd2a46caa8a59afa5
xor rcx, rdx
cmp rax, rcx
jne 0x140100ebf
mov rcx, qword [rbp - 0x70]
sub rsp, 0x20
call fcn.14000e9f6
add rsp, 0x20
jmp 0x140100ebf
jmp 0x140100f2d
mov rax, qword [rbp + 0xa8]
mov al, byte [rax]
cmp al, 0
je 0x140100ee0
jmp 0x140100f2d
mov al, byte [rbp - 0x31]
test al, 1
jne 0x140100f2d
mov cx, 0x7eb5
xor cx, 0xf1ad
mov dx, 0xf28a
xor dx, 0x68e8
sub rsp, 0x20
call fcn.14006ae75
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0xa8]
mov word [rbp - 0x7a], cx
cmp byte [rax], 0
jne 0x140100f2d
mov rcx, qword [rbp + 0x68]
mov ax, word [rbp - 0x7a]
mov dl, al
sub rsp, 0x20
call fcn.1400ed474
add rsp, 0x20
mov ecx, dword [0x1402573f0]
mov edx, dword [0x1402573f4]
mov eax, 0x3be0bf29
xor eax, 0x3be0bf29
sub eax, edx
add ecx, eax
mov edx, 0x6b5ba6a7
xor edx, 0x94a45958
mov eax, ecx
xor eax, edx
and eax, 0x47b0c15e
mov edx, 0x1aab3836
xor edx, 0x5d1bf968
mov r8d, 0x89089e01
xor r8d, 0x76f761fe
xor edx, r8d
and ecx, edx
or eax, ecx
mov ecx, 0x57e11c3f
xor ecx, 0xec906e39
or eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x652ee148
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x9786f026
xor r8d, 0xf2a8116e
mov edx, eax
and edx, r8d
or eax, 0x652ee148
imul eax, edx
add eax, ecx
cmp eax, 0x5cf32e75
jb 0x14010108d
mov ecx, dword [0x1402573f8]
mov edx, dword [0x1402573fc]
mov eax, ecx
and eax, edx
shl eax, 1
add ecx, edx
sub ecx, eax
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
mov edx, 0x4e12e230
xor edx, 0xb1ed1dcf
xor eax, edx
mov edx, 0x1dd851d8
xor edx, 0x72ee2962
mov r8d, 0xc07e9409
xor r8d, 0x3f816bf6
xor edx, r8d
or eax, edx
mov edx, 0xffffffff
xor edx, 0x6f3678ba
mov r8d, 0x5a7bfdc6
xor r8d, 0x354d857c
mov r9d, 0xef274ed
xor r9d, 0xf10d8b12
xor r8d, r9d
or edx, r8d
and ecx, edx
xor ecx, 0xffffffff
mov edx, 0x9bc5774c
xor edx, 0x643a88b3
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
sub eax, 0x190c2f23
sub eax, 0x99172690
mov ecx, 0x37f4dc11
xor ecx, 0x13a82603
cmp eax, ecx
je 0x140100fcb
adc edi, dword [rcx]
enter 0xffffffffffff840f, 0x59
invalid
lea rsp, [rbp + 0x140]
pop rbp
ret
out dx, al
or al, 0x16
jge 0x140101069
stosb byte [rdi], al
stc
invalid
sub dword [rax + rcx*2], 0xfb5ce9ca
invalid
invalid