Function at 0x140008bb3
Capabilities:
Encode data using base64

Disassembly:
push rbp
push rbx
sub rsp, 0x188
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xc8], r9
mov qword [rbp + 0xf0], r8
mov qword [rbp + 0xd0], rdx
mov qword [rbp + 0xd8], rcx
mov qword [rbp + 0xe0], rcx
mov eax, 0x10
call fcn.140195b60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xe8], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov r9, qword [rbp + 0xf0]
add rsp, 0x20
add rax, 0x60
mov qword [rbp + 0xf8], rax
mov r8, r9
sar r8, 2
movabs rax, 0x3ad614a80abe7a48
movabs rcx, 0x3ad614a80abe7a48
xor rax, rcx
sub rax, r8
movabs rcx, 0xa79a20b15b383a26
movabs rdx, 0xa79a20b15b383a26
xor rcx, rdx
sub rcx, r9
add rax, rcx
movabs rdx, 0x34d9c548dc6875a6
movabs rcx, 0x34d9c548dc6875a6
xor rdx, rcx
sub rdx, rax
mov qword [rbp + 0x100], rdx
mov rcx, rdx
and rcx, r9
shl rcx, 1
mov rax, rdx
add rax, r9
sub rax, rcx
mov rcx, rdx
xor rcx, 0xffffffffffffffff
movabs r10, 0x6c4e59df310037de
movabs r9, 0x93b1a620ceffc821
xor r10, r9
mov r9, rdx
xor r9, r10
and rcx, r9
mov r9, r8
xor r9, 0xffffffffffffffff
mov r10, r8
xor r10, 0xffffffffffffffff
and r9, r10
movabs r10, 0xd9682ea8402c73c5
movabs r11, 0x2697d157bfd38c3a
xor r10, r11
xor rcx, r10
movabs r10, 0x3faa61f28f8e40bc
movabs r11, 0xc0559e0d7071bf43
xor r10, r11
xor r9, r10
and rcx, r9
or rdx, r8
xor rdx, 0xffffffffffffffff
or rcx, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x140008d34
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x14000a117
mov rax, qword [rbp + 0x100]
movabs rcx, 0xdd0ebc36be79fb9e
movabs rdx, 0xdd0ebc36be79fb9e
xor rcx, rdx
cmp rax, rcx
jge 0x140008da2
mov rcx, qword [rbp + 0x100]
movabs rdx, 0x4624f331a0853e3a
movabs rax, 0x4624f331a0853e3a
xor rdx, rax
movabs r8, 0x9c2e19ae8bfe8a41
movabs rax, 0xe3d1e651740175be
xor r8, rax
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x14000a117
mov rcx, qword [rbp + 0xe8]
mov rdx, qword [rbp + 0x100]
sub rsp, 0x20
call fcn.140021f70
mov rdx, qword [rbp + 0xe8]
mov rcx, qword [rbp + 0xd8]
mov rax, qword [rbp + 0xd0]
add rsp, 0x20
mov r8, qword [rdx]
mov qword [rcx], r8
mov rdx, qword [rdx + 8]
mov qword [rcx + 8], rdx
mov ax, word [rax]
mov word [rbp + 0xc6], ax
mov cx, 0xd739
xor cx, 0xd739
cmp ax, cx
je 0x14000a117
mov cx, word [rbp + 0xc6]
mov rax, qword [rbp + 0xd8]
add rax, 8
mov qword [rbp + 0xa8], rax
xor eax, eax
mov word [rbp + 0xb6], cx
mov qword [rbp + 0xb8], rax
mov rax, qword [rbp + 0xf8]
mov cx, word [rbp + 0xb6]
mov rdx, qword [rbp + 0xb8]
mov qword [rbp + 0x90], rdx
mov word [rbp + 0x9e], cx
movzx ecx, cx
mov qword [rbp + 0xa0], rcx
mov al, byte [rax]
mov cl, 0x9c
xor cl, 0x9c
cmp al, cl
jne 0x14000a117
mov rcx, qword [rbp + 0x90]
mov rax, rcx
add rax, 1
mov qword [rbp + 0x88], rax
mov rdx, rcx
or rdx, rdx
movabs r8, 0xc50dfac5cb73e0a6
movabs r9, 0x3af2053a348c1f59
xor r8, r9
xor rdx, r8
mov r8, 0xffffffffffffffff
or r8, 0xffffffffffffffff
movabs r9, 0x3e4197f20750db19
movabs r10, 0xc1be680df8af24e6
xor r9, r10
xor r8, r9
or rdx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0xb6b1906ee483086d
movabs r9, 0x494e6f911b7cf792
xor r8, r9
or rcx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
movabs r8, 0x67d28ca5929180a9
movabs r9, 0x982d735a6d6e7f56
xor r8, r9
xor rcx, r8
and rdx, rcx
movabs r8, 0xa0fe1fccb25cc68c
movabs rcx, 0xa0fe1fccb25cc68d
xor r8, rcx
mov rcx, rax
add rcx, r8
movabs r8, 0xe6a9c58543b084c6
movabs r9, 0x19563a7abc4f7b39
xor r8, r9
xor rax, r8
or rax, rdx
add rax, rcx
cmp rax, 0
jge 0x140008f5a
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x14000a117
mov cx, word [rbp + 0x9e]
mov dx, 0xb85d
xor dx, 0x445d
mov ax, 0x74f3
xor ax, 0x8b0c
xor dx, ax
mov ax, cx
xor ax, dx
and ax, cx
mov word [rbp + 0x86], ax
mov cx, 0x579d
xor cx, 0x8f9d
cmp ax, cx
jne 0x140009143
mov rax, qword [rbp + 0xc8]
mov rcx, qword [rbp + 0xd0]
mov rdx, qword [rbp + 0x88]
mov dx, word [rcx + rdx*2]
mov word [rbp + 0x76], dx
mov r8w, 0xffff
xor r8w, 0xfc00
mov cx, dx
xor cx, r8w
and cx, dx
cmp cx, 0xdc00
mov qword [rbp + 0x78], rax
jne 0x14000916f
mov r8, qword [rbp + 0x90]
mov cx, word [rbp + 0x76]
mov rax, qword [rbp + 0xa0]
shl rax, 0xa
movabs rdx, 0xa9c0c3c92b470b5d
movabs r9, 0xa9c0c3c92b48f75d
xor rdx, r9
and rax, rdx
xor cx, 0xffff
mov r9w, 0xffff
xor r9w, 0x3ff
mov dx, 0xffff
xor dx, 0xde15
or cx, r9w
or dx, 0xde15
mov r9w, 0xe61b
xor r9w, 0x19e4
xor cx, r9w
and cx, dx
movzx ecx, cx
or rax, rcx
add rax, 0x10000
movabs rdx, 0x474dd9a5753bec61
movabs rcx, 0xfce43811762f9b26
xor rdx, rcx
mov rcx, r8
sub rcx, rdx
add rcx, 2
movabs rdx, 0x581bbaabe699c5b2
movabs r9, 0xe3b25b1fe58db2f5
xor rdx, r9
add rcx, rdx
xor edx, edx
sub rdx, r8
movabs r9, 0x65c93145da332943
movabs r8, 0x9a36ceba25ccd6bd
xor r9, r8
add r9, rdx
movabs r8, 0xdc63269fbda10fe1
movabs rdx, 0x239cd960425ef01e
xor r8, rdx
mov rdx, rcx
xor rdx, r8
movabs r10, 0x76141ca3b4ee30a5
movabs r8, 0x89ebe35c4b11cf5a
xor r10, r8
mov r8, r9
xor r8, r10
or rdx, r8
mov r8, rcx
and r8, r9
movabs r9, 0xe783361932579ad5
movabs r10, 0x187cc9e6cda8652a
xor r9, r10
xor r8, r9
xor rdx, 0xffffffffffffffff
movabs r9, 0x9d2e8f0eba236aee
movabs r10, 0x62d170f145dc9511
xor r9, r10
xor r8, r9
or rdx, r8
cmp rdx, 0
mov qword [rbp + 0x60], rcx
mov qword [rbp + 0x68], rax
jge 0x140009add
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x14000a117
mov rcx, qword [rbp + 0xc8]
mov rax, qword [rbp + 0xa0]
mov dx, word [rbp + 0x86]
mov r8w, 0x613b
xor r8w, 0xbd3b
cmp dx, r8w
cmove rax, rcx
mov qword [rbp + 0x78], rax
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0x58], rax
cmp rax, 0x80
jge 0x140009369
mov rax, qword [rbp + 0x58]
movabs rcx, 0x4b0cfed489e2ee02
movabs rdx, 0x4b0cfed489e2ee02
xor rcx, rdx
cmp rax, rcx
jge 0x1400091c7
mov rcx, qword [rbp + 0x58]
xor eax, eax
mov edx, eax
mov r8d, 0xff
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x14000a117
mov rcx, qword [rbp + 0xd8]
mov rax, qword [rbp + 0x58]
mov byte [rbp + 0x4f], al
mov edx, 1
sub rsp, 0x20
call fcn.140022539
mov rcx, qword [rbp + 0xa8]
mov r8b, byte [rbp + 0x4f]
mov rax, qword [rbp + 0xd8]
add rsp, 0x20
mov rcx, qword [rcx]
mov rdx, qword [rax]
mov byte [rcx + rdx + 8], r8b
mov rax, qword [rax]
xor ecx, ecx
mov edx, ecx
sub rdx, 1
mov rcx, rax
sub rcx, rdx
mov qword [rbp + 0x50], rcx
mov rdx, rax
xor rdx, 0xffffffffffffffff
mov r8, rax
xor r8, 0xffffffffffffffff
and rdx, r8
movabs r8, 0xecfe7f71f3dc5098
movabs r9, 0x1301808e0c23af67
xor r8, r9
movabs r9, 0x196ae97bddae6d28
movabs r10, 0xe6951684225192d7
xor r9, r10
xor r8, r9
movabs r9, 0xb2c631f7e4fbfadb
movabs r10, 0x4d39ce081b040524
xor r9, r10
movabs r10, 0xfe73fa971b905e2b
movabs r11, 0x18c0568e46fa1d4
xor r10, r11
xor r9, r10
and r8, r9
or rdx, r8
xor rdx, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
movabs r8, 0xb909ac711cd19ca2
movabs r9, 0x46f6538ee32e635d
xor r8, r9
movabs r9, 0x2ec5bf83dee45401
movabs r10, 0xd13a407c211babfe
xor r9, r10
xor r8, r9
and rax, r8
or rdx, rax
movabs rax, 0x25dd37b96d686b6b
movabs r8, 0xda22c84692979494
xor rax, r8
xor rdx, rax
xor rdx, 0xffffffffffffffff
mov rax, rcx
xor rax, rdx
and rax, rcx
movabs rcx, 0xda7ed1492aea2fc
movabs rdx, 0xda7ed1492aea2fc
xor rcx, rdx
cmp rax, rcx
jge 0x140009335
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x88]
add rsp, 0x20
mov qword [rbp + 0x40], rax
jmp 0x14000a0f0
mov rax, qword [rbp + 0x88]
mov rdx, qword [rbp + 0x50]
mov rcx, qword [rbp + 0xa8]
mov r8, qword [rbp + 0xd8]
mov qword [r8], rdx
mov rcx, qword [rcx]
mov r8b, 0x7c
xor r8b, 0x7c
mov byte [rcx + rdx + 8], r8b
mov qword [rbp + 0x40], rax
jmp 0x14000a0f0
mov rax, qword [rbp + 0x58]
cmp rax, 0x800
jae 0x140009645
mov rcx, qword [rbp + 0xd8]
mov rax, qword [rbp + 0x58]
shr rax, 6
mov dl, 0x32
xor dl, 0xf2
or al, dl
mov byte [rbp + 0x37], al
movabs rdx, 0xd8ed6a900411ac2d
movabs rax, 0xd8ed6a900411ac2c
xor rdx, rax
sub rsp, 0x20
call fcn.140022539
mov rcx, qword [rbp + 0xa8]
mov r8b, byte [rbp + 0x37]
mov rax, qword [rbp + 0xd8]
add rsp, 0x20
mov rcx, qword [rcx]
mov rdx, qword [rax]
mov byte [rcx + rdx + 8], r8b
mov rax, qword [rax]
xor ecx, ecx
mov edx, ecx
sub rdx, 1
mov rcx, rax
sub rcx, rdx
mov qword [rbp + 0x38], rcx
mov rdx, rax
or rdx, rdx
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
and r8, r9
or rdx, r8
xor rdx, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rax, r8
or rdx, rax
movabs rax, 0x4c800b29361ae49d
movabs r8, 0xb37ff4d6c9e51b62
xor rax, r8
xor rdx, rax
xor rdx, 0xffffffffffffffff
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jge 0x14000946a
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x140009487
mov rcx, qword [rbp + 0x38]
mov rax, qword [rbp + 0xa8]
mov rdx, qword [rbp + 0xd8]
mov qword [rdx], rcx
mov rax, qword [rax]
mov byte [rax + rcx + 8], 0
mov rcx, qword [rbp + 0xd8]
mov rax, qword [rbp + 0x58]
mov bl, al
mov al, 0xaa
xor al, 0x95
and bl, al
mov dl, bl
xor dl, 0xff
mov r8b, 0xb0
xor r8b, 0x30
mov al, 0x4a
xor al, 0xb5
xor r8b, al
mov r9b, 0xda
xor r9b, 0xa8
mov al, 0x70
xor al, 0x8f
xor r9b, al
mov al, dl
and al, 0x72
and bl, r9b
mov r11b, 0xf6
xor r11b, 0x84
mov r10b, r8b
and r10b, r11b
mov r11b, 0x51
xor r11b, 0xd1
and r11b, r9b
or al, bl
or r10b, r11b
xor al, r10b
or dl, r8b
mov r8b, 4
xor r8b, 0xfb
xor dl, r8b
mov r8b, 0x87
xor r8b, 0xf5
or r8b, r9b
and dl, r8b
or al, dl
mov byte [rbp + 0x27], al
movabs rdx, 0x92038189e1293586
movabs rax, 0x92038189e1293587
xor rdx, rax
sub rsp, 0x20
call fcn.140022539
mov rcx, qword [rbp + 0xa8]
mov r8b, byte [rbp + 0x27]
mov rax, qword [rbp + 0xd8]
add rsp, 0x20
mov rcx, qword [rcx]
mov rdx, qword [rax]
mov byte [rcx + rdx + 8], r8b
mov rcx, qword [rax]
mov rdx, rcx
and rdx, 1
movabs rax, 0x7e0806083b3dcaf0
movabs r8, 0x7e0806083b3dcaf2
xor rax, r8
imul rdx, rax
movabs r8, 0x681523c72e97673d
movabs rax, 0x681523c72e97673c
xor r8, rax
mov rax, rcx
xor rax, r8
add rax, rdx
mov qword [rbp + 0x28], rax
movabs r8, 0xb6502fe87b6df060
movabs rdx, 0x49afd01784920f9f
xor r8, rdx
mov rdx, rcx
xor rdx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0xab308921b741b6ff
movabs r9, 0x54cf76de48be4900
xor r8, r9
and r8, rdx
movabs rdx, 0xd18d3521f8282b23
movabs r9, 0xd18d3521f8282b21
xor rdx, r9
imul rdx, r8
sub rdx, 0xffffffffffffffff
sub rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x140009611
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x88]
add rsp, 0x20
mov qword [rbp + 0x40], rax
jmp 0x14000a0f0
mov rax, qword [rbp + 0x88]
mov rdx, qword [rbp + 0x28]
mov rcx, qword [rbp + 0xa8]
mov r8, qword [rbp + 0xd8]
mov qword [r8], rdx
mov rcx, qword [rcx]
mov r8b, 0xff
xor r8b, 0xff
mov byte [rcx + rdx + 8], r8b
mov qword [rbp + 0x40], rax
jmp 0x14000a0f0
mov rax, qword [rbp + 0x58]
movabs rcx, 0xd391edba73068ec1
movabs rdx, 0xd391edba73078ec1
xor rcx, rdx
cmp rax, rcx
jae 0x140009abe
mov rax, qword [rbp + 0x58]
movabs rcx, 0x41ed119e6c8d6fc0
movabs rdx, 0x41ed119e6c8d6fcc
xor rcx, rdx
shr rax, cl
mov rcx, qword [rbp + 0xd8]
mov dl, al
mov al, dl
or al, 0xe0
xor al, 0xff
xor dl, 0xff
mov r8b, 0xff
xor r8b, 0xe0
and dl, r8b
xor al, 0xff
mov r8b, 0x90
xor r8b, 0x6f
xor dl, r8b
and al, dl
mov byte [rbp + 0x17], al
mov edx, 1
sub rsp, 0x20
call fcn.140022539
mov rcx, qword [rbp + 0xa8]
mov r8b, byte [rbp + 0x17]
mov rax, qword [rbp + 0xd8]
add rsp, 0x20
mov rcx, qword [rcx]
mov rdx, qword [rax]
mov byte [rcx + rdx + 8], r8b
mov rcx, qword [rax]
mov rdx, 0xffffffffffffffff
xor rdx, 1
xor eax, eax
sub rax, 1
sub rdx, rax
mov rax, rcx
sub rax, rdx
mov qword [rbp + 0x18], rax
movabs r8, 0x9f5f5ebb4e501a71
movabs rdx, 0x60a0a144b1afe58e
xor r8, rdx
mov rdx, rcx
xor rdx, r8
xor rdx, 0xffffffffffffffff
and rdx, 0xffffffffffffffff
shl rdx, 1
sub rdx, 0xffffffffffffffff
sub rcx, rdx
or rax, rax
movabs rdx, 0xac0eb57780e10d9d
movabs r8, 0x53f14a887f1ef262
xor rdx, r8
xor rax, rdx
or rcx, rcx
movabs rdx, 0xf817a523380decd0
movabs r8, 0x7e85adcc7f2132f
xor rdx, r8
xor rcx, rdx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0xf5764515e09da7f7
movabs rdx, 0xf5764515e09da7f7
xor rcx, rdx
cmp rax, rcx
jge 0x1400097ab
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x1400097cc
mov rcx, qword [rbp + 0x18]
mov rax, qword [rbp + 0xa8]
mov rdx, qword [rbp + 0xd8]
mov qword [rdx], rcx
mov rax, qword [rax]
mov dl, 0x7b
xor dl, 0x7b
mov byte [rax + rcx + 8], dl
mov rax, qword [rbp + 0x58]
movabs rcx, 0x36aef109a318003d
movabs rdx, 0x36aef109a318003b
xor rcx, rdx
shr rax, cl
mov rcx, qword [rbp + 0xd8]
mov bl, al
xor bl, 0xff
mov dl, 0xff
xor dl, 0x3f
mov al, 0xff
xor al, 0x42
or bl, dl
or al, 0x42
xor bl, 0xff
and bl, al
mov al, 0x57
xor al, 0xa8
mov dl, bl
xor dl, al
mov r8b, 0x7c
xor r8b, 0xfc
mov al, 0x78
xor al, 0x87
xor r8b, al
mov r9b, 0xff
xor r9b, 0x2f
mov r10b, 0x74
xor r10b, 0x5b
mov al, dl
and al, r10b
and bl, r9b
mov r11b, 0xd1
xor r11b, 0xfe
mov r10b, r8b
and r10b, r11b
mov r11b, r9b
and r11b, 0x80
or al, bl
or r10b, r11b
xor al, r10b
or dl, r8b
xor dl, 0xff
mov r8b, 0xd3
xor r8b, 0xfc
or r8b, r9b
and dl, r8b
or al, dl
mov byte [rbp + 7], al
mov edx, 1
sub rsp, 0x20
call fcn.140022539
mov rcx, qword [rbp + 0xa8]
mov r8b, byte [rbp + 7]
mov rax, qword [rbp + 0xd8]
add rsp, 0x20
mov rcx, qword [rcx]
mov rdx, qword [rax]
mov byte [rcx + rdx + 8], r8b
mov rcx, qword [rax]
mov rax, rcx
and rax, 1
movabs r8, 0x372393b0a01618e
movabs rdx, 0x372393b0a01618f
xor r8, rdx
mov rdx, rcx
or rdx, r8
add rax, rdx
mov qword [rbp + 8], rax
mov r8, rcx
xor r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
movabs rdx, 0x66d89301ecaa7282
movabs r9, 0x99276cfe13558d7d
xor rdx, r9
and rdx, r8
shl rdx, 1
sub rdx, 0xffffffffffffffff
sub rcx, rdx
and rax, rcx
movabs rcx, 0x294cf354e512e0ac
movabs rdx, 0x294cf354e512e0ac
xor rcx, rdx
cmp rax, rcx
jge 0x14000992a
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x14000994b
mov rcx, qword [rbp + 8]
mov rax, qword [rbp + 0xa8]
mov rdx, qword [rbp + 0xd8]
mov qword [rdx], rcx
mov rax, qword [rax]
mov dl, 0x58
xor dl, 0x58
mov byte [rax + rcx + 8], dl
mov rcx, qword [rbp + 0xd8]
mov rax, qword [rbp + 0x58]
and al, 0x3f
mov dl, 0x9a
xor dl, 0x1a
or al, dl
mov byte [rbp - 9], al
movabs rdx, 0xf948d50bc3429aed
movabs rax, 0xf948d50bc3429aec
xor rdx, rax
sub rsp, 0x20
call fcn.140022539
mov rcx, qword [rbp + 0xa8]
mov r8b, byte [rbp - 9]
mov rax, qword [rbp + 0xd8]
add rsp, 0x20
mov rcx, qword [rcx]
mov rdx, qword [rax]
mov byte [rcx + rdx + 8], r8b
mov rdx, qword [rax]
mov rax, rdx
add rax, 1
mov qword [rbp - 8], rax
mov rcx, rdx
or rcx, rcx
xor rcx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
and r8, r9
movabs r9, 0x4c0a84c53422ab8a
movabs r10, 0xb3f57b3acbdd5475
xor r9, r10
xor rcx, r9
movabs r9, 0x51d0d1cdab4d8f0
movabs r10, 0xfae2f2e3254b270f
xor r9, r10
xor r8, r9
and rcx, r8
movabs r8, 0x61d8cd22e929b28f
movabs r9, 0x9e2732dd16d64d70
xor r8, r9
or rdx, r8
movabs r8, 0xe24d56237d95a252
movabs r9, 0x1db2a9dc826a5dad
xor r8, r9
xor rdx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
and rax, rcx
movabs rcx, 0x4b88c9ec72a0bdf7
movabs rdx, 0x4b88c9ec72a0bdf7
xor rcx, rdx
cmp rax, rcx
jge 0x140009a8a
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x88]
add rsp, 0x20
mov qword [rbp + 0x40], rax
jmp 0x14000a0f0
mov rax, qword [rbp + 0x88]
mov rdx, qword [rbp - 8]
mov rcx, qword [rbp + 0xa8]
mov r8, qword [rbp + 0xd8]
mov qword [r8], rdx
mov rcx, qword [rcx]
mov r8b, 0x3d
xor r8b, 0x3d
mov byte [rcx + rdx + 8], r8b
mov qword [rbp + 0x40], rax
jmp 0x14000a0f0
mov rax, qword [rbp + 0x58]
mov rcx, qword [rbp + 0x88]
cmp rax, 0x110000
mov qword [rbp + 0x60], rcx
mov qword [rbp + 0x68], rax
jae 0x140009e89
mov rcx, qword [rbp + 0xd8]
mov rdx, qword [rbp + 0x60]
mov rax, qword [rbp + 0x68]
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rdx
shr rax, 0x12
or al, 0xf0
mov byte [rbp - 0x19], al
mov edx, 1
sub rsp, 0x20
call fcn.140022539
mov rcx, qword [rbp + 0xa8]
mov r8b, byte [rbp - 0x19]
mov rax, qword [rbp + 0xd8]
add rsp, 0x20
mov rcx, qword [rcx]
mov rdx, qword [rax]
mov byte [rcx + rdx + 8], r8b
mov rcx, qword [rax]
mov rdx, rcx
and rdx, 1
shl rdx, 1
mov rax, rcx
xor rax, 1
add rax, rdx
mov qword [rbp - 0x18], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0xf509d652f062e0bc
movabs rdx, 0xf509d652f062e0bc
xor rcx, rdx
cmp rax, rcx
jge 0x140009b81
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x140009b9e
mov rcx, qword [rbp - 0x18]
mov rax, qword [rbp + 0xa8]
mov rdx, qword [rbp + 0xd8]
mov qword [rdx], rcx
mov rax, qword [rax]
mov byte [rax + rcx + 8], 0
mov rax, qword [rbp - 0x30]
movabs rcx, 0x2420e3681c6e98c
movabs rdx, 0x2420e3681c6e980
xor rcx, rdx
shr rax, cl
mov rcx, qword [rbp + 0xd8]
mov dl, 0x16
xor dl, 0x29
and al, dl
or al, 0x80
mov byte [rbp - 0x39], al
movabs rdx, 0xfa25debc2d715112
movabs rax, 0xfa25debc2d715113
xor rdx, rax
sub rsp, 0x20
call fcn.140022539
mov rcx, qword [rbp + 0xa8]
mov r8b, byte [rbp - 0x39]
mov rax, qword [rbp + 0xd8]
add rsp, 0x20
mov rcx, qword [rcx]
mov rdx, qword [rax]
mov byte [rcx + rdx + 8], r8b
mov rcx, qword [rax]
mov rax, rcx
add rax, 1
mov qword [rbp - 0x38], rax
mov rdx, rcx
xor rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rdx, 0xffffffffffffffff
shl rdx, 1
movabs r8, 0x8c379ffa5eecba8b
movabs r9, 0x73c86005a1134574
xor r8, r9
sub rdx, r8
sub rcx, rdx
and rax, rcx
movabs rcx, 0xe4d46e6de238a1ee
movabs rdx, 0xe4d46e6de238a1ee
xor rcx, rdx
cmp rax, rcx
jge 0x140009c83
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x140009ca4
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp + 0xa8]
mov rdx, qword [rbp + 0xd8]
mov qword [rdx], rcx
mov rax, qword [rax]
mov dl, 0xd3
xor dl, 0xd3
mov byte [rax + rcx + 8], dl
mov rax, qword [rbp - 0x30]
movabs rcx, 0x71064d7701a4dbc9
movabs rdx, 0x71064d7701a4dbcf
xor rcx, rdx
shr rax, cl
mov rcx, qword [rbp + 0xd8]
and al, 0x3f
mov dl, 0x22
xor dl, 0xa2
or al, dl
mov byte [rbp - 0x49], al
mov edx, 1
sub rsp, 0x20
call fcn.140022539
mov rcx, qword [rbp + 0xa8]
mov r8b, byte [rbp - 0x49]
mov rax, qword [rbp + 0xd8]
add rsp, 0x20
mov rcx, qword [rcx]
mov rdx, qword [rax]
mov byte [rcx + rdx + 8], r8b
mov rcx, qword [rax]
movabs rax, 0x4febac3337501f06
movabs rdx, 0x4febac3337501f07
xor rax, rdx
mov rdx, rcx
and rdx, rax
shl rdx, 1
mov rax, rcx
xor rax, 1
add rax, rdx
mov qword [rbp - 0x48], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0x75c5ae62d20d8016
movabs rdx, 0x75c5ae62d20d8016
xor rcx, rdx
cmp rax, rcx
jge 0x140009d6f
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x140009d8c
mov rcx, qword [rbp - 0x48]
mov rax, qword [rbp + 0xa8]
mov rdx, qword [rbp + 0xd8]
mov qword [rdx], rcx
mov rax, qword [rax]
mov byte [rax + rcx + 8], 0
mov rcx, qword [rbp + 0xd8]
mov rax, qword [rbp - 0x30]
mov dl, al
mov al, 0x38
xor al, 7
and dl, al
mov al, dl
or al, 0x80
xor al, 0xff
or dl, 0x80
xor dl, 0xff
or al, dl
xor al, 0xff
mov byte [rbp - 0x59], al
movabs rdx, 0xaf2b167131051c9b
movabs rax, 0xaf2b167131051c9a
xor rdx, rax
sub rsp, 0x20
call fcn.140022539
mov rcx, qword [rbp + 0xa8]
mov r8b, byte [rbp - 0x59]
mov rax, qword [rbp + 0xd8]
add rsp, 0x20
mov rcx, qword [rcx]
mov rdx, qword [rax]
mov byte [rcx + rdx + 8], r8b
mov rcx, qword [rax]
movabs rdx, 0xf9abde467bf67649
movabs rax, 0xf9abde467bf67648
xor rdx, rax
mov rax, rcx
add rax, rdx
mov qword [rbp - 0x58], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0x32decc65797b0943
movabs rdx, 0x32decc65797b0943
xor rcx, rdx
cmp rax, rcx
jge 0x140009e58
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp - 0x28]
add rsp, 0x20
mov qword [rbp + 0x40], rax
jmp 0x14000a0f0
mov rax, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x58]
mov rcx, qword [rbp + 0xa8]
mov r8, qword [rbp + 0xd8]
mov qword [r8], rdx
mov rcx, qword [rcx]
mov r8b, 0xfb
xor r8b, 0xfb
mov byte [rcx + rdx + 8], r8b
mov qword [rbp + 0x40], rax
jmp 0x14000a0f0
mov rcx, qword [rbp + 0xd8]
mov edx, 1
sub rsp, 0x20
call fcn.140022539
mov rcx, qword [rbp + 0xa8]
mov rax, qword [rbp + 0xd8]
add rsp, 0x20
mov rcx, qword [rcx]
mov rdx, qword [rax]
mov r8b, 0x1e
xor r8b, 0xf1
mov byte [rcx + rdx + 8], r8b
mov rcx, qword [rax]
xor eax, eax
mov edx, eax
sub rdx, 1
mov rax, rcx
sub rax, rdx
mov qword [rbp - 0x68], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x140009efa
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x140009f17
mov rcx, qword [rbp - 0x68]
mov rax, qword [rbp + 0xa8]
mov rdx, qword [rbp + 0xd8]
mov qword [rdx], rcx
mov rax, qword [rax]
mov byte [rax + rcx + 8], 0
mov rcx, qword [rbp + 0xd8]
mov edx, 1
sub rsp, 0x20
call fcn.140022539
mov rcx, qword [rbp + 0xa8]
mov rax, qword [rbp + 0xd8]
add rsp, 0x20
mov rcx, qword [rcx]
mov rdx, qword [rax]
mov r8b, 0xfd
xor r8b, 0x42
mov byte [rcx + rdx + 8], r8b
mov rdx, qword [rax]
mov rcx, rdx
and rcx, 1
mov rax, rdx
or rax, 1
add rcx, rax
mov qword [rbp - 0x70], rcx
xor rdx, 0xffffffffffffffff
mov rax, rcx
and rax, rdx
movabs r8, 0xd0a33740fc7f686e
movabs r9, 0x2f5cc8bf03809791
xor r8, r9
xor rax, r8
movabs r8, 0xd5758bec632b8a2c
movabs r9, 0x2a8a74139cd475d3
xor r8, r9
xor rcx, r8
movabs r8, 0xbaee0491a3f5a4ca
movabs r9, 0x4511fb6e5c0a5b35
xor r8, r9
xor rdx, r8
or rcx, rdx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
or rax, rcx
movabs rcx, 0x8d8f33cef65fbb69
movabs rdx, 0x8d8f33cef65fbb69
xor rcx, rdx
cmp rax, rcx
jge 0x14000a000
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x14000a01d
mov rcx, qword [rbp - 0x70]
mov rax, qword [rbp + 0xa8]
mov rdx, qword [rbp + 0xd8]
mov qword [rdx], rcx
mov rax, qword [rax]
mov byte [rax + rcx + 8], 0
mov rcx, qword [rbp + 0xd8]
mov edx, 1
sub rsp, 0x20
call fcn.140022539
mov rcx, qword [rbp + 0xa8]
mov rax, qword [rbp + 0xd8]
add rsp, 0x20
mov rcx, qword [rcx]
mov rdx, qword [rax]
mov byte [rcx + rdx + 8], 0xbd
mov rcx, qword [rax]
movabs rdx, 0x8b46008c30a08753
movabs rax, 0x8b46008c30a08752
xor rdx, rax
mov rax, rcx
and rax, rdx
movabs r8, 0x7dbace4e2cedf1b3
movabs rdx, 0x7dbace4e2cedf1b2
xor r8, rdx
mov rdx, rcx
or rdx, r8
add rax, rdx
mov qword [rbp - 0x78], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x14000a0c1
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x88]
add rsp, 0x20
mov qword [rbp + 0x40], rax
jmp 0x14000a0f0
mov rax, qword [rbp + 0x88]
mov rdx, qword [rbp - 0x78]
mov rcx, qword [rbp + 0xa8]
mov r8, qword [rbp + 0xd8]
mov qword [r8], rdx
mov rcx, qword [rcx]
mov r8b, 0xe
xor r8b, 0xe
mov byte [rcx + rdx + 8], r8b
mov qword [rbp + 0x40], rax
mov rcx, qword [rbp + 0xd0]
mov rax, qword [rbp + 0x40]
mov cx, word [rcx + rax*2]
cmp cx, 0
mov word [rbp + 0xb6], cx
mov qword [rbp + 0xb8], rax
jne 0x140008e25
mov rax, qword [rbp + 0xe0]
lea rsp, [rbp + 0x108]
pop rbx
pop rbp
ret