Function at 0x140100c70
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov qword [rsp + 0x48], r8
mov r12, rdx
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x140100c90
mov r9, qword [rcx + 0x18]
cmp r9, 0xffffffffffffffff
je 0x1401021bd
nop word cs:[rax + rax]
mov eax, dword [0x141dd9a78]
xor edx, edx
div dword [0x141dd9a7c]
imul rax, rax, 0x6f3c9d29
shr rax, 0x3e
or eax, 0xfeb5fe72
imul rdx, rax, 0x2e8e6f53
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1e
cmp eax, 0x10f04534
ja 0x140100cb0
mov rsi, qword [rcx + 8]
lea rbp, [rsi + 1]
mov rax, rbp
shr rax, 3
mov rdx, rbp
and rdx, 0xfffffffffffffff8
sub rdx, rax
cmp rsi, 8
cmovb rdx, rsi
movabs r15, 0x7ffffffffffffff1
mov rax, rdx
shr rax, 1
cmp r9, rax
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x38], r9
jae 0x140100f50
mov qword [rsp + 0x70], rdx
mov r15, qword [rcx]
mov r8, rbp
shr r8, 4
nop dword [rax]
mov eax, dword [0x141dd9b50]
xor edx, edx
div dword [0x141dd9b54]
or eax, 0x6176096d
add eax, 0xe75aabcc
xor ecx, ecx
test bpl, 0xf
setne dl
cmp eax, 0x571603e2
ja 0x140100d40
mov cl, dl
add r8, rcx
je 0x140100e80
cmp r8, 1
jne 0x1401014c1
xor ecx, ecx
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140100d90
test r8b, 1
je 0x140100e80
nop
mov eax, dword [0x141dd9b60]
and eax, dword [0x141dd9b64]
add eax, 0xc676d4a7
xor eax, 0x90856
or eax, 0xb604f388
cmp eax, 0xc17b438b
je 0x140100da0
mov eax, dword [0x141dd9b68]
xor edx, edx
div dword [0x141dd9b6c]
pxor xmm0, xmm0
movdqa xmm1, xmmword [0x140103680]
nop dword [rax]
mov eax, dword [0x141dd9b70]
imul eax, dword [0x141dd9b74]
xor eax, 0x272036a7
add eax, 0x3307ec2a
or eax, 0x805fa186
cmp eax, 0xa33a7513
jb 0x140100de0
pcmpgtb xmm0, xmmword [r15 + rcx]
por xmm0, xmm1
mov eax, dword [0x141dd9b78]
imul eax, dword [0x141dd9b7c]
and eax, 0x707c3f01
add eax, 0xe5c450b9
shr eax, 5
imul rax, rax, 0x441ad7
shr rax, 0x30
cmp eax, 0x63cadf03
jbe 0x140100e3f
movdqa xmmword [r15 + rcx], xmm0
mov eax, 0xb550bd99
nop word cs:[rax + rax]
mov edx, dword [0x141dd9b80]
imul edx, dword [0x141dd9b84]
add edx, 0x512a7c70
imul rdx, rax
shr rdx, 0x3e
imul edx, edx, 0x875eafae
movdqa xmmword [r15 + rcx], xmm0
cmp edx, 0xbd001fdb
ja 0x140100e50
nop
mov eax, dword [0x141dd9b88]
imul eax, dword [0x141dd9b8c]
xor eax, 0x4c048962
imul eax, eax, 0x452c82fa
cmp eax, 0x4ea98a32
je 0x140100e80
mov eax, 0xb9b8c10d
nop word cs:[rax + rax]
mov ecx, dword [0x141dd9b90]
and ecx, dword [0x141dd9b94]
add ecx, 0x39e9d2e
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0xb4657679
je 0x140100eb0
cmp rbp, 0x10
jae 0x140100fc8
mov eax, dword [0x141dd9bb0]
xor edx, edx
div dword [0x141dd9bb4]
lea r13, [r15 + 0x10]
nop
mov eax, dword [0x141dd9bb8]
imul eax, dword [0x141dd9bbc]
add eax, 0x5fe06b16
xor eax, 0xc0ebd68d
add eax, 0x25037261
cmp eax, 0xf0b51bea
ja 0x140100ef0
mov eax, dword [0x141dd9bc0]
xor edx, edx
div dword [0x141dd9bc4]
add eax, 0x76fec754
imul rax, rax, 0x7c6f5eb7
shr rax, 0x3b
or eax, 0xf42ec8e4
cmp eax, 0x4d34d096
jb 0x14010168a
jmp 0x140101656
mov eax, dword [0x141dd9a80]
add eax, dword [0x141dd9a84]
or eax, 0x272cd2ed
xor eax, 0x8120ddd6
add eax, 0x489b79fe
cmp r9, rdx
mov r8, rdx
cmova r8, r9
cmp eax, 0xd091ddc2
ja 0x140100f50
cmp r8, 7
jae 0x140101009
nop word cs:[rax + rax]
xor eax, eax
cmp r8, 3
setae cl
mov edx, dword [0x141dd9a88]
add edx, dword [0x141dd9a8c]
xor edx, 0x380008
or edx, 0x60c3bd66
cmp edx, 0x28a888bf
jb 0x140100f90
mov al, cl
lea rdi, [rax*4 + 4]
jmp 0x14010109d
add rbp, r15
nop dword [rax + rax]
mov eax, dword [0x141dd9ba8]
imul eax, dword [0x141dd9bac]
xor eax, 0x84d889ab
add eax, 0xe73023e2
xor eax, 0x16fdda02
cmp eax, 0x1bf82ed4
jb 0x140100fd0
movdqu xmm0, xmmword [r15]
movdqu xmmword [rbp], xmm0
xor eax, eax
nop
test al, al
jne 0x140101000
jmp 0x1401016d7
movabs rax, 0x1ffffffffffffffe
cmp r8, rax
ja 0x1401015f8
shl r8, 3
movabs r9, 0x7fffffffffffffe
mov r10d, 0xa9f37c15
add r8, 8
movabs r11, 0x2492492492492493
nop
mov ebx, dword [0x141dd9a98]
and ebx, dword [0x141dd9a9c]
add ebx, 0xa87d5a27
imul rbx, r10
shr rbx, 0x3c
mov rax, r8
mul r11
add ebx, 0x7fe070b
mov rax, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 2
dec rax
bsr rcx, rax
not ecx
mov rdi, 0xffffffffffffffff
shr rdi, cl
cmp ebx, 0x6aacad5b
ja 0x140101040
cmp rdi, r9
ja 0x1401015bf
inc rdi
mov r14, rdi
shl r14, 5
lea r13, [rdi + 0x10]
mov rdx, r14
add rdx, r13
jb 0x1401015bf
lea rax, [r15 - 1]
cmp rdx, rax
ja 0x1401015bf
mov eax, dword [0x141dd9aa8]
and eax, dword [0x141dd9aac]
add eax, 0x4a743e55
and eax, 0x723f9e76
xor eax, 0xce3145cc
cmp eax, 0xe33916e5
jbe 0x1401010f0
movzx eax, byte [0x141ddc4f8]
nop word [rax + rax]
mov eax, dword [0x141dd9ab0]
xor eax, dword [0x141dd9ab4]
or eax, 0x25b1f713
imul eax, eax, 0x129be291
and eax, 0x204a87b1
movzx ecx, byte [0x141ddc4f8]
cmp eax, 0xfb4c9de6
ja 0x1401010f0
xor ecx, ecx
call fcn.1400c0a10
mov r15, rax
nop word cs:[rax + rax]
mov eax, dword [0x141dd9ab8]
or eax, dword [0x141dd9abc]
imul eax, eax, 0x76cc87c9
add eax, 0xa04aed54
cmp eax, 0x3884853
jb 0x140101130
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x40], r12
test r15, r15
je 0x140101624
mov rbp, rdi
shr rbp, 3
mov r12, rdi
and r12, 0xfffffffffffffff8
mov eax, dword [0x141dd9ad8]
sub eax, dword [0x141dd9adc]
imul eax, eax, 0xb7b38114
imul rax, rax, 0x2d79cf0f
shr rax, 0x3d
cmp eax, 0x89476f21
jne 0x1401011a1
lea rcx, [r15 + r14]
mov dl, 0xff
mov r8, r13
call sub.VCRUNTIME140.dll_memset
lea rbx, [rdi - 1]
sub r12, rbp
add r15, r14
nop dword [rax + rax]
mov ebp, dword [0x141dd9ae0]
sub ebp, dword [0x141dd9ae4]
add ebp, 0xa0c60e87
or ebp, 0x369d93ad
cmp rdi, 9
mov r14, r12
cmovb r14, rbx
mov rcx, r15
mov dl, 0xff
mov r8, r13
call sub.VCRUNTIME140.dll_memset
cmp ebp, 0x5f01c1ba
jb 0x1401011b0
mov qword [rsp + 0x58], r14
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x38]
nop word [rax + rax]
mov eax, dword [0x141dd9ae8]
and eax, dword [0x141dd9aec]
xor eax, 0x121a32a7
add eax, 0x289b5a3e
xor eax, 0x1da3f6a3
cmp eax, 0x5854d35f
ja 0x140101200
mov rax, qword [rcx]
mov qword [rsp + 0x20], rax
test rdx, rdx
je 0x14010148b
nop word cs:[rax + rax]
mov eax, dword [0x141dd9af0]
or eax, dword [0x141dd9af4]
xor eax, 0xc9081797
imul eax, eax, 0x2e7c903b
add eax, 0xfd07b1ee
cmp eax, 0x7c900b61
jb 0x140101240
mov r13, qword [rsp + 0x20]
movdqa xmm0, xmmword [r13]
pmovmskb r12d, xmm0
not r12d
lea rax, [r13 - 0x20]
mov qword [rsp + 0x68], rax
xor ebp, ebp
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x30], rax
nop dword [rax + rax]
test r12w, r12w
jne 0x1401012bf
nop word cs:[rax + rax]
movdqa xmm0, xmmword [r13 + 0x10]
add r13, 0x10
pmovmskb r12d, xmm0
add rbp, 0x10
cmp r12d, 0xffff
je 0x1401012a0
not r12d
tzcnt r14d, r12d
add r14, rbp
mov rax, r14
shl rax, 5
mov rcx, qword [rsp + 0x68]
sub rcx, rax
mov r8, qword [rcx + 8]
mov r9, qword [rcx + 0x10]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
call fcn.1400c1f70
mov r10, rax
mov rdx, rax
and rdx, rbx
movdqu xmm0, xmmword [r15 + rdx]
pmovmskb eax, xmm0
test eax, eax
jne 0x140101328
mov r8d, 0x10
nop word [rax + rax]
add rdx, r8
and rdx, rbx
movdqu xmm0, xmmword [r15 + rdx]
pmovmskb eax, xmm0
add r8, 0x10
test eax, eax
je 0x140101310
tzcnt eax, eax
add rax, rdx
and rax, rbx
cmp byte [r15 + rax], 0
js 0x14010137d
mov eax, dword [0x141dd9af8]
xor edx, edx
div dword [0x141dd9afc]
nop word [rax + rax]
mov eax, dword [0x141dd9b00]
xor edx, edx
div dword [0x141dd9b04]
imul eax, eax, 0xb9e9605c
and eax, 0xb11ba53c
cmp eax, 0x455b02da
je 0x140101350
movdqa xmm0, xmmword [r15]
pmovmskb eax, xmm0
tzcnt eax, eax
mov edx, dword [0x141dd9b08]
mov r8d, dword [0x141dd9b0c]
add r8d, edx
add r8d, 0xee55f7cf
or r8d, 0xad51ea0d
not r14
mov rdi, rax
not rdi
cmp r8d, 0xef1173dc
jne 0x1401013ed
mov rdx, r10
shr rdx, 0x39
lea r8, [rax - 0x10]
and r8, rbx
mov byte [r15 + rax], dl
mov byte [r8 + r15 + 0x10], dl
mov rdx, r14
shl rdx, 5
mov r8, rdi
shl r8, 5
mov rcx, qword [rsp + 0x20]
movdqu xmm0, xmmword [rcx + rdx]
movups xmm1, xmmword [rcx + rdx + 0x10]
movups xmmword [r15 + r8 + 0x10], xmm1
movdqu xmmword [r15 + r8], xmm0
lea r8d, [r12 - 1]
and r8d, r12d
mov ecx, r8d
mov qword [rsp + 0x28], rcx
dec qword [rsp + 0x30]
mov rcx, qword [rsp + 0x20]
mov r12, r14
nop word [rax + rax]
mov r8d, dword [0x141dd9b10]
sub r8d, dword [0x141dd9b14]
add r8d, 0x4be56ec8
and r8d, 0x4429882
mov r9, r10
shr r9, 0x39
mov r14, r10
lea r10, [rax - 0x10]
and r10, rbx
mov r11, r12
shl r11, 5
mov rdx, rdi
shl rdx, 5
mov byte [r15 + rax], r9b
mov byte [r10 + r15 + 0x10], r9b
mov r10, r14
movdqu xmm0, xmmword [rcx + r11]
movdqu xmm1, xmmword [rcx + r11 + 0x10]
movdqu xmmword [r15 + rdx + 0x10], xmm1
movdqu xmmword [r15 + rdx], xmm0
cmp r8d, 0xc67e4f1
je 0x140101410
cmp qword [rsp + 0x30], 0
mov r12, qword [rsp + 0x28]
jne 0x140101290
mov eax, dword [0x141dd9b18]
imul eax, dword [0x141dd9b1c]
add eax, 0x8818509a
or eax, 0x581c6309
cmp eax, 0xadcc4dc
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x38]
mov r9, qword [rsp + 0x58]
jb 0x1401020a3
jmp 0x140102070
mov rax, r8
and rax, 0xfffffffffffffffe
nop dword [rax + rax]
mov ecx, dword [0x141dd9b58]
xor ecx, dword [0x141dd9b5c]
and ecx, 0x20b0bce2
imul ecx, ecx, 0x8cf41915
cmp ecx, 0xf751d955
je 0x1401014d0
xor ecx, ecx
movdqa xmm0, xmmword [0x140103680]
xor edx, edx
jmp 0x140101512
add rcx, 0x20
add rdx, 2
add rax, 0xfffffffffffffffe
je 0x140100d7f
mov r9d, dword [0x141dd9b98]
or r9d, dword [0x141dd9b9c]
add r9d, 0x1998e746
xor r9d, 0xe1bf5346
cmp r9d, 0xda272c01
ja 0x140101593
nop word [rax + rax]
mov r9d, dword [0x141dd9ba0]
add r9d, dword [0x141dd9ba4]
imul r9d, r9d, 0x1c982533
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [r15 + rcx]
por xmm1, xmm0
movdqa xmmword [r15 + rcx], xmm1
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [r15 + rcx + 0x10]
add r9d, 0x999be007
por xmm1, xmm0
movdqa xmmword [r15 + rcx + 0x10], xmm1
cmp r9d, 0xc0180086
jbe 0x140101500
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [r15 + rcx]
por xmm1, xmm0
movdqa xmmword [r15 + rcx], xmm1
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [r15 + rcx + 0x10]
por xmm1, xmm0
movdqa xmmword [r15 + rcx + 0x10], xmm1
jmp 0x140101540
ud2
ud2
mov eax, dword [0x141dd9ac0]
imul eax, dword [0x141dd9ac4]
add eax, 0xa021fd07
imul rax, rax, 0x6662fae5
shr rax, 0x3b
xor eax, 0xe8a3983c
cmp eax, 0xaa6db78d
jb 0x140102186
jmp 0x140102153
mov edi, dword [0x141dd9bc8]
add edi, dword [0x141dd9bcc]
or edi, 0xebf68c03
add edi, 0xb0c5dc31
xor edi, 0x682d0d73
mov rcx, r13
mov rdx, r15
mov r8, rbp
call sub.VCRUNTIME140.dll_memmove
cmp edi, 0x77a88aa5
jae 0x1401016a0
mov rcx, r13
mov rdx, r15
mov r8, rbp
call sub.VCRUNTIME140.dll_memmove
jmp 0x140101656
mov eax, dword [0x141dd9bd0]
and eax, dword [0x141dd9bd4]
xor eax, 0x6996e5f2
imul eax, eax, 0x89183adf
add eax, 0x8e1c8179
cmp eax, 0x2d2bfef7
ja 0x1401016a0
cmp rsi, 0xffffffffffffffff
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
je 0x14010206c
movabs rax, 0x736f6d6570736575
xor rax, r12
mov qword [rsp + 0x60], rax
movabs rax, 0x646f72616e646f6d
xor rax, qword [rsp + 0x48]
mov qword [rsp + 0x58], rax
movabs rcx, 0x6c7967656e657261
mov eax, dword [0x141dd9bd8]
xor edx, edx
div dword [0x141dd9bdc]
xor r12, rcx
nop dword [rax + rax]
mov eax, dword [0x141dd9be0]
xor edx, edx
div dword [0x141dd9be4]
imul eax, eax, 0x7b3cfa34
xor eax, 0x40a2ad17
imul eax, eax, 0x1428979e
cmp eax, 0x5a311600
jb 0x140101720
movabs rax, 0x7465646279746573
xor qword [rsp + 0x48], rax
xor r10d, r10d
xor edi, edi
mov qword [rsp + 0x40], r12
nop
cmp byte [r15 + rdi], 0x80
jne 0x140102007
mov r13, rdi
not r13
shl r13, 5
add r13, r15
nop dword [rax + rax]
mov eax, dword [0x141dd9be8]
imul eax, dword [0x141dd9bec]
add eax, 0x68b214a5
and eax, 0x887d280c
add eax, 0x7787f35e
cmp eax, 0x61a89082
jb 0x140101780
mov eax, dword [0x141dd9bf0]
imul eax, dword [0x141dd9bf4]
and eax, 0x39e59287
imul eax, eax, 0x98545028
add eax, 0x9bd10290
cmp eax, 0x3fe7bf17
jb 0x1401017a3
mov rax, rdi
shl rax, 5
mov rcx, r15
sub rcx, rax
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x20], rdi
nop
mov eax, dword [0x141dd9bf8]
xor eax, dword [0x141dd9bfc]
add eax, 0x6523d7c4
and eax, 0xc0a9fb2b
add eax, 0x55c9f644
cmp eax, 0xfa01a391
ja 0x1401017e0
mov rax, qword [rsp + 0x68]
mov rbp, qword [rax - 0x18]
mov rcx, qword [rax - 0x10]
nop
mov eax, dword [0x141dd9c00]
xor eax, dword [0x141dd9c04]
imul eax, eax, 0xa93aec30
or eax, 0x8adb1a14
xor eax, 0xe6d76030
cmp eax, 0xb774181d
ja 0x140101810
mov qword [rsp + 0x30], rcx
mov rax, rcx
and rax, 0xfffffffffffffff8
je 0x1401018a6
mov r14, r12
mov r9, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x48]
xor r11d, r11d
mov r8, qword [rsp + 0x60]
nop word cs:[rax + rax]
mov rcx, qword [rbp + r11]
xor rbx, rcx
add r8, r9
rol r9, 0xd
add r14, rbx
xor r9, r8
rol rbx, 0x10
xor rbx, r14
rol r8, 0x20
add r14, r9
add r8, rbx
rol r9, 0x11
xor r9, r14
rol rbx, 0x15
rol r14, 0x20
xor rbx, r8
xor r8, rcx
add r11, 8
cmp r11, rax
jb 0x140101860
jmp 0x1401018bb
mov rbx, qword [rsp + 0x48]
mov r9, qword [rsp + 0x58]
mov r14, r12
mov r8, qword [rsp + 0x60]
xor r11d, r11d
mov r12, qword [rsp + 0x30]
and r12d, 7
nop word cs:[rax + rax]
mov eax, dword [0x141dd9c08]
xor eax, dword [0x141dd9c0c]
imul eax, eax, 0xfa579f10
add eax, 0x40cf6288
cmp eax, 0xf1e1106
jb 0x1401018d0
cmp r12d, 4
jb 0x140101980
mov eax, dword [0x141dd9c10]
xor edx, edx
div dword [0x141dd9c14]
nop word cs:[rax + rax]
mov eax, dword [0x141dd9c18]
imul eax, dword [0x141dd9c1c]
imul eax, eax, 0x40e8f0bc
add eax, 0xef01de58
and eax, 0x26ad62c4
cmp eax, 0x26d489a8
je 0x140101910
mov eax, dword [rbp + r11]
mov qword [rsp + 0x28], rax
nop
mov eax, dword [0x141dd9c20]
imul eax, dword [0x141dd9c24]
add eax, 0x1cd2bb32
imul rcx, rax, 0xfe5a1b3
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
cmp eax, 0xa52513f6
ja 0x140101940
mov edi, 4
mov rax, rdi
or rax, 1
cmp rax, r12
jb 0x140101995
jmp 0x1401019f4
xor eax, eax
mov qword [rsp + 0x28], rax
xor edi, edi
mov rax, rdi
or rax, 1
cmp rax, r12
jae 0x1401019f4
mov eax, dword [0x141dd9c28]
sub eax, dword [0x141dd9c2c]
add eax, 0x5da8ff5d
and eax, 0xab34d4a0
cmp eax, 0x53377f20
je 0x140101995
lea rax, [rdi + r11]
mov ecx, dword [0x141dd9c30]
sub ecx, dword [0x141dd9c34]
or ecx, 0x20a0000
and ecx, 0x2e1a6884
xor ecx, 0xa2daa742
cmp ecx, 0x7e8b028a
jb 0x1401019b6
movzx eax, word [rbp + rax]
lea ecx, [rdi*8]
shl rax, cl
or qword [rsp + 0x28], rax
or rdi, 2
mov eax, dword [0x141dd9c38]
xor edx, edx
div dword [0x141dd9c3c]
mov ecx, 0x914bb17d
nop word [rax + rax]
mov eax, dword [0x141dd9c40]
xor eax, dword [0x141dd9c44]
imul rax, rcx
shr rax, 0x3f
xor eax, 0xd3ac0e37
add eax, 0xb70dda99
cmp eax, 0xb6cd15c3
ja 0x140101a10
cmp rdi, r12
jae 0x140101ab6
nop word [rax + rax]
mov eax, dword [0x141dd9c48]
add eax, dword [0x141dd9c4c]
imul eax, eax, 0x57ead1bf
add eax, 0xa1e6cfd2
imul rdx, rax, 0xd6681ab
shr rdx, 0x3b
lea rax, [rdi + r11]
movzx eax, byte [rbp + rax]
lea ecx, [rdi*8]
shl rax, cl
cmp edx, 0x1be1fe5d
ja 0x140101a40
mov rbp, qword [rsp + 0x28]
or rbp, rax
mov r11, qword [rsp + 0x30]
inc r11
nop dword [rax]
mov eax, dword [0x141dd9c50]
mov ecx, dword [str.sQP]
add eax, ecx
add eax, 0x2c87931a
or eax, 0xf9feb73b
cmp eax, 0x1f6f7720
jbe 0x140101a90
mov rdi, qword [rsp + 0x20]
jmp 0x140101b00
mov r11, qword [rsp + 0x30]
inc r11
nop
mov eax, dword [0x141dd9c58]
and eax, dword [0x141dd9c5c]
add eax, 0xad509ee9
xor eax, 0xfce768c1
add eax, 0x80530565
cmp eax, 0x38129492
jb 0x140101ac0
test r12, r12
mov rdi, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x28]
je 0x140101bc7
nop word cs:[rax + rax]
mov eax, dword [0x141dd9c60]
xor eax, dword [0x141dd9c64]
imul edx, eax, 0xfa932520
add edx, 0xa9317931
lea ecx, [r12*8]
mov eax, 0xff
shl rax, cl
cmp edx, 0x39a61efc
jb 0x140101b00
or rbp, rax
cmp r12d, 7
jne 0x140101bcc
xor rbx, rbp
add r8, r9
add r14, rbx
rol r9, 0xd
xor r9, r8
rol rbx, 0x10
xor rbx, r14
rol r8, 0x20
add r14, r9
add r8, rbx
mov r12, qword [rsp + 0x40]
mov ecx, 0xc351b76d
mov eax, dword [0x141dd9c68]
xor eax, dword [0x141dd9c6c]
imul rax, rcx
shr rax, 0x3e
imul eax, eax, 0xcfb473be
add eax, 0x107fc00e
cmp eax, 0xafef2e65
ja 0x140101b68
rol r9, 0x11
xor r9, r14
rol rbx, 0x15
xor rbx, r8
rol r14, 0x20
xor r8, rbp
nop word cs:[rax + rax]
mov eax, dword [0x141dd9c70]
xor eax, dword [0x141dd9c74]
cmp eax, 0xdda1686b
je 0x140101bb0
xor ebp, ebp
jmp 0x140101bd1
mov ebp, 0xff
mov r12, qword [rsp + 0x40]
mov eax, dword [0x141dd9c78]
xor edx, edx
div dword [0x141dd9c7c]
nop
mov eax, dword [0x141dd9c80]
and eax, dword [0x141dd9c84]
imul eax, eax, 0xc7609db9
add eax, 0x557a2002
xor eax, 0xef48c075
cmp eax, 0x8c3a15f0
ja 0x140101be0
shl r11, 0x38
or r11, rbp
xor rbx, r11
add r8, r9
rol r9, 0xd
add r14, rbx
xor r9, r8
rol rbx, 0x10
xor rbx, r14
rol r8, 0x20
add r14, r9
add r8, rbx
rol r9, 0x11
xor r9, r14
rol rbx, 0x15
rol r14, 0x20
xor rbx, r8
xor r8, r11
xor r14, 0xff
add r8, r9
add r14, rbx
rol r9, 0xd
xor r9, r8
rol rbx, 0x10
rol r8, 0x20
xor rbx, r14
add r14, r9
rol r9, 0x11
add r8, rbx
xor r9, r14
rol rbx, 0x15
xor rbx, r8
rol r14, 0x20
add r8, r9
add r14, rbx
rol r9, 0xd
xor r9, r8
rol rbx, 0x10
rol r8, 0x20
xor rbx, r14
add r14, r9
rol r9, 0x11
add r8, rbx
xor r9, r14
rol rbx, 0x15
xor rbx, r8
rol r14, 0x20
add r8, r9
add r14, rbx
rol r9, 0xd
xor r9, r8
rol rbx, 0x10
xor rbx, r14
add r14, r9
rol r9, 0x11
rol rbx, 0x15
mov rax, r14
rol rax, 0x20
xor rax, r9
xor rax, rbx
xor rax, r14
mov rdx, rax
and rdx, rsi
movdqu xmm0, xmmword [r15 + rdx]
pmovmskb r8d, xmm0
mov rcx, rdx
test r8w, r8w
jne 0x140101d20
mov r9d, 0x10
mov rcx, rdx
nop dword [rax]
add rcx, r9
and rcx, rsi
movdqu xmm0, xmmword [r15 + rcx]
pmovmskb r8d, xmm0
add r9, 0x10
test r8d, r8d
je 0x140101d00
nop word [rax + rax]
mov r9d, dword [0x141dd9c88]
xor r9d, dword [0x141dd9c8c]
imul r9d, r9d, 0x53aa686
or r9d, 0x4de76e17
imul r9d, r9d, 0x4ed0b2bc
cmp r9d, 0x65e2fca
jb 0x140101d20
tzcnt r8d, r8d
add rcx, r8
and rcx, rsi
cmp byte [r15 + rcx], 0
js 0x140101d79
movdqa xmm0, xmmword [r15]
pmovmskb ecx, xmm0
nop word [rax + rax]
test r10b, r10b
jne 0x140101d70
tzcnt ecx, ecx
mov r8d, dword [0x141dd9c90]
mov r9d, dword [0x141dd9c94]
add r8d, r9d
add r8d, 0x5de628a7
and r8d, 0x4237adf4
cmp r8d, 0xaceb64e5
je 0x140101d79
mov r8, rdi
sub r8, rdx
mov r9, rcx
sub r9, rdx
xor r9, r8
and r9, rsi
cmp r9, 0x10
jb 0x140101f60
mov edx, dword [0x141dd9c98]
add edx, dword [0x141dd9c9c]
xor edx, 0xdbc7e191
add edx, 0xe1fd0442
xor edx, 0x9b9d6087
cmp edx, 0xa4798263
ja 0x140101dbd
mov rdx, rcx
not rdx
mov r8d, dword [0x141dd9ca0]
xor r8d, dword [0x141dd9ca4]
and r8d, 0x42a9200
cmp r8d, 0x3cf6a6a3
je 0x140101de9
mov r8d, dword [0x141dd9ca8]
imul r8d, dword [0x141dd9cac]
or r8d, 0xff7da4f7
and r8d, 0xfffdfeff
cmp r8d, 0x5c650cbd
jae 0x140101e44
mov r8, rax
shr r8, 0x39
lea r9, [rcx - 0x10]
and r9, rsi
mov byte [r15 + rcx], r8b
mov byte [r9 + r15 + 0x10], r8b
shl rdx, 5
add rdx, r15
nop dword [rax + rax]
movzx r8d, byte [r15 + rcx]
mov r9, rax
shr r9, 0x39
lea r11, [rcx - 0x10]
and r11, rsi
mov byte [r15 + rcx], r9b
mov byte [r11 + r15 + 0x10], r9b
test r10b, r10b
jne 0x140101e50
cmp r8b, 0xff
je 0x140101fe0
movdqu xmm0, xmmword [r13]
movdqu xmm1, xmmword [rdx]
movdqu xmmword [r13], xmm1
mov eax, dword [0x141dd9cb0]
imul eax, dword [0x141dd9cb4]
imul eax, eax, 0xa48f753d
add eax, 0xc6416bf2
or eax, 0x6b610cce
cmp eax, 0x22339d40
jne 0x140101ec0
movdqu xmmword [rdx], xmm0
nop word cs:[rax + rax]
mov eax, dword [0x141dd9cb8]
or eax, dword [0x141dd9cbc]
add eax, 0x5934669a
imul rax, rax, 0x2e8b7643
shr rax, 0x3d
movdqu xmmword [rdx], xmm0
cmp eax, 0x6a37a1fb
je 0x140101ec0
mov eax, dword [0x141dd9cc0]
xor eax, dword [0x141dd9cc4]
or eax, 0xb7d7dede
xor eax, 0x8de8ced7
cmp eax, 0xe531bea4
jbe 0x140101f20
movdqu xmm0, xmmword [r13 + 0x10]
movdqu xmm1, xmmword [rdx + 0x10]
movdqu xmmword [r13 + 0x10], xmm1
movdqu xmmword [rdx + 0x10], xmm0
nop word [rax + rax]
mov eax, dword [0x141dd9cc8]
xor eax, dword [0x141dd9ccc]
or eax, 0xff9ffdbf
movdqu xmm0, xmmword [r13 + 0x10]
movdqu xmm1, xmmword [rdx + 0x10]
movdqu xmmword [r13 + 0x10], xmm1
movdqu xmmword [rdx + 0x10], xmm0
cmp eax, 0x7915614f
jb 0x140101f20
jmp 0x1401017e0
mov ecx, dword [0x141dd9cd0]
sub ecx, dword [0x141dd9cd4]
add ecx, 0x5fc5ecf1
or ecx, 0x586083d8
cmp ecx, 0x8f90b539
jae 0x140101fa0
mov rcx, rax
shr rcx, 0x39
lea rdx, [rdi - 0x10]
and rdx, rsi
mov byte [r15 + rdi], cl
mov byte [rdx + r15 + 0x10], cl
nop word [rax + rax]
mov ecx, dword [0x141dd9cd8]
and ecx, dword [0x141dd9cdc]
or ecx, 0x611224cc
xor ecx, 0x48002084
or ecx, 0x96c99b31
mov rdx, rax
shr rdx, 0x39
lea r8, [rdi - 0x10]
and r8, rsi
mov byte [r15 + rdi], dl
mov byte [r8 + r15 + 0x10], dl
cmp ecx, 0xc15fce6
je 0x140101fa0
jmp 0x140102007
lea rax, [rdi - 0x10]
and rax, rsi
mov byte [r15 + rdi], 0xff
mov byte [rax + r15 + 0x10], 0xff
movdqu xmm0, xmmword [r13]
movdqu xmm1, xmmword [r13 + 0x10]
movdqu xmmword [rdx + 0x10], xmm1
movdqu xmmword [rdx], xmm0
lea rcx, [rdi + 1]
mov eax, dword [0x141dd9ce0]
xor edx, edx
div dword [0x141dd9ce4]
mov eax, dword [0x141dd9ce8]
xor eax, dword [0x141dd9cec]
or eax, 0x88190408
xor eax, 0x90541108
or eax, 0x2580aa87
cmp eax, 0x3af51461
je 0x140102019
cmp rdi, rsi
mov rdi, rcx
jne 0x140101760
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x70]
sub rdx, rcx
mov qword [rax + 0x10], rdx
movabs rbx, 0x7ffffffffffffff1
jmp 0x140102210
xor edx, edx
jmp 0x140102056
mov eax, dword [0x141dd9b20]
and eax, dword [0x141dd9b24]
add eax, 0x203fc07
or eax, 0x5dd09a40
xor eax, 0xd46418cb
mov rcx, r9
sub rcx, r8
mov qword [rdx], r15
mov qword [rdx + 8], rbx
mov qword [rdx + 0x10], rcx
cmp eax, 0x60787c01
jae 0x1401020b6
mov rax, r9
sub rax, r8
mov qword [rdx], r15
mov qword [rdx + 8], rbx
mov qword [rdx + 0x10], rax
jmp 0x140102070
mov rcx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x20]
mov eax, dword [0x141dd9b28]
add eax, dword [0x141dd9b2c]
imul rax, rax, 0x6fa8b7cd
shr rax, 0x3e
or eax, 0x8c00610
cmp eax, 0x8fdc13c8
ja 0x1401020c0
test rsi, rsi
movabs rbx, 0x7ffffffffffffff1
je 0x140102210
mov eax, dword [0x141dd9b30]
xor edx, edx
div dword [0x141dd9b34]
shl rcx, 5
nop dword [rax + rax]
mov eax, dword [0x141dd9b38]
add eax, dword [0x141dd9b3c]
or eax, 0xb7b76ac8
add eax, 0x2894d8f8
cmp eax, 0x827649e3
jb 0x140102110
mov eax, dword [0x141dd9b40]
or eax, dword [str.H2g_f]
sub rdi, rcx
and eax, 0xa118020
add eax, 0x1e3aa293
cmp eax, 0x80833dc2
ja 0x1401021f1
jmp 0x1401021bf
mov eax, dword [0x141dd9ac8]
and eax, dword [0x141dd9acc]
imul rcx, rax, 0x19861ba1
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
xor eax, 0xc958b1b7
add eax, 0xf83352a4
ud2
ud2
ud2
mov esi, dword [0x141dd9b48]
sub esi, dword [0x141dd9b4c]
add esi, 0xc14b249
and esi, 0x5d501885
mov rcx, qword [0x141ddc4e0]
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp esi, 0xda6561fe
jne 0x140102210
mov rcx, qword [0x141ddc4e0]
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1401021bf
mov eax, dword [0x141dd9cf0]
imul eax, dword [0x141dd9cf4]
add eax, 0x46d7dd2d
imul rax, rax, 0x2f42fd
shr rax, 0x35
cmp eax, 0x31425d9b
ja 0x140102210
add rbx, 0x10
mov rax, rbx
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret