Function at 0x14005bb80
Capabilities:
Encode data using base64
Encode data using xor
Encrypt data using speck

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
push rax
mov rbp, rsp
mov r15, rdx
mov rbx, rcx
mov eax, dword [0x141f35b08]
or eax, dword [0x141f35b0c]
imul rax, rax, 0x5e54a8bd
shr rax, 0x3e
imul eax, eax, 0x2fb166ea
cmp eax, 0x7a8de9e8
je 0x14005bc00
mov eax, dword [0x141f35b10]
imul eax, dword [0x141f35b14]
xor eax, 0x917f4284
imul ecx, eax, 0x85976d02
add ecx, 0xb865bdba
mov eax, 0x310
call fcn.1400f4d10
sub rsp, rax
mov rsi, rsp
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov rdi, rsp
cmp ecx, 0x19cc4837
jae 0x14005bc1c
mov eax, 0x310
call fcn.1400f4d10
sub rsp, rax
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
jmp 0x14005bbba
mov ecx, 1
test r15, r15
je 0x14005bdad
nop word [rax + rax]
mov eax, dword [0x141f35b18]
or eax, dword [0x141f35b1c]
imul eax, eax, 0x7f27170c
add eax, 0x2f083d06
cmp eax, 0x79bc56e6
ja 0x14005bc30
movzx r12d, byte [rbx]
nop word cs:[rax + rax]
mov eax, dword [0x141f35b20]
imul eax, dword [0x141f35b24]
xor eax, 0x8fbd61f
add eax, 0xa01e9851
cmp eax, 0x96e6dd38
jb 0x14005bc60
nop
mov eax, dword [0x141f35b28]
sub eax, dword [0x141f35b2c]
and eax, 0xea44
or eax, 0xf775012b
imul rax, rax, 0x2f491b8d
shr rax, 0x3a
cmp eax, 0xcf59059e
ja 0x14005bc80
cmp r12d, 0x2d
je 0x14005bcb4
cmp r12d, 0x2b
jne 0x14005bcec
dec r15
mov eax, dword [0x141f35b30]
xor edx, edx
div dword [0x141f35b34]
inc rbx
nop dword [rax + rax]
mov eax, dword [0x141f35b38]
xor eax, dword [0x141f35b3c]
cmp eax, 0x6e265b1f
je 0x14005bcd0
test r15, r15
je 0x14005bf80
sub rsp, 0x20
mov rcx, rdi
mov rdx, rbx
mov r8, r15
call fcn.140047390
add rsp, 0x20
movzx r14d, byte [rdi + 0x11]
cmp r14b, 2
jne 0x14005bdb5
nop word cs:[rax + rax]
mov eax, dword [0x141f35b40]
xor edx, edx
div dword [0x141f35b44]
xor eax, 0x480560
or eax, 0xf386821c
add eax, 0xc513844b
cmp eax, 0x235e330
jb 0x14005bd20
mov ecx, 1
cmp r15, 3
je 0x14005bf8b
cmp r15, 8
jne 0x14005c015
movabs rax, 0xdfdfdfdfdfdfdfdf
and rax, qword [rbx]
nop word [rax + rax]
mov edx, dword [0x141f35b48]
or edx, dword [0x141f35b4c]
imul rdx, rdx, 0xa31feab
shr rdx, 0x3a
add edx, 0xed53827a
cmp edx, 0x4f311d74
jb 0x14005bd70
movabs rdx, 0x5954494e49464e49
cmp rax, rdx
jne 0x14005c030
jmp 0x14005c017
xor r8d, r8d
jmp 0x14005c732
mov dword [rbp + 4], r12d
mov r12, qword [rdi]
mov r13, qword [rdi + 8]
lea rax, [r12 + 0xa]
nop word cs:[rax + rax]
mov ecx, dword [0x141f35b68]
sub ecx, dword [0x141f35b6c]
xor ecx, 0x7489e0ec
add ecx, 0xb75b462f
cmp ecx, 0x62c3b80a
ja 0x14005bdd0
mov ecx, dword [0x141f35b70]
sub ecx, dword [0x141f35b74]
xor ecx, 0xe463c6bc
add ecx, 0x16c8f283
xor ecx, 0xf28a017e
cmp ecx, 0xd9cdaaad
ja 0x14005bdf0
cmp rax, 0x1b
ja 0x14005c097
mov eax, dword [0x141f35b78]
xor edx, edx
div dword [0x141f35b7c]
nop
test r14b, r14b
sete al
cmp r13, 0x1000001
setb cl
mov edx, dword [0x141f35b80]
xor edx, dword [0x141f35b84]
imul edx, edx, 0xc9e1de28
cmp edx, 0x3e9b758e
je 0x14005be30
and al, cl
je 0x14005c097
cmp r12, 0xa
jg 0x14005c05e
mov rax, r13
shr rax, 1
cvtsi2ss xmm1, r13
jmp 0x14005bea3
movaps xmm0, xmm1
mov ecx, dword [0x141f35b88]
or ecx, dword [0x141f35b8c]
xor ecx, 0x440003a
and ecx, 0x4f6a983b
cmp ecx, 0xd134ba3e
jne 0x14005bec0
test r13, r13
jns 0x14005be80
mov ecx, r13d
and ecx, 1
or rcx, rax
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
addss xmm0, xmm0
jmp 0x14005be83
mov eax, dword [0x141f35b90]
xor eax, dword [0x141f35b94]
cmp eax, 0x903a622
je 0x14005bec0
test r12, r12
js 0x14005c558
nop dword [rax]
mov eax, dword [0x141f35ba8]
mov ecx, dword [0x141f35bac]
add eax, ecx
add eax, 0x806f33d7
xor eax, 0xcd61e038
imul rax, rax, 0x51f00437
shr rax, 0x3c
cmp eax, 0x2c4bee2e
ja 0x14005bee0
mov eax, dword [0x141f35bb0]
xor ecx, ecx
xor edx, edx
div dword [0x141f35bb4]
lea rax, [0x141f21a44]
nop word cs:[rax + rax]
test cl, cl
jne 0x14005bf30
movss xmm1, dword [rax + r12*4]
mulss xmm1, xmm0
mov edx, dword [rbp + 4]
nop word cs:[rax + rax]
mov eax, dword [0x141f35bb8]
xor eax, dword [0x141f35bbc]
add eax, 0x630790fc
shr eax, 2
imul rax, rax, 0x409bfa1f
shr rax, 0x3c
or eax, 0x367900ca
cmp eax, 0x7ed31b36
jae 0x14005bf50
jmp 0x14005c6a2
mov r8d, 0x100
jmp 0x14005c732
movzx edx, byte [rbx]
movzx eax, word [rbx + 1]
shl rax, 8
or rax, rdx
nop dword [rax]
mov edx, dword [0x141f35b50]
imul edx, dword [0x141f35b54]
imul r8, rdx, 0xd87b9ed
shr r8, 0x20
sub edx, r8d
shr edx, 1
add edx, r8d
shr edx, 0x1c
and edx, 4
imul edx, edx, 0xe1b6ac2d
cmp edx, 0x629cee46
je 0x14005bfa0
and eax, 0xdfdfdf
cmp rax, 0x464e49
je 0x14005c017
cmp eax, 0x4e414e
jne 0x14005c030
movss xmm0, dword [0x1401087a8]
mov eax, dword [0x141f35b58]
sub eax, dword [0x141f35b5c]
or eax, 0xb8fe5b27
imul eax, eax, 0x55e2c72c
add eax, 0x5fccbea
cmp eax, 0x5398b645
jb 0x14005bff0
jmp 0x14005c01f
jmp 0x14005c030
movss xmm0, dword [0x1401087a4]
cmp r12d, 0x2d
jne 0x14005c02c
xorps xmm0, xmmword [0x140108780]
xor ecx, ecx
nop
mov eax, dword [0x141f35b60]
sub eax, dword [0x141f35b64]
imul eax, eax, 0x59f243db
add eax, 0xae986050
and eax, 0x37f15858
cmp eax, 0x7b895629
je 0x14005c030
mov r8d, 0x100
jmp 0x14005c732
lea rcx, [0x141f21b88]
mov rax, r13
mul qword [rcx + r12*8 - 0x50]
seto cl
xor edx, edx
nop word cs:[rax + rax]
cmp rax, 0x1000001
setae r8b
test dl, dl
jne 0x14005c080
or cl, r8b
je 0x14005c37f
sub rsp, 0x20
mov rcx, r12
mov rdx, r13
call fcn.14005d0b0
add rsp, 0x20
mov rdi, rax
mov ecx, edx
nop
mov eax, dword [0x141f35bc8]
sub eax, dword [0x141f35bcc]
add eax, 0xe9c9e8
xor eax, 0xe56d83da
imul eax, eax, 0xf3b5fcf6
cmp eax, 0x41e27866
je 0x14005c0b0
test r14b, r14b
je 0x14005c10c
test ecx, ecx
js 0x14005c10c
inc r13
sub rsp, 0x20
mov r14d, ecx
mov rcx, r12
mov rdx, r13
call fcn.14005d0b0
add rsp, 0x20
cmp rdi, rax
mov r12d, dword [rbp + 4]
jne 0x14005c167
mov ecx, r14d
cmp r14d, edx
je 0x14005c716
jmp 0x14005c167
mov r12d, dword [rbp + 4]
mov eax, dword [0x141f35bd0]
imul eax, dword [0x141f35bd4]
add eax, 0x136a9b5f
and eax, 0x304c53a6
xor eax, 0x6ba86213
cmp eax, 0xb65eb80f
ja 0x14005c110
nop word cs:[rax + rax]
mov eax, dword [0x141f35bd8]
xor edx, edx
div dword [0x141f35bdc]
add eax, 0x98dfee8a
or eax, 0x143b89b3
cmp eax, 0x52dc9a9d
je 0x14005c140
test ecx, ecx
jns 0x14005c716
mov eax, dword [0x141f35be0]
or eax, dword [0x141f35be4]
xor eax, 0x1278e938
add eax, 0x65afe679
or eax, 0x80dc5517
cmp eax, 0x9a6bd08b
jae 0x14005c19f
sub rsp, 0x20
mov rcx, rsi
mov rdx, rbx
mov r8, r15
call fcn.1400467a0
add rsp, 0x20
xor edi, edi
nop word cs:[rax + rax]
sub rsp, 0x20
mov rcx, rsi
mov rdx, rbx
mov r8, r15
call fcn.1400467a0
add rsp, 0x20
test dil, dil
jne 0x14005c1b0
mov dword [rbp], 0
cmp qword [rsi], 0
je 0x14005c711
mov eax, dword [rsi + 0x308]
cmp eax, 0xfffffebc
jl 0x14005c711
cmp eax, 0x135
jle 0x14005c200
mov dword [rbp], 0xff
jmp 0x14005c711
mov dword [rbp], 0xff
nop word [rax + rax]
mov ecx, dword [0x141f35be8]
mov edx, dword [0x141f35bec]
add ecx, edx
add ecx, 0xe1d765d4
or ecx, 0xb5d3af2b
cmp ecx, 0x3b717ae9
jb 0x14005c210
lea r14, [0x141f21a2e]
xor r15d, r15d
nop dword [rax]
test eax, eax
jle 0x14005c392
mov ebx, 0x3c
cmp eax, 0x13
jae 0x14005c28d
nop word cs:[rax + rax]
mov ecx, dword [0x141f35dc0]
xor ecx, dword [0x141f35dc4]
or ecx, 0xdaa7b03a
imul ecx, ecx, 0x7515b293
add ecx, 0xf38130ca
cmp ecx, 0x6cc87163
ja 0x14005c260
mov eax, eax
movzx ebx, byte [rax + r14]
mov eax, dword [0x141f35dc8]
or eax, dword [0x141f35dcc]
cmp eax, 0xa541f812
jne 0x14005c2c0
sub rsp, 0x20
mov rcx, rsi
mov rdx, rbx
call fcn.140045ed0
add rsp, 0x20
nop word cs:[rax + rax]
mov edi, dword [0x141f35dd0]
and edi, dword [0x141f35dd4]
and edi, 0x1218005b
add edi, 0xea51d6c4
sub rsp, 0x20
mov rcx, rsi
mov rdx, rbx
call fcn.140045ed0
add rsp, 0x20
cmp edi, 0x83975950
jb 0x14005c2c0
mov eax, dword [rsi + 0x308]
cmp eax, 0xfffff800
jle 0x14005c6ea
nop word cs:[rax + rax]
mov ecx, dword [0x141f35bf0]
imul ecx, dword [0x141f35bf4]
and ecx, 0x3a81bd7b
cmp ecx, 0x780e0b10
je 0x14005c310
nop dword [rax + rax]
mov ecx, dword [0x141f35bf8]
and ecx, dword [0x141f35bfc]
or ecx, 0x1000689d
and ecx, 0x301068bd
add ecx, 0x31a32917
cmp ecx, 0x21b60fed
jb 0x14005c330
add r15d, ebx
nop dword [rax]
mov ecx, dword [0x141f35c00]
sub ecx, dword [0x141f35c04]
or ecx, 0xfffcaaf5
cmp ecx, 0xb5abe14b
je 0x14005c360
jmp 0x14005c240
test rax, rax
js 0x14005c65c
cvtsi2ss xmm1, rax
jmp 0x14005c671
xor ecx, ecx
nop word cs:[rax + rax]
test cl, cl
jne 0x14005c3a0
xor r13d, r13d
mov r12d, 0x9531cf1b
mov edi, 0xe576d079
nop word cs:[rax + rax]
test r13b, r13b
jne 0x14005c3c0
test eax, eax
je 0x14005c43d
neg eax
nop dword [rax + rax]
mov ecx, dword [0x141f35c18]
imul ecx, dword [0x141f35c1c]
and ecx, 0xf9bd6858
imul rcx, rdi
shr rcx, 0x3e
or ecx, 0x385319ce
cmp ecx, 0x6245b161
ja 0x14005c3d0
mov ebx, 0x3c
cmp eax, 0x13
jae 0x14005c4dd
nop word [rax + rax]
mov ecx, dword [0x141f35db8]
imul ecx, dword [0x141f35dbc]
imul ecx, ecx, 0x6856401a
cmp ecx, 0x3c0d368a
je 0x14005c410
mov eax, eax
lea rcx, [0x141f21a2e]
movzx ebx, byte [rax + rcx]
jmp 0x14005c4dd
mov eax, dword [0x141f35c08]
xor eax, dword [0x141f35c0c]
xor eax, 0xa73698fd
mov ecx, 0xb4e78eed
imul rax, rcx
shr rax, 0x3f
or eax, 0xaceea512
cmp eax, 0xb6d42a69
ja 0x14005c43d
movzx ecx, byte [rsi + 8]
mov eax, dword [0x141f35c10]
add eax, dword [str.__zFO]
mov edx, 0xa582f9f1
imul rax, rdx
shr rax, 0x3e
and eax, 1
cmp eax, 0x582403e0
je 0x14005c46b
cmp cl, 4
ja 0x14005c5aa
mov eax, dword [0x141f35c20]
xor edx, edx
div dword [0x141f35c24]
test r13b, r13b
jne 0x14005c4a5
cmp cl, 2
mov ebx, 0
adc rbx, 1
nop word cs:[rax + rax]
mov eax, dword [0x141f35c28]
add eax, dword [0x141f35c2c]
and eax, 0xb4b1728c
add eax, 0xa50cbfbe
cmp eax, 0x52229f37
jb 0x14005c4c0
test r13b, r13b
jne 0x14005c543
mov eax, dword [0x141f35c30]
xor edx, edx
div dword [0x141f35c34]
mov r14d, eax
imul r14, r12
shr r14, 0x3f
xor r14d, 0xd4ca9b89
add r14d, 0xeae11a9f
sub rsp, 0x20
mov rcx, rsi
mov rdx, rbx
call fcn.1400455d0
add rsp, 0x20
cmp r14d, 0x3d8e144f
jb 0x14005c543
mov eax, dword [rsi + 0x308]
cmp eax, 0x7ff
jg 0x14005c6f3
sub r15d, ebx
test eax, eax
jle 0x14005c3c0
jmp 0x14005c5aa
sub rsp, 0x20
mov rcx, rsi
mov rdx, rbx
call fcn.1400455d0
add rsp, 0x20
jmp 0x14005c4e2
shl r12, 2
lea rax, [0x141f21a44]
sub rax, r12
movss xmm1, dword [rax]
divss xmm0, xmm1
mov edx, dword [rbp + 4]
nop word cs:[rax + rax]
mov eax, dword [0x141f35bc0]
add eax, dword [0x141f35bc4]
or eax, 0x514f4bd
add eax, 0xd46fb982
or eax, 0xe9e7215a
cmp eax, 0x2c4c0ed0
je 0x14005c580
movaps xmm1, xmm0
jmp 0x14005c6a2
dec r15d
cmp r15d, 0xffffff81
jg 0x14005c6f9
mov edi, 0x3c
mov r12d, dword [rbp + 4]
mov eax, dword [0x141f35c38]
and eax, dword [0x141f35c3c]
add eax, 0x6a20b081
cmp eax, 0x272d182
jae 0x14005c600
mov edx, 0xffffff82
sub edx, r15d
cmp edx, 0x3c
cmovae edx, edi
sub rsp, 0x20
mov rcx, rsi
call fcn.140045ed0
add rsp, 0x20
nop word cs:[rax + rax]
mov eax, dword [0x141f35c40]
xor edx, edx
div dword [0x141f35c44]
xor eax, 0x56fb8dba
imul r14, rax, 0x7e6127fd
shr r14, 0x3e
mov ebx, 0xffffff82
sub ebx, r15d
cmp ebx, 0x3c
cmovae ebx, edi
sub rsp, 0x20
mov rcx, rsi
mov rdx, rbx
call fcn.140045ed0
add rsp, 0x20
cmp r14d, 0x9167fa2c
ja 0x14005c600
add ebx, r15d
mov r15d, ebx
cmp ebx, 0xffffff82
jb 0x14005c5c0
jmp 0x14005c700
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
mov edx, dword [rbp + 4]
mulss xmm1, dword [0x1401087a0]
nop dword [rax]
mov eax, dword [0x141f35b98]
add eax, dword [0x141f35b9c]
or eax, 0x8517ba8d
add eax, 0x15519232
xor eax, 0xc4d7d6
cmp eax, 0xd194c3e1
jb 0x14005c680
movaps xmm2, xmmword [0x140108780]
xor ecx, ecx
jmp 0x14005c6dd
mov eax, dword [0x141f35ba0]
and eax, dword [0x141f35ba4]
xor eax, 0x31783fd1
imul eax, eax, 0x3e5cdcff
imul rax, rax, 0x164016b
shr rax, 0x38
cmp eax, 0x3ecd9c1
jb 0x14005c053
movaps xmm0, xmm1
cmp edx, 0x2d
jne 0x14005c6b0
xorps xmm0, xmm2
jmp 0x14005c6b0
mov dword [rbp], 0
jmp 0x14005c711
mov r12d, dword [rbp + 4]
jmp 0x14005c711
mov ebx, r15d
mov r12d, dword [rbp + 4]
lea r15d, [rbx + 0x7f]
cmp r15d, 0xfe
jle 0x14005c78e
xor edi, edi
mov ecx, dword [rbp]
shl ecx, 0x17
or edi, ecx
movd xmm0, edi
cmp r12d, 0x2d
jne 0x14005c72d
pxor xmm0, xmmword [0x140108780]
xor r8d, r8d
xor ecx, ecx
mov eax, dword [0x141f35dd8]
xor edx, edx
div dword [0x141f35ddc]
movd eax, xmm0
shl rax, 0x20
or rax, r8
or rax, rcx
nop
mov ecx, dword [0x141f35de0]
mov edx, dword [0x141f35de4]
add ecx, edx
add ecx, 0x90b7ae33
imul rcx, rcx, 0x5a8dc845
shr rcx, 0x3e
or ecx, 0x80b3d28
cmp ecx, 0x83bc7520
je 0x14005c750
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
sub rsp, 0x20
mov edx, 0x18
mov rcx, rsi
call fcn.1400455d0
add rsp, 0x20
mov r8, qword [rsi]
mov eax, dword [0x141f35c48]
xor edx, edx
div dword [0x141f35c4c]
or eax, 0x8b538647
and eax, 0xcbd39ed7
cmp eax, 0x1399a914
je 0x14005c7a6
test r8, r8
je 0x14005ca3a
mov eax, dword [0x141f35c50]
xor eax, dword [0x141f35c54]
add eax, 0x754def59
xor eax, 0x3a049f9c
cmp eax, 0x85e6a99a
ja 0x14005c7ce
mov ecx, dword [rsi + 0x308]
mov eax, dword [0x141f35c58]
or eax, dword [0x141f35c5c]
or eax, 0x849400c
xor eax, 0x280842bc
or eax, 0x57b4b903
cmp eax, 0xbc214719
jb 0x14005c7f1
test ecx, ecx
js 0x14005ca3a
mov eax, dword [0x141f35c60]
or eax, dword [0x141f35c64]
or eax, 0x2140e061
and eax, 0x7b59fb73
cmp eax, 0xa4b18cee
je 0x14005c81b
cmp ecx, 0x12
ja 0x14005cc02
mov eax, dword [0x141f35c68]
and eax, dword [0x141f35c6c]
add eax, 0x808fcdfa
or eax, 0x88000a30
and eax, 0xb811babc
cmp eax, 0xa48b72ce
ja 0x14005c841
test rcx, rcx
je 0x14005ca79
mov eax, dword [0x141f35c70]
xor edx, edx
div dword [0x141f35c74]
mov eax, dword [0x141f35c78]
and eax, dword [0x141f35c7c]
imul eax, eax, 0xfc3cc623
cmp eax, 0xe463159e
je 0x14005c87a
xor eax, eax
test al, al
jne 0x14005c895
cmp ecx, 1
jne 0x14005c942
xor edi, edi
xor r9d, r9d
test cl, 1
je 0x14005ca7b
add rdi, rdi
lea rdi, [rdi + rdi*4]
mov eax, dword [0x141f35c88]
xor edx, edx
div dword [0x141f35c8c]
and eax, 0x30d412c4
xor eax, 0x941001
or eax, 0xc723ec2a
cmp eax, 0xc2defd62
jb 0x14005c8b7
mov eax, 0xbd24e861
mov edx, dword [0x141f35c90]
or edx, dword [str.ZP7_]
add edx, 0xa6413235
imul rdx, rax
shr rdx, 0x3d
xor edx, 0x4258706f
cmp edx, 0xacfb7f6a
ja 0x14005c8e0
cmp r9, r8
jae 0x14005ca7b
mov eax, dword [0x141f35c98]
add eax, dword [0x141f35c9c]
imul rax, rax, 0x77ace03b
shr rax, 0x3d
or eax, 0xaea3dded
cmp eax, 0x60183d50
jb 0x14005c911
movzx eax, byte [rsi + r9 + 8]
add rdi, rax
jmp 0x14005ca7b
mov eax, dword [0x141f35c80]
xor edx, edx
div dword [0x141f35c84]
or eax, 0x238cc638
xor eax, 0x86bb8aca
imul eax, eax, 0x7ca33555
cmp eax, 0x5a594e03
je 0x14005c942
mov r10d, ecx
and r10d, 0xfffffffe
xor eax, eax
test al, al
jne 0x14005c970
xor edi, edi
mov r11d, 0xbc633f75
xor r9d, r9d
jmp 0x14005c98e
add r9, 2
cmp r9, r10
je 0x14005c8a7
add rdi, rdi
lea rax, [rdi + rdi*4]
cmp r9, r8
jae 0x14005c9a3
movzx edx, byte [rsi + r9 + 8]
add rax, rdx
mov r14, r9
or r14, 1
add rax, rax
lea rdi, [rax + rax*4]
cmp r14, r8
jae 0x14005c981
mov eax, dword [0x141f35cd8]
xor edx, edx
div dword [0x141f35cdc]
add eax, 0x675234
cmp eax, 0xb3666f13
ja 0x14005c9b6
mov eax, dword [0x141f35ce0]
xor eax, dword [0x141f35ce4]
and eax, 0x7aae9ff6
add eax, 0x9434e6a9
imul rax, r11
shr rax, 0x3e
cmp eax, 0x6076cb98
je 0x14005c9d0
movzx eax, byte [rsi + r14 + 8]
mov edx, dword [0x141f35ce8]
imul edx, dword [0x141f35cec]
imul edx, edx, 0xa4a10f47
imul r14, rdx, 0xbd5e47f
shr r14, 0x20
sub edx, r14d
shr edx, 1
add edx, r14d
shr edx, 0x1d
imul edx, edx, 0x2c14fab
cmp edx, 0x86f5ec71
je 0x14005c9fb
add rdi, rax
jmp 0x14005c981
xor edi, edi
mov ecx, 0x88d36d55
mov r15d, ebx
add r15d, 0x7e
mov eax, dword [0x141f35db0]
xor edx, edx
div dword [0x141f35db4]
imul rax, rcx
shr rax, 0x3a
imul eax, eax, 0xa3fb51ec
cmp eax, 0xc08acc03
ja 0x14005ca48
and edi, 0x7fffff
mov ecx, r15d
jmp 0x14005c716
xor edi, edi
mov eax, dword [0x141f35ca0]
xor edx, edx
div dword [0x141f35ca4]
imul rdx, rax, 0x1c2882bf
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1d
or eax, 0xfdfee6d2
cmp eax, 0xa665ab98
jb 0x14005ca7b
cmp r8, rcx
jbe 0x14005cbf5
movzx eax, byte [rsi + rcx + 8]
lea r9, [rcx + 1]
cmp r9, r8
sete dl
cmp al, 5
sete r10b
mov r11d, dword [0x141f35ca8]
and r11d, dword [0x141f35cac]
and r11d, 0xb165851f
imul r11d, r11d, 0x788dfd33
and r11d, 0xaa0e55ae
cmp r11d, 0x409b686f
jb 0x14005cabb
and dl, r10b
mov r8d, 0xa73cd529
mov r9d, dword [0x141f35cb0]
xor r9d, dword [0x141f35cb4]
add r9d, 0x24755d98
and r9d, 0xcd65ca34
imul r9, r8
shr r9, 0x3d
cmp r9d, 0x22f1945d
ja 0x14005cafc
test dl, dl
je 0x14005cbc8
mov eax, dword [0x141f35cc0]
add eax, dword [0x141f35cc4]
imul eax, eax, 0xd84ab98c
xor eax, 0x1d40ad1a
and eax, 0x5d49af5e
cmp eax, 0xaba2b45a
ja 0x14005cb31
cmp byte [rsi + 0x30c], 0
jne 0x14005cbf2
mov r8d, 0xabc26e5d
mov eax, dword [0x141f35cc8]
xor edx, edx
div dword [0x141f35ccc]
imul rax, r8
shr rax, 0x3f
imul eax, eax, 0x923ff1b0
add eax, 0x41639056
cmp eax, 0xfde29868
ja 0x14005cb67
test rcx, rcx
je 0x14005d07f
mov eax, dword [str.M_a]
sub eax, dword [0x141f35cd4]
and eax, 0x66aff2a9
imul eax, eax, 0x5f6ec9cc
or eax, 0xa438cd90
cmp eax, 0x6d58d417
jb 0x14005cb98
test byte [rsi + rcx + 7], 1
mov r12d, dword [rbp + 4]
jne 0x14005cbf2
jmp 0x14005cbf5
mov ecx, dword [0x141f35cb8]
sub ecx, dword [0x141f35cbc]
xor ecx, 0x1a0d5cce
imul ecx, ecx, 0xe569b592
add ecx, 0xe2fcc822
cmp ecx, 0x695ed83a
jb 0x14005cbc8
cmp al, 4
jbe 0x14005cbf5
inc rdi
cmp rdi, 0x1000000
jb 0x14005d090
sub rsp, 0x20
mov edx, 1
mov rcx, rsi
call fcn.140045ed0
add rsp, 0x20
lea ecx, [rbx + 1]
mov eax, dword [0x141f35cf0]
xor edx, edx
div dword [0x141f35cf4]
xor eax, 0xb2365ce5
imul eax, eax, 0x72aa92a0
cmp eax, 0xcb599f3
jb 0x14005cc1a
mov r9, qword [rsi]
test r9, r9
je 0x14005cf0e
mov r8d, dword [rsi + 0x308]
mov eax, dword [0x141f35cf8]
or eax, dword [0x141f35cfc]
or eax, 0xd323e187
imul rax, rax, 0x43b5e8dd
shr rax, 0x3e
imul eax, eax, 0xd00407c4
cmp eax, 0x101cb552
jb 0x14005cc4d
test r8d, r8d
js 0x14005cf0e
mov eax, dword [0x141f35d00]
xor eax, dword [0x141f35d04]
add eax, 0x4ba95d98
or eax, 0x5644801d
imul rax, rax, 0x4efdecff
shr rax, 0x3e
cmp eax, 0xd911f563
je 0x14005cc7f
mov rdi, 0xffffffffffffffff
cmp r8d, 0x12
ja 0x14005d06b
mov eax, dword [0x141f35d08]
xor eax, dword [0x141f35d0c]
and eax, 0x394b0134
imul eax, eax, 0x886e268f
add eax, 0xa8d3a801
cmp eax, 0x88d02527
jb 0x14005ccb8
mov eax, dword [0x141f35d10]
sub eax, dword [0x141f35d14]
imul rax, rax, 0x11c4f055
shr rax, 0x39
imul eax, eax, 0xf8ff658
cmp eax, 0xe702b8ce
ja 0x14005ccdb
test r8, r8
je 0x14005cf15
cmp r8d, 1
jne 0x14005cd18
xor edi, edi
xor r12d, r12d
jmp 0x14005ce59
mov eax, dword [0x141f35d18]
xor eax, dword [0x141f35d1c]
and eax, 0x394fada8
imul eax, eax, 0xe197ef90
xor eax, 0x470afc03
cmp eax, 0xbd4b5937
jb 0x14005cd18
mov r10d, r8d
and r10d, 0xfffffffe
mov eax, dword [0x141f35d20]
xor eax, dword [0x141f35d24]
xor eax, 0xdabcf024
imul eax, eax, 0xc7350020
add eax, 0x98722fe0
cmp eax, 0x33335f8e
jb 0x14005cd42
xor r11d, r11d
mov r14d, 0xa9f20a99
xor edi, edi
xor r15d, r15d
add rdi, rdi
lea rax, [rdi + rdi*4]
cmp r15, r9
jae 0x14005cdae
mov edx, dword [0x141f35da8]
or edx, dword [0x141f35dac]
imul edx, edx, 0x896f5363
add edx, 0x94244555
or edx, 0xe7c4b98a
cmp edx, 0x66467ca5
jb 0x14005cd7f
movzx edx, byte [rsi + r15 + 8]
add rax, rdx
mov r12, r15
or r12, 1
mov edx, dword [0x141f35d88]
sub edx, dword [0x141f35d8c]
imul edx, edx, 0x82e8d192
add edx, 0x76d8bee6
cmp edx, 0xd58a441d
ja 0x14005cdb5
add rax, rax
lea rdi, [rax + rax*4]
cmp r12, r9
jae 0x14005ce32
mov eax, dword [0x141f35d90]
xor edx, edx
div dword [0x141f35d94]
or eax, 0xcffafffb
imul eax, eax, 0x921ceb04
cmp eax, 0x6a7c97f2
jb 0x14005cde1
movzx eax, byte [rsi + r12 + 8]
add rdi, rax
mov eax, dword [0x141f35d98]
and eax, dword [0x141f35d9c]
shr eax, 1
imul rax, r14
shr rax, 0x3e
imul eax, eax, 0xf51f4fe5
xor eax, 0x561d3154
cmp eax, 0x97d72203
ja 0x14005ce0a
lea r12, [r15 + 2]
mov eax, dword [0x141f35da0]
xor edx, edx
div dword [0x141f35da4]
test r11b, r11b
jne 0x14005ce44
add r15, 2
cmp r15, r10
mov r15, r12
jne 0x14005cd73
mov eax, dword [0x141f35d28]
xor eax, dword [0x141f35d2c]
or eax, 0x1ac7a3b5
add eax, 0x35371561
or eax, 0x488b28fc
cmp eax, 0x3c94d544
jb 0x14005ce59
test r8b, 1
je 0x14005cf17
mov eax, 0xcaff0b1f
add rdi, rdi
lea rdi, [rdi + rdi*4]
mov edx, dword [0x141f35d30]
or edx, dword [0x141f35d34]
imul edx, edx, 0xb015baa8
add edx, 0x486813a9
imul rdx, rax
shr rdx, 0x3d
cmp edx, 0xe0a85645
ja 0x14005ce91
mov eax, dword [0x141f35d38]
sub eax, dword [0x141f35d3c]
add eax, 0x683dfbb7
and eax, 0xf5530f6c
cmp eax, 0x6faa2877
je 0x14005ceb9
cmp r12, r9
jae 0x14005cf17
mov eax, dword [0x141f35d40]
sub eax, dword [0x141f35d44]
and eax, 0x6f030fbb
imul rax, rax, 0x5c4a47ed
shr rax, 0x3c
or eax, 0xbcb7d7d4
cmp eax, 0xcbbd1d2d
ja 0x14005cedb
movzx eax, byte [rsi + r12 + 8]
add rdi, rax
jmp 0x14005cf17
xor edi, edi
jmp 0x14005d06b
xor edi, edi
mov eax, dword [0x141f35d48]
xor edx, edx
div dword [0x141f35d4c]
imul rax, rax, 0x48c4e185
shr rax, 0x3e
imul eax, eax, 0x649b4357
add eax, 0xcf0bada9
cmp eax, 0x551aaf5c
jb 0x14005cf17
cmp r9, r8
jbe 0x14005d067
movzx eax, byte [rsi + r8 + 8]
lea rdx, [r8 + 1]
cmp al, 5
sete r10b
mov r14d, dword [0x141f35d50]
xor r14d, dword [0x141f35d54]
or r14d, 0x4180000c
and r14d, 0x5182000c
cmp rdx, r9
sete r11b
cmp r14d, 0xc275b777
ja 0x14005cf55
and r11b, r10b
je 0x14005d043
mov eax, dword [0x141f35d58]
xor edx, edx
div dword [0x141f35d5c]
mov eax, dword [0x141f35d60]
xor eax, dword [0x141f35d64]
and eax, 0x808b000
xor eax, 0xf5c11a8b
cmp eax, 0x693ed9f0
jb 0x14005cf9e
movzx r9d, byte [rsi + 0x30c]
mov eax, dword [0x141f35d68]
xor edx, edx
div dword [0x141f35d6c]
add eax, 0x792c7eb8
and eax, 0x68d0e010
cmp eax, 0xb9ef1f11
ja 0x14005cfc3
test r9b, r9b
jne 0x14005d047
xor eax, eax
test al, al
jne 0x14005cfe9
test r8, r8
je 0x14005d067
mov eax, dword [0x141f35d70]
add eax, dword [0x141f35d74]
imul eax, eax, 0x79edb11d
or eax, 0xa858b2de
imul eax, eax, 0xc5d4d68f
cmp eax, 0xfc699805
ja 0x14005cff2
movzx r8d, byte [rsi + r8 + 7]
mov eax, dword [0x141f35d78]
xor edx, edx
div dword [0x141f35d7c]
xor eax, 0x2518b041
and eax, 0xa518f145
cmp eax, 0x34261002
je 0x14005d01c
test r8b, 1
jne 0x14005d047
jmp 0x14005d067
cmp al, 4
jbe 0x14005d067
inc rdi
mov eax, dword [0x141f35d80]
xor eax, dword [0x141f35d84]
add eax, 0xdbb36625
or eax, 0xa5ded2ac
cmp eax, 0xcfda66ea
je 0x14005d04a
mov r12d, dword [rbp + 4]
sub ebx, 0xffffff80
mov r15d, ebx
cmp ebx, 0xfe
jg 0x14005c711
jmp 0x14005d092
mov r12d, dword [rbp + 4]
cmp rdi, 0x1000000
jae 0x14005cc02
mov ecx, ebx
mov ebx, ecx
cmp rdi, 0x7fffff
ja 0x14005ca6b
jmp 0x14005ca3c