Function at 0x140061420
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xd8
movd eax, xmm1
mov edx, eax
shr edx, 0x17
movzx r9d, dl
lea r10d, [rax + rax]
and r10d, 0xfffffe
mov edx, eax
and edx, 0x7fffff
or edx, 0x800000
test r9d, r9d
cmove edx, r10d
mov rsi, rcx
mov ecx, eax
and ecx, 0x7fffffff
cmp ecx, 0x7f800000
jne 0x140061473
mov r10b, 3
jmp 0x140061602
ucomiss xmm1, xmm1
jp 0x140061788
mov ecx, r9d
add ecx, 0xffffff6a
nop word cs:[rax + rax]
mov r10d, dword [0x141dca598]
xor r10d, dword [0x141dca59c]
xor r10d, 0x20163891
add r10d, 0xa2c92631
xor r10d, 0x9a167476
cmp r10d, 0xb845b855
ja 0x140061490
test eax, 0x7fffffff
je 0x1400615bb
nop word [rax + rax]
mov r10d, dword [0x141dca5a0]
sub r10d, dword [0x141dca5a4]
xor r10d, 0x8502109
and r10d, 0xf972b309
imul r10, r10, 0xc1770d1
shr r10, 0x3b
cmp r10d, 0xebe825cd
je 0x1400614d0
test eax, 0x7f800000
je 0x1400615c0
lea rcx, [rdx + rdx]
mov r10d, 0x2000000
nop word cs:[rax + rax]
mov r11d, dword [0x141dca5b0]
imul r11d, dword [0x141dca5b4]
xor r11d, 0x6004
and r11d, 0x3037026
cmp rdx, 0x800000
mov rdi, rcx
cmove rdi, r10
cmp r11d, 0xe9cfd367
ja 0x140061520
nop word cs:[rax + rax]
xor r11d, r11d
cmp edx, 0x800000
sete cl
mov r10d, dword [str._aB_]
add r10d, dword [0x141dca5bc]
imul r10d, r10d, 0x9337ae61
add r10d, 0x5e951865
cmp r10d, 0x7f3d81bc
jb 0x140061560
mov r11b, cl
inc r11
xor ebx, ebx
cmp rdx, 0x800000
sete bl
test dl, 1
sete r10b
xor ebx, 0xffffff69
movzx ecx, r9w
add ecx, ebx
mov rdx, rdi
jmp 0x140061602
mov r10b, 4
jmp 0x140061602
test dl, 1
sete r10b
nop word [rax + rax]
mov r9d, dword [0x141dca5a8]
or r9d, dword [0x141dca5ac]
imul r9d, r9d, 0xc66c32d7
add r9d, 0xb74fb6e3
or r9d, 0x4dde46c7
cmp r9d, 0x4ff32c93
je 0x1400615d0
mov r11d, 1
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0xa8], 1
mov qword [rsp + 0xb0], r11
mov word [rsp + 0xb8], cx
mov byte [rsp + 0xba], r10b
add r10b, 0xfe
movzx edx, r10b
cmp dl, 3
mov ecx, 3
cmovb ecx, edx
test cl, cl
je 0x140061713
mov edx, eax
shr edx, 0x1f
lea r9, [0x141db711d]
lea r10, [0x141db711e]
movzx ecx, cl
nop
mov r11d, dword [0x141dca5c0]
or r11d, dword [0x141dca5c4]
xor r11d, 0xe95923b3
imul r11d, r11d, 0x436407fa
add r11d, 0xca492839
test eax, eax
mov ebx, 1
cmovs rbx, r9
mov rdi, r10
cmovs rdi, r9
test r8b, r8b
cmove rdi, rbx
cmp r11d, 0x67834315
jb 0x140061660
mov eax, 1
nop word [rax + rax]
mov r9d, dword [0x141dca5c8]
or r9d, dword [0x141dca5cc]
add r9d, 0x449a72d1
imul r9, r9, 0x64ba400b
shr r9, 0x3e
test r8b, r8b
mov rbx, rdx
cmovne rbx, rax
cmp r9d, 0x270dcf82
je 0x1400616b0
cmp ecx, 1
je 0x140061740
cmp ecx, 2
jne 0x140061763
mov eax, dword [0x141dca698]
or eax, dword [0x141dca69c]
xor eax, 0x80681402
or eax, 0x7f17ebf5
cmp eax, 0x63189974
jae 0x140061dbc
jmp 0x140061df6
mov word [rsp + 0x20], 2
lea rax, [0x141db711f]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 3
mov edi, 1
xor ebx, ebx
mov eax, 1
jmp 0x140061e7b
mov word [rsp + 0x20], 2
mov eax, dword [0x141dca5d0]
and eax, dword [0x141dca5d4]
cmp eax, 0x58ac9bf4
jne 0x140061a7f
jmp 0x140061ac1
mov eax, dword [0x141dca5e8]
xor eax, dword [0x141dca5ec]
add eax, 0x77869698
xor eax, 0x6164877c
imul eax, eax, 0x33adb0a9
cmp eax, 0x90f0553b
jne 0x140061790
jmp 0x1400617c9
mov r10b, 2
jmp 0x140061602
mov eax, dword [0x141dca5f0]
add eax, dword [0x141dca5f4]
and eax, 0xef912b99
imul ebp, eax, 0xf69bb4c5
lea rcx, [rsp + 0x20]
lea rdx, [rsp + 0xa0]
lea r8, [rsp + 0xc7]
call fcn.1400514e0
cmp ebp, 0x9a9e3ef0
jne 0x1400617f0
lea rcx, [rsp + 0x20]
lea rdx, [rsp + 0xa0]
lea r8, [rsp + 0xc7]
call fcn.1400514e0
jmp 0x140061790
mov eax, dword [0x141dca5f8]
xor edx, edx
div dword [0x141dca5fc]
imul eax, eax, 0x23306301
cmp eax, 0xcaac542f
je 0x1400617f0
cmp qword [rsp + 0x20], 0
je 0x140061857
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x90], rax
movups xmm0, xmmword [rsp + 0x20]
movaps xmmword [rsp + 0x80], xmm0
nop dword [rax]
mov eax, dword [str.:1w]
xor edx, edx
div dword [0x141dca60c]
or eax, 0x19ffac6a
imul eax, eax, 0xd6512f35
or eax, 0xd168a18e
cmp eax, 0x3601f191
je 0x140061830
jmp 0x1400618bb
mov eax, dword [0x141dca600]
or eax, dword [0x141dca604]
xor eax, 0x80210911
and eax, 0x94f349b1
add eax, 0xab7df020
cmp eax, 0x1e0ea684
jb 0x14006189c
lea rcx, [rsp + 0x80]
lea rdx, [rsp + 0xa0]
lea r8, [rsp + 0xc7]
call fcn.1400497f0
xor eax, eax
test al, al
je 0x1400618bb
lea rcx, [rsp + 0x80]
lea rdx, [rsp + 0xa0]
lea r8, [rsp + 0xc7]
call fcn.1400497f0
jmp 0x140061879
mov eax, 0xfa79b965
mov ecx, dword [0x141dca610]
sub ecx, dword [0x141dca614]
imul ecx, ecx, 0x2e937842
imul rcx, rax
shr rcx, 0x3e
imul ecx, ecx, 0x41a7059d
cmp ecx, 0x8bbbb330
ja 0x1400618c0
mov r8, qword [rsp + 0x80]
mov eax, dword [0x141dca618]
sub eax, dword [0x141dca61c]
imul eax, eax, 0x260e524b
and eax, 0xe0332c52
cmp eax, 0x19ffda76
ja 0x1400618f0
mov eax, dword [0x141dca620]
xor edx, edx
div dword [0x141dca624]
imul eax, eax, 0xe82e7587
add eax, 0x3f8a946c
or eax, 0x49d9f37d
cmp eax, 0x1259700
nop word cs:[rax + rax]
mov eax, dword [0x141dca628]
add eax, dword [0x141dca62c]
xor eax, 0xbaab7684
add eax, 0xe3334a1b
cmp eax, 0xc1e2a38b
jb 0x140061940
mov rcx, qword [rsp + 0x88]
test rcx, rcx
je 0x140061a7d
movzx r9d, word [rsp + 0x90]
movsx r10, r9w
mov eax, dword [0x141dca630]
xor edx, edx
div dword [0x141dca634]
nop dword [rax]
mov eax, dword [0x141dca638]
or eax, dword [0x141dca63c]
cmp eax, 0x5f54c720
je 0x140061990
movzx eax, byte [r8]
xor edx, edx
nop dword [rax]
test dl, dl
jne 0x1400619b0
cmp al, 0x30
jbe 0x140061a57
mov eax, 0xe058f1c7
nop word cs:[rax + rax]
mov edx, dword [0x141dca648]
and edx, dword [0x141dca64c]
imul rdx, rax
shr rdx, 0x3f
xor edx, 0xc64e0ae1
imul edx, edx, 0xa10fac3a
cmp edx, 0xc28c49bc
je 0x1400619d0
test r9w, r9w
jle 0x140061a29
mov eax, dword [0x141dca650]
sub eax, dword [0x141dca654]
add eax, 0xa9458e28
or eax, 0xeee24c99
and eax, 0xfff37cb9
cmp eax, 0x4eb886ec
jae 0x140061b12
jmp 0x140061b3b
neg r10
mov eax, dword [0x141dca668]
xor eax, dword [str.RaJRn]
add eax, 0x10fdafac
xor eax, 0x252384b
add eax, 0x84b33b26
cmp eax, 0x40245aca
jae 0x140061cd7
jmp 0x140061d0c
ud2
ud2
mov eax, dword [0x141dca5d8]
or eax, dword [0x141dca5dc]
mov ecx, 0xba5a18b5
imul rcx, rax
shr rcx, 0x3d
add ecx, 0x9f5391f1
xor ecx, 0x4a3534fa
lea rax, [0x141db7122]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 3
cmp ecx, 0x9621d0f6
jae 0x140061ad8
lea rax, [0x141db7122]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 3
jmp 0x140061a7f
mov eax, 0x8da1d26d
nop dword [rax]
mov ecx, dword [0x141dca5e0]
and ecx, dword [0x141dca5e4]
or ecx, 0x40049200
and ecx, 0x489c9220
imul rcx, rax
shr rcx, 0x3d
cmp ecx, 0x9ead663e
ja 0x140061ae0
mov eax, 1
jmp 0x140061e7b
mov eax, dword [0x141dca658]
or eax, dword [0x141dca65c]
and eax, 0x71c812e2
xor eax, 0x7585d7f0
mov word [rsp + 0x20], 2
mov qword [rsp + 0x28], r8
cmp eax, 0xd0753c6c
jbe 0x140061b50
mov word [rsp + 0x20], 2
mov qword [rsp + 0x28], r8
jmp 0x140061b12
mov eax, dword [0x141dca660]
or eax, dword [0x141dca664]
or eax, 0x4c36f441
add eax, 0xf2741fa1
or eax, 0x1466d4c
cmp eax, 0x87be3d4a
je 0x140061b50
mov r10, r9
sub r10, rcx
jae 0x140061c3e
xor eax, eax
test al, al
je 0x140061ba5
mov qword [rsp + 0x30], r9
mov word [rsp + 0x38], 2
lea rax, [0x141dba6fb]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 1
sub rcx, r9
add r8, r9
lea rax, [0x141dba6fb]
nop word cs:[rax + rax]
mov edx, dword [0x141dca670]
imul edx, dword [0x141dca674]
and edx, 0xa1568940
imul edx, edx, 0xa5ca379a
mov qword [rsp + 0x30], r9
mov word [rsp + 0x38], 2
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 1
cmp edx, 0xba732601
je 0x140061bc0
xor eax, eax
test al, al
je 0x140061c10
mov word [rsp + 0x50], 2
mov qword [rsp + 0x58], r8
nop dword [rax]
mov eax, dword [0x141dca678]
sub eax, dword [0x141dca67c]
xor eax, 0xa9f62846
add eax, 0x66b0d78b
mov word [rsp + 0x50], 2
mov qword [rsp + 0x58], r8
cmp eax, 0xd51e4d08
ja 0x140061c10
jmp 0x140061d42
mov eax, dword [0x141dca680]
xor eax, dword [0x141dca684]
xor eax, 0x299dc893
imul eax, eax, 0x9d0c63b0
or eax, 0xcad1abe2
cmp eax, 0x18153057
jae 0x140061c85
mov qword [rsp + 0x30], rcx
mov word [rsp + 0x38], 0
mov qword [rsp + 0x40], r10
mov word [rsp + 0x50], 2
lea rax, [0x141dba6fb]
mov qword [rsp + 0x58], rax
lea r8, [0x141dba6fb]
nop dword [rax]
mov eax, dword [0x141dca688]
xor edx, edx
div dword [0x141dca68c]
add eax, 0xb2ba7f5f
and eax, 0xb08215b0
mov qword [rsp + 0x30], rcx
mov word [rsp + 0x38], 0
mov qword [rsp + 0x40], r10
mov word [rsp + 0x50], 2
mov qword [rsp + 0x58], r8
cmp eax, 0x97a1f21c
je 0x140061c90
xor eax, eax
test al, al
je 0x140061d51
jmp 0x140061d97
mov word [rsp + 0x20], 2
lea rax, [0x141db7118]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 2
mov word [rsp + 0x38], 0
mov qword [rsp + 0x40], r10
mov word [rsp + 0x50], 2
xor eax, eax
test al, al
je 0x140061d3d
mov word [rsp + 0x20], 2
lea rax, [0x141db7118]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 2
mov word [rsp + 0x38], 0
mov qword [rsp + 0x40], r10
mov word [rsp + 0x50], 2
jmp 0x140061cd7
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x60], rcx
mov eax, 3
jmp 0x140061e7b
mov eax, dword [0x141dca690]
xor edx, edx
div dword [0x141dca694]
xor eax, 0x24f43203
imul eax, eax, 0x8f4d8cd6
mov ecx, 0x92b6f435
imul rcx, rax
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1e
mov qword [rsp + 0x60], 1
mov word [rsp + 0x68], 0
cmp eax, 0x826bbf74
jbe 0x140061da9
mov qword [rsp + 0x60], 1
mov word [rsp + 0x68], 0
jmp 0x140061d51
mov qword [rsp + 0x70], 1
mov eax, 4
jmp 0x140061e7b
mov word [rsp + 0x20], 2
lea rax, [0x141db7118]
mov qword [rsp + 0x28], rax
mov eax, dword [0x141dca6a0]
and eax, dword [0x141dca6a4]
imul eax, eax, 0x18e15691
add eax, 0xcec99e43
mov qword [rsp + 0x30], 2
cmp eax, 0xecaf912e
jbe 0x140061e14
mov word [rsp + 0x20], 2
lea rax, [0x141db7118]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 2
jmp 0x140061dbc
mov eax, dword [0x141dca6a8]
add eax, dword [0x141dca6ac]
or eax, 0x20302b20
and eax, 0x23f0af32
add eax, 0x541e2acb
cmp eax, 0x529a9c18
jb 0x140061e64
mov eax, dword [str.eLD_a]
xor eax, dword [0x141dca6b4]
mov ecx, 0x8eb4d12d
imul rcx, rax
shr rcx, 0x3e
or ecx, 0xffbfe7ee
mov word [rsp + 0x38], 0
cmp ecx, 0x84de25a2
jae 0x140061e6d
mov word [rsp + 0x38], 0
jmp 0x140061e36
mov qword [rsp + 0x40], 1
mov eax, 2
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x88], rbx
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x98], rax
lea rdx, [rsp + 0x80]
mov rcx, rsi
call fcn.140062a80
nop
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
ret