Function at 0x140004910
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x1e0
mov qword [rsp + 0x1b0], r8
mov qword [rsp + 0x1b8], rdx
mov qword [rsp + 0x1c0], rcx
mov qword [rsp + 0x1c8], rcx
call fcn.140006549
mov qword [rsp + 0x1d0], rax
call fcn.140006549
xor eax, eax
mov qword [rsp + 0x1d8], rax
mov rax, qword [rsp + 0x1d8]
mov qword [rsp + 0x1a8], rax
cmp rax, 0x10
je 0x1400049c0
mov rax, qword [rsp + 0x1a8]
mov rcx, qword [rsp + 0x1c0]
mov dl, 0xc9
xor dl, 0xc9
mov byte [rcx + rax], dl
movabs rcx, 0xf440e2d6543b5751
movabs rdx, 0x6e894c5996f2a61
xor rcx, rdx
add rax, rcx
add rax, 1
movabs rcx, 0xf2a87613cd547d30
sub rax, rcx
mov qword [rsp + 0x1d8], rax
jmp 0x140004956
mov rcx, qword [rsp + 0x1b0]
mov rax, rcx
shl rax, 1
mov qword [rsp + 0x190], rax
cvtsi2sd xmm0, rcx
movsd xmm1, qword [0x1401e2390]
mulsd xmm0, xmm1
movsd qword [rsp + 0x198], xmm0
cvtsi2sd xmm1, rax
movsd qword [rsp + 0x1a0], xmm1
ucomisd xmm0, xmm1
jne 0x140004a14
jp 0x140004a14
jmp 0x140004bbe
mov ecx, dword [0x1401d5370]
sub ecx, dword [0x1401d5374]
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x88f6a66a
mov edx, 0xffffffff
xor edx, 0x88f6a66a
and ecx, edx
or eax, ecx
and eax, 0x1435d739
xor ecx, ecx
sub ecx, eax
mov eax, 0xf496f9e2
xor eax, 0xf496f9e2
mov edx, 0xfc9b7727
xor edx, 0x3d8949ec
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
cmp eax, 0xdca620ca
je 0x1400064dd
movsd xmm1, qword [rsp + 0x198]
movsd xmm0, qword [rsp + 0x1a0]
mov ecx, dword [0x1401d5378]
mov edx, dword [0x1401d537c]
mov eax, ecx
xor eax, edx
mov r8d, 0xb2aac0b7
xor r8d, 0x4d553f48
xor edx, r8d
and ecx, edx
shl ecx, 1
sub ecx, eax
and ecx, 0x57fe7275
xor ecx, 0xffffffff
mov eax, 0xcd9ba226
xor eax, 0x503d01f5
mov edx, 0x206c96e6
xor edx, 0xdf936919
xor eax, edx
mov edx, 0xffffffff
xor edx, 0xdd869a9c
or ecx, eax
mov eax, 0x283d0937
xor eax, 0xf5bb93ab
or eax, edx
mov edx, 0xc3a64f40
xor edx, 0x3c59b0bf
xor ecx, edx
and ecx, eax
mov eax, ecx
or eax, eax
mov edx, 0x5b005d67
xor edx, 0xa4ffa298
xor eax, edx
mov edx, 0xffffffff
xor edx, 0xd58749eb
mov r8d, 0xffffffff
xor r8d, 0xd58749eb
and edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
mov edx, 0x31ae672e
xor edx, 0xe4292ec5
or ecx, edx
mov edx, 0x7df620e7
xor edx, 0x8209df18
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov dword [rsp + 0x188], eax
subsd xmm0, xmm1
call fcn.1401d43f0
movaps xmm1, xmm0
movsd xmm0, qword [rsp + 0x198]
movsd qword [rsp + 0x180], xmm1
call fcn.1401d43f0
movsd xmm1, qword [rsp + 0x180]
mov eax, dword [rsp + 0x188]
movsd xmm2, qword [0x1401e2398]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
setb cl
mov byte [rsp + 0x18f], cl
cmp eax, 0x7338e15e
jb 0x140004a6a
mov al, byte [rsp + 0x18f]
test al, 1
jne 0x140004bb4
jmp 0x140004bbe
call fcn.1400077a3
jmp 0x1400064ca
mov ecx, dword [0x1401d5380]
mov edx, dword [0x1401d5384]
mov r8d, 0x3d69473d
xor r8d, 0xc296b8c2
mov eax, ecx
xor eax, r8d
mov r9d, 0x1ee22ce1
xor r9d, 0xe11dd31e
mov r8d, ecx
xor r8d, r9d
and eax, r8d
mov r9d, 0x6af2e1bc
xor r9d, 0x950d1e43
mov r8d, edx
xor r8d, r9d
mov r10d, 0x7736c41
xor r10d, 0xf88c93be
mov r9d, edx
xor r9d, r10d
and r8d, r9d
or eax, r8d
mov r8d, 0xf9f1fcda
xor r8d, 0x60e0325
xor eax, r8d
or ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
add eax, 0xaddceacf
mov r8d, eax
and r8d, 0x5991b618
xor eax, 0x5991b618
or r8d, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x16218bf4
mov edx, 0xffffffff
xor edx, 0x16218bf4
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0xbf217f0a
and ecx, 0x16218bf4
and edx, 0xbf217f0a
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0x2c3aed5b
xor ecx, 0x2db8013d
cmp eax, ecx
jbe 0x1400064e6
mov eax, dword [0x1401d5388]
xor eax, 0xe5e12f77
and eax, dword [0x1401d538c]
mov ecx, 0x7fe9a759
xor edx, edx
div ecx
mov edx, 0x667e96a7
xor edx, 0x99816958
mov ecx, eax
xor ecx, edx
mov edx, 0xdf74b8d7
xor edx, 0x2477c7ca
and ecx, edx
mov edx, 0xffffffff
xor edx, 0xfb037f1d
and eax, edx
sub eax, ecx
mov ecx, 0x670cfc27
xor ecx, 0xeb3d7886
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x190]
mov rcx, rdx
add rcx, 2
mov qword [rsp + 0x170], rcx
xor rdx, 0xffffffffffffffff
and rcx, rdx
movabs rdx, 0x48d08113a31d96f
movabs r8, 0x48d08113a31d96f
xor rdx, r8
cmp rcx, rdx
setl cl
mov byte [rsp + 0x17f], cl
cmp eax, 0xcaa8f733
jae 0x140004c9c
mov al, byte [rsp + 0x17f]
test al, 1
jne 0x140004d51
jmp 0x140004d5b
call fcn.1400077a3
jmp 0x1400064ca
mov rdx, qword [rsp + 0x170]
mov rcx, qword [rsp + 0x1c0]
call fcn.1400048a0
mov rax, qword [rsp + 0x1d0]
cmp byte [rax], 0
jne 0x1400064ca
mov eax, dword [0x1401d5390]
xor edx, edx
div dword [0x1401d5394]
mov ecx, 0xe76f9315
xor ecx, 0x10837994
and ecx, eax
xor ecx, 0xffffffff
add eax, 0xf7ecea81
add eax, 1
add eax, ecx
mov edx, 0x8d9a2a2
xor edx, 0x44300a4e
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, 0x4ce9a8ec
and eax, ecx
mov ecx, 0xf7876d2b
xor ecx, 0x2f54171d
xor edx, edx
div ecx
mov ecx, 0x4ebd6137
xor ecx, 0x790af041
cmp eax, ecx
ja 0x1400064ef
mov rdx, qword [rsp + 0x1b0]
mov rcx, qword [rsp + 0x1c0]
mov r8d, dword [0x1401d5398]
mov r9d, dword [0x1401d539c]
mov eax, r8d
not eax
mov r10d, r9d
not r10d
or eax, r10d
and r8d, r9d
not eax
or eax, r8d
and eax, 0xb7a34438
add eax, 0x659f184c
or eax, 0x71de801a
mov r10, rdx
add r10, 0xfffffffffffffffc
mov qword [rsp + 0x138], r10
test r10, r10
setns r8b
mov r9, rdx
or r9, r10
sets r9b
add r8b, r9b
inc r8b
mov byte [rsp + 0x147], r8b
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x148], rcx
mov rcx, rdx
and rcx, 0xfffffffffffffffd
mov r8, rdx
or r8, 0xfffffffffffffffd
add rcx, r8
mov qword [rsp + 0x150], rcx
mov r10, rdx
not r10
mov r8, rcx
or r8, r10
mov r9, rcx
and r9, r10
not r8
or r8, r9
setns r8b
test rcx, rcx
sets cl
or cl, r8b
xor cl, 1
mov byte [rsp + 0x15f], cl
mov r8, rdx
and r8, 0xfffffffffffffffe
mov rcx, rdx
or rcx, 0xfffffffffffffffe
add r8, rcx
mov qword [rsp + 0x160], r8
test r8, r8
setns cl
or rdx, r8
sets dl
add cl, dl
inc cl
mov byte [rsp + 0x16f], cl
cmp eax, 0xfdcafc03
ja 0x140004de4
xor eax, eax
mov rcx, rax
mov qword [rsp + 0x128], rcx
mov qword [rsp + 0x130], rax
jmp 0x140004efe
mov rcx, qword [rsp + 0x1b0]
mov rax, qword [rsp + 0x128]
mov rdx, qword [rsp + 0x130]
mov qword [rsp + 0x118], rdx
mov qword [rsp + 0x120], rax
cmp rax, rcx
jge 0x140006377
mov rax, qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x120]
mov al, byte [rax + rcx]
mov byte [rsp + 0x10f], al
movzx ecx, al
mov qword [rsp + 0x110], rcx
cmp al, 0xff
jle 0x140005035
mov rcx, qword [rsp + 0x110]
mov rdx, qword [rsp + 0x120]
xor eax, eax
mov r8d, eax
sub r8, 1
mov rax, rdx
sub rax, r8
mov r8, rdx
or r8, r8
xor r8, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
mov r10, 0xffffffffffffffff
xor r10, 0xffffffffffffffff
and r9, r10
or r8, r9
xor r8, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
and rdx, r9
xor r8, 0xffffffffffffffff
movabs r9, 0x727fe3f19d2ae255
movabs r10, 0x8d801c0e62d51daa
xor r9, r10
xor rdx, r9
and r8, rdx
movabs r9, 0x483ee8a76354d2dd
movabs rdx, 0xb7c117589cab2d22
xor r9, rdx
mov rdx, rax
xor rdx, r9
mov r9, rax
xor r9, 0xffffffffffffffff
and rdx, r9
or r8, r8
xor r8, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rdx, r8
cmp rdx, 0
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0x100], rax
jge 0x140006001
call fcn.1400077a3
jmp 0x1400064ca
mov rax, qword [rsp + 0x110]
and rax, 0xe0
movabs rcx, 0xab9ef63e88163709
movabs rdx, 0xab9ef63e881637c9
xor rcx, rdx
cmp rax, rcx
jne 0x140005396
mov eax, dword [0x1401d53a0]
xor edx, edx
div dword [0x1401d53a4]
mov edx, 0xfba9644
xor edx, 0xf04569bb
mov ecx, eax
xor ecx, edx
and ecx, 0x4842c2ab
mov edx, 0xb5113a3e
xor edx, 0xfd53f895
mov r8d, 0xa90c4652
xor r8d, 0x56f3b9ad
xor edx, r8d
and eax, edx
sub eax, ecx
mov ecx, 0x337db25b
xor edx, edx
div ecx
or eax, 0xb1dcde7e
mov ecx, 0xea15e107
xor ecx, 0x34bf7ffc
cmp eax, ecx
je 0x1400064f8
mov eax, dword [0x1401d53a8]
mov r8d, dword [0x1401d53ac]
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, 0x5df89739
xor edx, edx
div ecx
mov ecx, 0x6c928160
xor ecx, 0xe7697dee
mov edx, 0x506e059d
xor edx, 0xaf91fa62
xor ecx, edx
mov edx, 0x99a699d7
xor edx, 0x99a699d7
mov r8d, 0xb9d58a53
xor r8d, 0xb9d58a52
sub edx, r8d
sub ecx, edx
sub eax, ecx
mov ecx, 0x3934da5f
xor edx, edx
div ecx
mov ecx, 0xf79290ca
xor ecx, 0xacb3d3fb
cmp eax, ecx
ja 0x1400064f8
mov al, byte [rsp + 0x16f]
test al, 1
jne 0x140005167
jmp 0x140005171
call fcn.1400077a3
jmp 0x1400064ca
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x160]
movabs r8, 0xc26b404470afb473
movabs rdx, 0xc26b404470afb472
xor r8, rdx
mov rdx, rax
add rdx, r8
mov qword [rsp + 0xe0], rdx
mov r8, rax
xor r8, 0xffffffffffffffff
mov qword [rsp + 0xe8], r8
and rdx, r8
cmp rdx, 0
setl dl
mov byte [rsp + 0xf7], dl
cmp rax, rcx
jg 0x1400052a1
mov al, byte [rsp + 0xf7]
test al, 1
jne 0x1400051e3
jmp 0x1400051ed
call fcn.1400077a3
jmp 0x1400064ca
mov r8, qword [rsp + 0xe8]
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x1b8]
mov r9, qword [rsp + 0xe0]
mov dl, byte [rsp + 0x10f]
mov r10b, 0x2c
xor r10b, 0x33
and dl, r10b
movzx edx, dl
shl rdx, 6
mov cl, byte [rcx + r9]
mov r10b, 0x63
xor r10b, 0x62
mov r9b, cl
add r9b, r10b
mov r10b, 0xa1
xor r10b, 0x5e
xor cl, r10b
mov r10b, 0x74
xor r10b, 0x4b
or cl, r10b
add cl, r9b
movzx ecx, cl
mov r9d, ecx
mov rcx, rdx
and rcx, r9
xor rdx, r9
or rcx, rdx
mov rdx, 0xffffffffffffffff
xor rdx, 2
xor r9d, r9d
sub r9, 1
sub rdx, r9
sub rax, rdx
mov rdx, rax
and rdx, r8
cmp rdx, 0
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0x100], rax
jge 0x140006001
call fcn.1400077a3
jmp 0x1400064ca
mov eax, dword [0x1401d53b0]
xor eax, 0x30f5027b
mov ecx, dword [0x1401d53b4]
xor ecx, 0x50a9c8cb
sub eax, ecx
add eax, 0xe1f26ebb
add eax, 0x6679e4c3
mov ecx, eax
and ecx, 0x7aeb395
mov edx, 0x6d09e0e4
xor edx, 0x92f61f1b
xor ecx, edx
mov edx, 0x648a2f1a
xor edx, 0x63249c8f
add eax, edx
add eax, 1
add eax, ecx
cmp eax, 0x8d2b8411
je 0x140006501
mov eax, dword [0x1401d53b8]
xor eax, 0xb3a383b9
or eax, dword [0x1401d53bc]
mov ecx, 0x3f7966b2
xor ecx, 0xa63fe621
xor edx, edx
div ecx
mov ecx, 0xe9df5428
xor ecx, 0xe9df5428
sub ecx, eax
mov eax, 0x9ca85409
xor eax, 0x9ca85409
mov edx, 0x5e4e433c
xor edx, 0x33bb88ea
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0x98c70675
xor ecx, 0x7b467aa
xor edx, edx
div ecx
cmp eax, 0x80e49cdc
je 0x1400052f6
mov rcx, qword [rsp + 0xe0]
mov dl, byte [rsp + 0xf7]
mov eax, 0xfffd
test dl, 1
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], rax
jne 0x14000538c
jmp 0x1400061fe
call fcn.1400077a3
jmp 0x1400064ca
mov rax, qword [rsp + 0x110]
and rax, 0xf0
movabs rcx, 0x59e9d2f54173c571
movabs rdx, 0x59e9d2f54173c591
xor rcx, rdx
cmp rax, rcx
jne 0x14000587f
mov al, byte [rsp + 0x15f]
test al, 1
jne 0x1400053d8
jmp 0x1400053e2
call fcn.1400077a3
jmp 0x1400064ca
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x150]
movabs rdx, 0x9c523e3c8d4d8428
movabs r8, 0x9c523e3c8d4d8429
xor rdx, r8
mov r8, rax
add r8, rdx
mov qword [rsp + 0xb8], r8
mov r9, rax
xor r9, 0xffffffffffffffff
mov qword [rsp + 0xc0], r9
movabs r10, 0xffed66e2b99b2c4d
movabs rdx, 0x12991d4664d3b2
xor r10, rdx
mov rdx, r8
xor rdx, r10
movabs r11, 0x9d71f9f3bc261130
movabs r10, 0x628e060c43d9eecf
xor r11, r10
mov r10, r9
xor r10, r11
or rdx, r10
xor r8, 0xffffffffffffffff
movabs r10, 0x88b631eb49ef9c63
movabs r11, 0x7749ce14b610639c
xor r10, r11
xor r9, r10
or r8, r9
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rdx, r8
cmp rdx, 0
setl dl
mov byte [rsp + 0xcf], dl
cmp rax, rcx
jg 0x14000571a
mov eax, dword [0x1401d53c0]
xor edx, edx
div dword [0x1401d53c4]
mov ecx, 0xd7d3e87e
xor ecx, 0x601eb8ff
xor edx, edx
div ecx
mov ecx, eax
mov eax, 0x8e6613c2
xor eax, 0x85c37d1d
imul ecx, eax
mov edx, 0xffffffff
xor edx, 0xa02a9b36
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0x3ccb0c8c
xor ecx, 0x82e9c4d2
cmp eax, ecx
ja 0x14000650a
mov eax, dword [0x1401d53c8]
add eax, dword [0x1401d53cc]
mov ecx, 0xe552d8ee
xor edx, edx
div ecx
mov ecx, eax
add ecx, 0xac1c5e90
add ecx, 0x96974d71
sub ecx, 0xac1c5e90
mov eax, ecx
or eax, 0x43082e88
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x43082e88
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xdde7e3f4
xor ecx, 0xb91a4ab9
cmp eax, ecx
jb 0x1400054f6
mov al, byte [rsp + 0xcf]
test al, 1
jne 0x140005568
jmp 0x140005572
call fcn.1400077a3
jmp 0x1400064ca
mov rdx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0x120]
add rax, 2
mov qword [rsp + 0xb0], rax
mov rcx, rax
xor rcx, rdx
movabs r8, 0xf9436650c12a796d
movabs r9, 0x6bc99af3ed58692
xor r8, r9
xor rcx, r8
or rax, rdx
and rax, rcx
movabs rcx, 0x8a9b67c6a88a2e2d
movabs rdx, 0x8a9b67c6a88a2e2d
xor rcx, rdx
cmp rax, rcx
jge 0x1400055de
call fcn.1400077a3
jmp 0x1400064ca
mov r8, qword [rsp + 0xc0]
mov rax, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x1b8]
mov r9, qword [rsp + 0xb0]
mov cl, byte [rsp + 0x10f]
mov r10b, 0x76
xor r10b, 0x79
and cl, r10b
movzx ecx, cl
mov r10d, ecx
movabs rcx, 0xd2953036a24a7c27
movabs r11, 0xd2953036a24a7c2b
xor rcx, r11
shl r10, cl
mov rcx, qword [rsp + 0xb8]
mov cl, byte [rdx + rcx]
and cl, 0x3f
movzx ecx, cl
mov r11d, ecx
movabs rcx, 0x5b69cee8bcb1765a
movabs rsi, 0x5b69cee8bcb1765c
xor rcx, rsi
shl r11, cl
mov rcx, r11
or rcx, r10
mov r9b, byte [rdx + r9]
mov r10b, 0x5b
xor r10b, 0xa4
mov dl, r9b
xor dl, r10b
xor r9b, 0xff
and dl, r9b
mov r9b, 0xfb
xor r9b, 0xc4
mov r10b, 0x39
xor r10b, 6
or r9b, r10b
xor r9b, 0xff
xor dl, 0xff
xor r9b, 0xff
and dl, r9b
movzx edx, dl
mov r10d, edx
mov r9, r10
xor r9, 0xffffffffffffffff
mov rdx, rcx
and rdx, r9
mov r9, rcx
xor r9, r10
add rcx, r9
sub rcx, rdx
add rax, 3
movabs rdx, 0xce6f2dca1c0dc57f
movabs r9, 0x3190d235e3f23a80
xor rdx, r9
xor r8, rdx
mov rdx, rax
xor rdx, r8
and rdx, rax
movabs r8, 0xdf16ae8988008be3
movabs r9, 0xdf16ae8988008be3
xor r8, r9
cmp rdx, r8
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0x100], rax
jge 0x140006001
call fcn.1400077a3
jmp 0x1400064ca
mov edx, dword [0x1401d53d0]
mov eax, dword [0x1401d53d4]
xor eax, 0x50e1a650
mov ecx, edx
xor ecx, eax
xor eax, 0xffffffff
and edx, eax
mov eax, 0x7419b67c
xor eax, 0x7419b67e
imul eax, edx
sub eax, ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0xdb272815
add eax, ecx
imul ecx, eax, 0x886616fd
mov eax, ecx
or eax, eax
mov edx, 0x312505ba
xor edx, 0xcedafa45
xor eax, edx
mov edx, 0xdcb01ce8
xor edx, 0xf3366192
mov r8d, 0x5fc318ae
xor r8d, 0xa03ce751
xor edx, r8d
mov r8d, 0xffffffff
xor r8d, 0x2f867d7a
and edx, r8d
or eax, edx
mov edx, 0x57796ba6
xor edx, 0xa8869459
xor eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x2f867d7a
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
cmp eax, 0x6da41a07
jbe 0x140006513
mov eax, dword [0x1401d53d8]
xor edx, edx
div dword [0x1401d53dc]
or eax, eax
xor eax, 0xffffffff
mov ecx, 0x435fd5a4
or ecx, 0x435fd5a4
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
sub eax, 0x9f98d9f3
mov ecx, 0xe120ae33
xor ecx, 0x1edf51cc
mov edx, eax
xor edx, ecx
and edx, 0xf4d4bfd3
mov r8d, 0xffffffff
xor r8d, 0xf4d4bfd3
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xf4d4bfd3
mov r8d, 0x92d55367
xor r8d, 0x6601ecb4
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0xb91152f5
jae 0x1400057c6
mov rcx, qword [rsp + 0xb8]
mov dl, byte [rsp + 0xcf]
mov eax, 0xfffd
test dl, 1
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], rax
jne 0x140005875
jmp 0x1400061fe
call fcn.1400077a3
jmp 0x1400064ca
mov rax, qword [rsp + 0x110]
and rax, 0xf8
cmp rax, 0xf0
jne 0x140005e09
mov al, byte [rsp + 0x147]
test al, 1
jne 0x1400058ad
jmp 0x1400059ca
mov eax, dword [0x1401d53e0]
mov ecx, dword [0x1401d53e4]
xor ecx, 0xa48ec055
or eax, ecx
mov ecx, 0x6a8ab41e
xor edx, edx
div ecx
mov ecx, 0xffffffff
xor ecx, 0xa6183976
add eax, ecx
add eax, 1
mov r8d, 0xffffffff
xor r8d, 0xac5f859e
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x175eb1d3
xor r8d, 0xbb01344d
mov edx, eax
and edx, r8d
or eax, 0xac5f859e
imul eax, edx
add eax, ecx
cmp eax, 0xdabd9e91
ja 0x14000651c
mov eax, dword [0x1401d53e8]
mov ecx, dword [0x1401d53ec]
xor ecx, 0x243805fc
xor eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x3bc45b00
add eax, ecx
add eax, 1
mov edx, eax
xor edx, 0xffffffff
and edx, 0xc8a3174d
mov r8d, 0x8b5a82c0
xor r8d, 0x43f9958d
mov ecx, 0x78b46830
xor ecx, 0x874b97cf
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xc8a3174d
or eax, 0xc8a3174d
imul eax, edx
add eax, ecx
mov edx, 0xffffffff
xor edx, 0xdf2ba63d
mov ecx, eax
and ecx, edx
mov r8d, 0x95e75ba9
xor r8d, 0x4accfd94
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov dword [rsp + 0xac], eax
call fcn.1400077a3
mov eax, dword [rsp + 0xac]
cmp eax, 0x1cb78af7
je 0x14000651c
jmp 0x1400064ca
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x138]
mov rdx, rax
add rdx, 1
mov qword [rsp + 0x98], rdx
mov r8, rax
xor r8, 0xffffffffffffffff
mov qword [rsp + 0xa0], r8
and rdx, r8
cmp rdx, 0
setl dl
mov byte [rsp + 0xab], dl
cmp rax, rcx
jg 0x140005dcd
mov al, byte [rsp + 0xab]
test al, 1
jne 0x140005a26
jmp 0x140005a30
call fcn.1400077a3
jmp 0x1400064ca
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x120]
movabs r8, 0x66af6502eef1991d
movabs rax, 0x66af6502eef1991f
xor r8, rax
mov rax, rdx
and rax, r8
movabs r8, 0xb94a1865bd7efe43
movabs r9, 0xb94a1865bd7efe41
xor r8, r9
or rdx, r8
add rax, rdx
mov qword [rsp + 0x90], rax
and rax, rcx
cmp rax, 0
jge 0x140005bc3
mov edx, dword [0x1401d53f0]
or edx, dword [0x1401d53f4]
mov eax, 0xaa31041b
xor eax, 0x167e8c0f
imul edx, eax
mov eax, 0xf981e7fa
xor eax, 0xf616f667
sub edx, eax
mov eax, 0xadb043e2
xor eax, 0x620a5b83
add edx, eax
add edx, 0xf97119d
mov ecx, edx
xor ecx, 0xebaf4812
mov eax, 0x52218391
xor eax, 0xb98ecb83
mov r8d, 0x8a6af378
xor r8d, 0x75950c87
xor eax, r8d
and edx, eax
mov eax, 0x5c7289f4
xor eax, 0x5c7289f6
imul eax, edx
sub eax, ecx
cmp eax, 0x9730294c
jae 0x140006525
mov eax, dword [str._S1]
xor eax, 0xda665f7a
mov ecx, dword [0x1401d53fc]
xor ecx, 0x22292213
and eax, ecx
mov ecx, 0xd7b71459
xor edx, edx
div ecx
mov ecx, eax
mov r8d, 0x16d80b48
xor r8d, 0x4ab68fc7
mov eax, 0xcfb204a9
xor eax, 0x304dfb56
xor r8d, eax
mov edx, ecx
and edx, r8d
mov eax, ecx
or eax, r8d
mov r8d, 0x9243543f
xor r8d, 0x6dbcabc0
xor eax, r8d
imul eax, edx
mov edx, ecx
and edx, 0x5c6e848f
mov r8d, 0xd69e5f18
xor r8d, 0x8af0db97
or ecx, r8d
imul ecx, edx
add ecx, eax
mov eax, ecx
and eax, 0x394199ce
or ecx, 0x394199ce
add eax, ecx
mov dword [rsp + 0x8c], eax
mov eax, 0xb9a32470
xor eax, 0x39747b5d
mov dword [rsp + 0x88], eax
call fcn.1400077a3
mov ecx, dword [rsp + 0x88]
mov eax, dword [rsp + 0x8c]
cmp eax, ecx
ja 0x140006525
jmp 0x1400064ca
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x120]
add rax, 3
mov qword [rsp + 0x80], rax
and rax, rcx
cmp rax, 0
jge 0x140005bf6
call fcn.1400077a3
jmp 0x1400064ca
mov eax, dword [0x1401d5400]
mov ecx, dword [0x1401d5404]
mov edx, 0x4f97d4a6
xor edx, 0x55c22e94
xor ecx, edx
sub eax, ecx
mov ecx, 0x38ce7c9c
xor edx, edx
div ecx
mov ecx, 0x6f248c35
xor edx, edx
div ecx
mov ecx, 0xe1081d9b
xor ecx, 0xe2070bda
and eax, ecx
cmp eax, 0x48379358
je 0x14000652e
mov rdx, qword [rsp + 0xa0]
mov r9, qword [rsp + 0x1b8]
mov r10, qword [rsp + 0x80]
mov r11, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x98]
mov r8b, byte [rsp + 0x10f]
mov eax, dword [0x1401d5408]
xor eax, 0xc43b1d31
mov esi, dword [0x1401d540c]
mov edi, 0x658de9a5
xor edi, 0x56fcd235
xor esi, edi
sub eax, esi
mov esi, 0xc7bd0a4d
xor esi, 0x3842f5b2
mov edi, eax
xor edi, esi
and edi, 0xf7bbb5df
mov ebx, 0xffffffff
xor ebx, 0xf7bbb5df
mov esi, eax
and esi, ebx
imul esi, edi
mov edi, eax
and edi, 0xf7bbb5df
or eax, 0xf7bbb5df
imul eax, edi
add eax, esi
xor eax, 0x4e5cade2
mov edi, 0xd6304157
xor edi, 0x91c0c641
mov esi, 0x776f41b4
xor esi, 0x8890be4b
xor edi, esi
mov esi, eax
and esi, edi
mov edi, eax
xor edi, 0x47f08716
add eax, edi
sub eax, esi
and r8b, 7
movzx r8d, r8b
mov esi, r8d
shl rsi, 0x12
mov cl, byte [r9 + rcx]
and cl, 0x3f
movzx ecx, cl
mov r8d, ecx
movabs rcx, 0x3064c18d7d5b8577
movabs rdi, 0x3064c18d7d5b857b
xor rcx, rdi
shl r8, cl
mov rcx, qword [rsp + 0x120]
or r8, rsi
mov r11b, byte [r9 + r11]
and r11b, 0x3f
movzx r11d, r11b
mov edi, r11d
shl rdi, 6
mov rsi, rdi
xor rsi, 0xffffffffffffffff
mov r11, r8
and r11, rsi
mov rsi, r8
xor rsi, rdi
add r8, rsi
sub r8, r11
mov qword [rsp + 0x60], r8
mov r9b, byte [r9 + r10]
and r9b, 0x3f
movzx r9d, r9b
mov r11d, r9d
mov r10, r11
xor r10, 0xffffffffffffffff
mov r9, r8
and r9, r10
mov r10, r8
xor r10, r11
add r8, r10
sub r8, r9
mov qword [rsp + 0x68], r8
add rcx, 4
mov qword [rsp + 0x70], rcx
and rcx, rdx
cmp rcx, 0
setl cl
mov byte [rsp + 0x7f], cl
cmp eax, 0x2a1d46ab
jb 0x14000652e
mov al, byte [rsp + 0x7f]
test al, 1
jne 0x140005dc3
jmp 0x140005fc7
call fcn.1400077a3
jmp 0x1400064ca
mov rcx, qword [rsp + 0x98]
mov dl, byte [rsp + 0xab]
mov eax, 0xfffd
test dl, 1
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], rax
jne 0x140005dff
jmp 0x1400061fe
call fcn.1400077a3
jmp 0x1400064ca
mov r9, qword [rsp + 0x120]
movabs rax, 0x172f607ae7cc4b7f
movabs rcx, 0x172f607ae7cc4b7e
xor rax, rcx
movabs rcx, 0x3bea0e8f21f335ba
movabs rdx, 0xc415f170de0cca45
xor rcx, rdx
xor rax, rcx
movabs rcx, 0xc3ded6120ea0b92a
movabs rdx, 0xc3ded6120ea0b92a
xor rcx, rdx
movabs rdx, 0x28aee53d8fd5e9f6
movabs r8, 0x28aee53d8fd5e9f7
xor rdx, r8
sub rcx, rdx
sub rax, rcx
mov rcx, r9
sub rcx, rax
mov rax, r9
xor rax, 0xffffffffffffffff
movabs r8, 0x329ed822be07526a
movabs rdx, 0x8fcffff0645a67b3
xor r8, rdx
and r8, rax
movabs r10, 0xb2c580049318b25a
movabs rax, 0xf94a7d649458783
xor r10, rax
movabs rax, 0x531803b57cbcc259
movabs rdx, 0xace7fc4a83433da6
xor rax, rdx
xor r10, rax
and r9, r10
movabs rax, 0x8f116f6d12719711
movabs rdx, 0x70ee9092ed8e68ee
xor rax, rdx
movabs rdx, 0x9afe03d626895f4c
movabs r11, 0x6501fc29d976a0b3
xor rdx, r11
xor rax, rdx
movabs rdx, 0xbd5127d2da5d35d9
and rax, rdx
movabs rdx, 0xffa6f45dd155b0bb
movabs r11, 0x590ba22eaa4f44
xor rdx, r11
and rdx, r10
or r8, r9
or rax, rdx
xor r8, rax
movabs rax, 0xbbd6c36a9c6420be
movabs rdx, 0x44293c95639bdf41
xor rax, rdx
mov rdx, rcx
xor rdx, rax
movabs r9, 0x9105cb043422b2d7
movabs rax, 0x6efa34fbcbdd4d28
xor r9, rax
mov rax, r8
xor rax, r9
or rdx, rax
mov rax, rcx
xor rax, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rax, r8
xor rdx, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
or rdx, rax
movabs r8, 0x8cdf1dea9dfcac5b
movabs rax, 0x8cdf1dea9dfcac5b
xor r8, rax
mov eax, 0xfffd
cmp rdx, r8
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], rax
jge 0x1400061fe
call fcn.1400077a3
jmp 0x1400064ca
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
movabs rdx, 0xb2a7ab002a26a9af
movabs r8, 0xb2a7ab002a27a9af
xor rdx, r8
cmp rcx, rdx
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0x100], rax
jae 0x14000622a
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rax
mov eax, dword [0x1401d5410]
xor edx, edx
div dword [0x1401d5414]
mov r8d, eax
mov ecx, r8d
xor ecx, 0xffffffff
mov eax, 0x625d2c95
xor eax, 0x85fe6abd
and eax, ecx
mov edx, 0xffffffff
xor edx, 0xe7a34628
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0xe0777de3
and ecx, 0xe7a34628
and edx, 0xe0777de3
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0x76a2120a
xor ecx, 0x6ab9ee
and eax, ecx
mov ecx, 0x5eeb0021
xor ecx, 0x6631d2c8
imul eax, ecx
cmp eax, 0xece1d315
ja 0x140006537
mov rdx, qword [rsp + 0x58]
mov eax, dword [0x1401d5418]
mov r9d, dword [0x1401d541c]
mov ecx, eax
xor ecx, 0xffffffff
mov r8d, r9d
and r8d, ecx
mov r10d, r9d
xor r10d, 0xffffffff
mov ecx, eax
and ecx, r10d
imul ecx, r8d
mov r8d, eax
and r8d, r9d
or eax, r9d
imul eax, r8d
add eax, ecx
mov ecx, 0x25f3866d
xor ecx, 0xe097aa5b
sub eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov r8d, eax
xor r8d, 0xffffffff
and ecx, r8d
mov r8d, 0xd989261e
or r8d, 0xd989261e
xor r8d, 0xffffffff
xor ecx, 0xffffffff
xor r8d, 0xffffffff
and ecx, r8d
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xd989261e
and eax, r8d
mov r8d, 0x4dd5a889
xor r8d, 0xb22a5776
xor ecx, r8d
mov r8d, 0x61c864d5
xor r8d, 0x9e379b2a
xor eax, r8d
and ecx, eax
mov r8d, 0xffffffff
xor r8d, 0x78f567da
mov eax, ecx
xor eax, r8d
and eax, ecx
mov rcx, rdx
and rcx, 0xfffffffffffff800
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
movabs r8, 0xb34263d1e1aca383
movabs r9, 0x4cbd9c2e1e535b83
xor r8, r9
movabs r9, 0x8eb05873e41c25c1
movabs r10, 0x714fa78c1be3da3e
xor r9, r10
xor r8, r9
or rdx, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
cmp rcx, 0xd800
sete cl
mov byte [rsp + 0x4f], cl
cmp eax, 0xa36a995d
ja 0x140006537
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x118]
mov r8, qword [rsp + 0x58]
mov r9b, byte [rsp + 0x4f]
mov cx, 0xfffd
test r9b, 1
mov r9, rax
mov qword [rsp + 0xd0], r9
mov qword [rsp + 0xd8], r8
mov qword [rsp + 0x30], rdx
mov word [rsp + 0x3e], cx
mov qword [rsp + 0x40], rax
jne 0x1400062f7
jmp 0x1400061fe
mov rdx, qword [rsp + 0x118]
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xd8]
mov qword [rsp + 0x30], rdx
mov word [rsp + 0x3e], cx
mov qword [rsp + 0x40], rax
jmp 0x1400062f7
mov rax, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x118]
mov r8, qword [rsp + 0x68]
mov cx, 0xfffd
cmp r8, 0x10ffff
mov qword [rsp + 0x30], rdx
mov word [rsp + 0x3e], cx
mov qword [rsp + 0x40], rax
ja 0x1400062f7
mov rcx, qword [rsp + 0x118]
mov rax, qword [rsp + 0x148]
mov rdx, qword [rsp + 0x60]
add rdx, 0x3ff0000
shr rdx, 0xa
mov r8w, dx
mov r9w, 0x874e
xor r9w, 0x5f4e
mov dx, r8w
and dx, r9w
or r8w, 0xd800
add dx, r8w
mov word [rax + rcx*2], dx
xor eax, eax
mov edx, eax
sub rdx, 1
mov rax, rcx
sub rax, rdx
mov qword [rsp + 0x28], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x1400062cf
call fcn.1400077a3
jmp 0x1400064ca
mov rax, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x68]
and cx, 0x3ff
or cx, 0xdc00
mov qword [rsp + 0x30], rdx
mov word [rsp + 0x3e], cx
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x148]
mov r8, qword [rsp + 0x30]
mov dx, word [rsp + 0x3e]
mov rcx, qword [rsp + 0x40]
mov word [rax + r8*2], dx
mov rax, r8
add rax, 1
xor r8, 0xffffffffffffffff
mov rdx, rax
xor rdx, 0xffffffffffffffff
mov r9, rax
xor r9, 0xffffffffffffffff
and rdx, r9
or r8, r8
xor r8, 0xffffffffffffffff
or rdx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0xa8ba674aa35ee556
movabs r9, 0xa8ba674aa35ee556
xor r8, r9
cmp rdx, r8
mov qword [rsp + 0x128], rcx
mov qword [rsp + 0x130], rax
jge 0x140004efe
call fcn.1400077a3
jmp 0x1400064ca
mov eax, dword [0x1401d5420]
mov edx, dword [0x1401d5424]
xor edx, 0x409f4581
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, edx
and eax, ecx
mov ecx, 0x68808ce4
xor edx, edx
div ecx
mov r8d, 0xffffffff
xor r8d, 0x45193980
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x45193980
or eax, 0x45193980
imul eax, edx
add eax, ecx
mov ecx, 0x769c023e
xor ecx, 0x28f219c5
and ecx, eax
xor ecx, 0xffffffff
add eax, 0x5e6e1bfb
mov edx, 0xbb21b6a6
xor edx, 0xbb21b6a7
add eax, edx
add eax, ecx
cmp eax, 0xb043b831
je 0x140006540
mov rcx, qword [rsp + 0x148]
mov rdx, qword [rsp + 0x118]
mov eax, dword [0x1401d5428]
mov r8d, dword [0x1401d542c]
xor r8d, 0x24240c7e
add eax, 0xb2c451e5
add eax, r8d
sub eax, 0xb2c451e5
sub eax, 0x8399c827
xor eax, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xc3e41060
mov r8d, 0x679cac81
xor r8d, 0x7c55a5b7
mov r10d, 0x9566e9ae
xor r10d, 0x6a991651
xor r8d, r10d
or eax, r9d
or r8d, 0x1bc90936
xor eax, 0xffffffff
and eax, r8d
mov r9d, eax
xor r9d, 0xffffffff
and r9d, 0x77e1f49e
mov r10d, 0xffffffff
xor r10d, 0x77e1f49e
mov r8d, eax
and r8d, r10d
imul r8d, r9d
mov r9d, eax
and r9d, 0x77e1f49e
mov r10d, 0x582a604f
xor r10d, 0x2fcb94d1
or eax, r10d
imul eax, r9d
add eax, r8d
mov word [rcx + rdx*2], 0
push rcx
add byte [rax], al
cmp eax, 0xf292601e
jae 0x140006540
jmp 0x1400064ca
mov rax, qword [rsp + 0x1c8]
add rsp, 0x1e0
pop rbx
pop rdi
pop rsi
ret
call qword [rdi - 0x40]
shr cl, 1
test ch, ah
invalid
adc al, 0xfe
cmp eax, 0xe7ade9da
invalid
not bl
pop rbp
jmp 0x140004de4
jle 0x1400064f1
invalid
add cl, al
out dx, eax
jmp 0x1400052f6
add eax, dword [rax]
test eax, 0xefe3e9ff
invalid
invalid
ret 0xc049
jg 0x1400064b7
outsd dx, dword [rsi]
jmp 0x140005b04
movsd dword [rdi], dword [rsi]
xor dword [rbp - 0x17], esp
add al, 0xf7
invalid
jo 0x1400065ae
std
jmp 0x140006090
test byte [rbx - 0x55], al
invalid
add byte [rax], al
mov rcx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rcx
cmp byte [rax], 0
je 0x140006693
mov r8, qword [rsp + 0x28]
mov rax, qword [rsp + 0x20]
movabs rdx, 0xc297ba13e96dff4f
movabs rcx, 0xc297ba13e96dff4e
xor rdx, rcx
mov rcx, rax
and rcx, rdx
shl rcx, 1
xor rax, 1
add rax, rcx
mov rdx, 0xffffffffffffffff
xor rdx, 1
movabs rcx, 0x3697840331ddab14
movabs r9, 0x3697840331ddab14
xor rcx, r9
movabs r9, 0x55de9b9e14db30e2
movabs r10, 0x55de9b9e14db30e3
xor r9, r10
sub rcx, r9
sub rdx, rcx
mov rcx, r8
sub rcx, rdx
movabs rdx, 0xc0516e35a6d30633
movabs r9, 0x3fae91ca592cf9cc
xor rdx, r9
xor r8, rdx
mov rdx, rcx
and rdx, r8
movabs r8, 0xf423dd76f7081fff
movabs r9, 0xf423dd76f7081fff
xor r8, r9
cmp rdx, r8
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rax
jge 0x1400065b0
call fcn.1400077a3
mov r8, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x30]
call fcn.140004910
mov rax, qword [rsp + 0x38]
add rsp, 0x58
ret