Function at 0x140058440
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
sub rsp, 0x18
lea rbp, [rsp + 0x10]
mov r15, rdx
mov eax, dword [0x141dc8400]
add eax, dword [0x141dc8404]
mov r14, rcx
imul eax, eax, 0x14f6007a
xor eax, 0x75b6044e
cmp eax, 0xf6eda43
jae 0x1400584a0
mov eax, 0x310
call fcn.1400ef330
sub rsp, rax
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
nop word cs:[rax + rax]
mov ecx, dword [0x141dc8408]
imul ecx, dword [0x141dc840c]
add ecx, 0x438175da
xor ecx, 0x108be1ba
imul rax, rcx, 0x43ebdad3
shr rax, 0x20
sub ecx, eax
shr ecx, 1
add ecx, eax
shr ecx, 0x1f
mov eax, 0x310
call fcn.1400ef330
sub rsp, rax
mov rsi, rsp
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
mov rdi, rsp
cmp ecx, 0xf3d2b740
ja 0x1400584a0
mov ecx, 1
test r15, r15
je 0x1400586a8
movzx ebx, byte [r14]
mov eax, dword [0x141dc8410]
xor edx, edx
div dword [0x141dc8414]
nop word cs:[rax + rax]
mov eax, dword [0x141dc8418]
xor eax, dword [0x141dc841c]
add eax, 0xde5596ea
imul rax, rax, 0x22316727
shr rax, 0x3c
cmp eax, 0x3d7fb377
je 0x140058520
mov eax, 0xc0333269
nop dword [rax + rax]
mov edx, dword [0x141dc8420]
xor edx, dword [0x141dc8424]
or edx, 0xfb378391
add edx, 0xd0260afc
imul rdx, rax
shr rdx, 0x3f
cmp edx, 0xc7a37408
ja 0x140058550
cmp ebx, 0x2d
je 0x140058582
cmp ebx, 0x2b
jne 0x1400585f2
dec r15
nop word cs:[rax + rax]
mov eax, dword [0x141dc8428]
xor edx, edx
div dword [0x141dc842c]
imul eax, eax, 0x46b083f6
add eax, 0xbedd89ca
or eax, 0x5ef1a58e
cmp eax, 0x8e7bfe3a
jb 0x140058590
inc r14
nop dword [rax + rax]
mov eax, dword [0x141dc8430]
imul eax, dword [0x141dc8434]
imul rax, rax, 0x5204a9a9
shr rax, 0x3d
or eax, 0x5a0d1db5
xor eax, 0x50f38a93
cmp eax, 0x414db66c
ja 0x1400585c0
test r15, r15
je 0x14005898d
sub rsp, 0x20
mov rcx, rdi
mov rdx, r14
mov r8, r15
call fcn.140044050
add rsp, 0x20
movzx r8d, byte [rdi + 0x11]
cmp r8b, 2
jne 0x1400586af
nop word [rax + rax]
mov eax, dword [0x141dc8438]
sub eax, dword [0x141dc843c]
and eax, 0x40880200
imul rax, rax, 0x45d766f3
shr rax, 0x3c
cmp eax, 0xc0bee34
ja 0x140058620
mov ecx, 1
cmp r15, 3
je 0x140058b31
cmp r15, 8
jne 0x140058b5c
nop dword [rax]
mov eax, dword [0x141dc8440]
add eax, dword [0x141dc8444]
imul eax, eax, 0xf0d4acd2
add eax, 0xf22b8ff8
and eax, 0x9394efae
cmp eax, 0x6ba01985
ja 0x140058660
movabs rax, 0xdfdfdfdfdfdfdfdf
and rax, qword [r14]
movabs rdx, 0x5954494e49464e49
cmp rax, rdx
jne 0x140058bc3
jmp 0x140058b5e
xor edx, edx
jmp 0x140059005
mov eax, dword [0x141dc8458]
xor edx, edx
div dword [0x141dc845c]
nop dword [rax]
mov eax, dword [0x141dc8460]
mov ecx, dword [0x141dc8464]
add eax, ecx
add eax, 0x8b3a2b5d
xor eax, 0x98039a87
and eax, 0x984bba87
cmp eax, 0x4db5ba7f
je 0x1400586c0
mov r12, qword [rdi]
mov r13, qword [rdi + 8]
lea rax, [r12 + 0xa]
cmp rax, 0x1b
ja 0x140058861
mov eax, 0xb0980e73
nop
mov ecx, dword [0x141dc8468]
imul ecx, dword [0x141dc846c]
or ecx, 0x1c3d2219
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0xfa8ed49f
je 0x140058700
cmp r13, 0x1000001
setb cl
test r8b, r8b
sete al
and al, cl
nop word cs:[rax + rax]
mov ecx, dword [0x141dc8470]
or ecx, dword [0x141dc8474]
or ecx, 0x900082c0
xor ecx, 0x40288201
or ecx, 0x2695753e
cmp ecx, 0xf27951ff
ja 0x140058740
test al, al
je 0x140058861
nop
mov eax, dword [0x141dc8478]
imul eax, dword [0x141dc847c]
or eax, 0xe7018950
imul eax, eax, 0x242f8d7c
imul rax, rax, 0x44e9b449
shr rax, 0x3e
cmp eax, 0x3f97c93e
ja 0x140058770
cmp r12, 0xa
jg 0x1400587c0
test r13, r13
js 0x140058bcd
cvtsi2ss xmm0, r13
jmp 0x140058bf0
mov eax, dword [0x141dc8488]
xor edx, edx
div dword [0x141dc848c]
add eax, 0xe98bc4cc
or eax, 0xffbdc7f6
cmp eax, 0xd82c52f8
je 0x1400587c0
lea rcx, [0x141db56a0]
mov rax, r13
mul qword [rcx + r12*8 - 0x50]
jo 0x140058861
cmp rax, 0x1000000
ja 0x140058861
mov ecx, 0xc22c5765
mov rdx, rax
shr rdx, 1
cvtsi2ss xmm1, rax
jmp 0x140058844
movaps xmm0, xmm1
mov r8d, dword [0x141dc8490]
and r8d, dword [0x141dc8494]
imul r8, rcx
shr r8, 0x3a
or r8d, 0xee5556fb
imul r8d, r8d, 0x745afbcd
cmp r8d, 0x5c9b6058
jne 0x140058c5c
test rax, rax
jns 0x140058810
mov r8d, eax
and r8d, 1
or r8, rdx
xorps xmm0, xmm0
cvtsi2ss xmm0, r8
addss xmm0, xmm0
jmp 0x140058813
mov byte [rbp + 7], r8b
mov qword [rbp - 8], r14
mov dword [rbp], ebx
mov eax, dword [0x141dc84b0]
or eax, dword [0x141dc84b4]
add eax, 0x10c21c18
and eax, 0x7bafbb05
cmp eax, 0xe6729ee2
jne 0x1400588a0
sub rsp, 0x20
mov rcx, r12
mov rdx, r13
call fcn.140059980
add rsp, 0x20
nop dword [rax]
mov eax, dword [0x141dc84b8]
or eax, dword [0x141dc84bc]
imul ebx, eax, 0x16824d96
sub rsp, 0x20
mov rcx, r12
mov rdx, r13
call fcn.140059980
add rsp, 0x20
cmp ebx, 0x96d023b8
je 0x1400588a0
mov r14, rax
mov edi, edx
mov eax, 0x921d828b
movzx edx, byte [rbp + 7]
nop dword [rax + rax]
mov ecx, dword [0x141dc84c0]
add ecx, dword [0x141dc84c4]
or ecx, 0xbffdb9ee
shr ecx, 1
imul rcx, rax
shr rcx, 0x3b
cmp ecx, 0x9b96c075
je 0x1400588e0
test dl, dl
je 0x140058997
test edi, edi
js 0x140058997
inc r13
xor eax, eax
nop dword [rax]
test al, al
jne 0x140058920
sub rsp, 0x20
mov rcx, r12
mov rdx, r13
call fcn.140059980
add rsp, 0x20
cmp r14, rax
sete cl
cmp edi, edx
sete al
and al, cl
nop word cs:[rax + rax]
mov ecx, dword [0x141dc84d0]
and ecx, dword [0x141dc84d4]
add ecx, 0x733a2fbd
and ecx, 0xf62d4678
imul rdx, rcx, 0x40db7671
shr rdx, 0x20
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0x1d
cmp ecx, 0x19218a70
ja 0x140058950
test al, al
je 0x1400589ec
jmp 0x140058fe8
mov edx, 0x100
jmp 0x140059005
mov eax, 0x976dc4df
nop dword [rax]
mov ecx, dword [0x141dc84c8]
sub ecx, dword [0x141dc84cc]
and ecx, 0x74d77fb1
add ecx, 0x76aed563
mov rdx, rcx
imul rdx, rax
shr rdx, 0x20
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0x1e
cmp ecx, 0xd6ca3571
je 0x1400589a0
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400589e0
test edi, edi
jns 0x140058fe8
sub rsp, 0x20
mov rcx, rsi
mov rdx, qword [rbp - 8]
mov r8, r15
call fcn.140043390
add rsp, 0x20
cmp qword [rsi], 0
sete dl
mov ecx, dword [rsi + 0x308]
cmp ecx, 0xfffffebc
setl al
or al, dl
mov edx, 0xa4896003
mov r8d, dword [0x141dc84d8]
xor r8d, dword [0x141dc84dc]
imul r8, rdx
shr r8, 0x3b
and r8d, 0xf
cmp r8d, 0xfe0b9991
je 0x140058a20
xor edi, edi
test al, al
jne 0x140058fc4
mov edi, 0xff
cmp ecx, 0x135
jg 0x140058fc4
lea r15, [0x141db5546]
xor r14d, r14d
nop dword [rax + rax]
test ecx, ecx
jle 0x140058c69
nop dword [rax + rax]
mov eax, dword [0x141dc84f0]
imul eax, dword [0x141dc84f4]
or eax, 0x8905854b
add eax, 0x1361de3b
imul rdx, rax, 0x33c47d93
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1e
cmp eax, 0x89683578
je 0x140058a80
mov ebx, 0x3c
cmp ecx, 0x13
jae 0x140058ac3
mov eax, ecx
movzx ebx, byte [rax + r15]
sub rsp, 0x20
mov rcx, rsi
mov rdx, rbx
call fcn.140042b10
add rsp, 0x20
mov ecx, dword [rsi + 0x308]
cmp ecx, 0xfffff800
jle 0x140058fb0
mov eax, dword [0x141dc84e0]
sub eax, dword [0x141dc84e4]
imul eax, eax, 0xf53ad239
xor eax, 0xa3ee0198
add eax, 0xe3e9fd19
cmp eax, 0xc8726c18
jb 0x140058ae8
add r14d, ebx
mov eax, dword [0x141dc84e8]
and eax, dword [0x141dc84ec]
imul eax, eax, 0x8e22b48f
add eax, 0xf524f45a
cmp eax, 0x6f65b0f0
ja 0x140058b0e
jmp 0x140058a70
movzx edx, byte [r14]
movzx eax, word [r14 + 1]
shl eax, 8
or eax, edx
and eax, 0xdfdfdf
cmp eax, 0x464e49
je 0x140058b5e
cmp eax, 0x4e414e
jne 0x140058bc3
movd xmm0, dword [0x1401027a8]
jmp 0x140058b70
jmp 0x140058bc3
movd xmm0, dword [0x1401027a4]
nop word cs:[rax + rax]
mov eax, dword [0x141dc8448]
add eax, dword [0x141dc844c]
cmp eax, 0x34fec9cc
je 0x140058b70
cmp ebx, 0x2d
jne 0x140058bc1
pxor xmm0, xmmword [0x140102780]
xor ecx, ecx
nop word cs:[rax + rax]
mov eax, dword [0x141dc8450]
mov edx, dword [0x141dc8454]
add eax, edx
add eax, 0xfdd0b397
and eax, 0x453e130c
cmp eax, 0x85f6e0d7
je 0x140058ba0
jmp 0x140058bc3
xor ecx, ecx
mov edx, 0x100
jmp 0x140059005
mov rax, r13
shr rax, 1
and r13d, 1
or r13, rax
cvtsi2ss xmm0, r13
addss xmm0, xmm0
nop word cs:[rax + rax]
mov eax, dword [0x141dc8480]
xor eax, dword [0x141dc8484]
xor eax, 0x82b96410
and eax, 0xbab9f71b
cmp eax, 0x682004f7
je 0x140058bf0
test r12, r12
js 0x140058f4a
lea rax, [0x141db555c]
mulss xmm0, dword [rax + r12*4]
mov ecx, 0xc42eae19
nop dword [rax + rax]
mov eax, dword [0x141dc8498]
xor edx, edx
div dword [0x141dc849c]
add eax, 0x5f6bb75b
imul rax, rcx
shr rax, 0x3e
or eax, 0x588b3630
cmp eax, 0x85dc2e9e
ja 0x140058c30
jmp 0x140058f9d
mulss xmm0, dword [0x1401027a0]
jmp 0x140058f9d
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x140058c70
xor r12d, r12d
mov r13d, 0x84901f2d
test ecx, ecx
je 0x140058d4f
mov eax, dword [0x141dc8508]
or eax, dword [0x141dc850c]
and eax, 0xb78037f6
add eax, 0x901d17a2
shr eax, 2
imul rax, rax, 0x52532921
shr rax, 0x3c
cmp eax, 0xd060fe2e
je 0x140058c85
neg ecx
nop word cs:[rax + rax]
mov eax, dword [0x141dc8510]
xor edx, edx
div dword [0x141dc8514]
imul rax, r13
shr rax, 0x3e
imul eax, eax, 0xbdfe001e
add eax, 0xd51aca82
cmp eax, 0xa80ee009
jb 0x140058cc0
mov ebx, 0x3c
cmp ecx, 0x13
jae 0x140058e29
mov eax, dword [0x141dc86b0]
sub eax, dword [0x141dc86b4]
imul eax, eax, 0x16aa4ddc
and eax, 0xbbb5be18
imul rax, rax, 0x3a1791ed
shr rax, 0x3d
cmp eax, 0x33b6adbc
ja 0x140058cf6
mov eax, ecx
movzx ebx, byte [rax + r15]
mov eax, dword [0x141dc86b8]
imul eax, dword [0x141dc86bc]
xor eax, 0x20725264
or eax, 0x8c88ac13
imul eax, eax, 0xe3a4ff
cmp eax, 0xdcc95816
ja 0x140058d26
jmp 0x140058e29
movzx ecx, byte [rsi + 8]
mov eax, dword [0x141dc84f8]
xor edx, edx
div dword [0x141dc84fc]
imul eax, eax, 0x752eb20d
add eax, 0x7bbef6a4
and eax, 0x75050e5e
cmp eax, 0xdee7cb88
ja 0x140058d53
nop dword [rax + rax]
mov eax, dword [0x141dc8500]
xor edx, edx
div dword [0x141dc8504]
or eax, 0xfef4e8f9
and eax, 0xfef4ecfb
cmp eax, 0xcbda0f10
jb 0x140058d80
cmp cl, 4
ja 0x140058ea0
mov eax, dword [0x141dc8518]
imul eax, dword [0x141dc851c]
add eax, 0xac944f40
or eax, 0xf90bf8dd
imul eax, eax, 0xbfdaff4
cmp eax, 0x91100e1e
je 0x140058da8
nop dword [rax]
mov eax, dword [0x141dc8520]
xor eax, dword [0x141dc8524]
imul eax, eax, 0xf273d919
imul rdx, rax, 0x1a1a9729
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
cmp cl, 2
mov ebx, 0
adc rbx, 1
cmp eax, 0x4cee9a5a
je 0x140058dd0
nop dword [rax]
mov eax, dword [str.YA_rReAH8]
sub eax, dword [0x141dc852c]
imul eax, eax, 0xa4351e7b
cmp eax, 0x3883eb54
je 0x140058e10
sub rsp, 0x20
mov rcx, rsi
mov rdx, rbx
call fcn.1400422b0
add rsp, 0x20
mov ecx, dword [rsi + 0x308]
cmp ecx, 0x7ff
jg 0x140058fc4
mov eax, dword [0x141dc86c0]
xor edx, edx
div dword [0x141dc86c4]
nop dword [rax]
test r12b, r12b
jne 0x140058e60
sub r14d, ebx
mov eax, dword [0x141dc86c8]
xor edx, edx
div dword [0x141dc86cc]
mov eax, dword [0x141dc86d0]
xor eax, dword [0x141dc86d4]
add eax, 0xf71b3064
or eax, 0x9690dcd4
add eax, 0xcc1eede0
cmp eax, 0xfcb62529
ja 0x140058e76
test ecx, ecx
jle 0x140058c7d
dec r14d
cmp r14d, 0xffffff81
jg 0x140058fb4
mov r15d, 0x3c
jmp 0x140058ec4
add ebx, r14d
mov r14d, ebx
cmp ebx, 0xffffff82
jae 0x140058fb7
mov eax, dword [0x141dc8530]
sub eax, dword [0x141dc8534]
imul eax, eax, 0x24920b5
xor eax, 0x41243024
or eax, 0xbad1cf4b
cmp eax, 0x77269bf
je 0x140058f29
nop word [rax + rax]
mov r12d, dword [0x141dc8538]
add r12d, dword [0x141dc853c]
mov ebx, 0xffffff82
sub ebx, r14d
cmp ebx, 0x3c
cmovae ebx, r15d
sub rsp, 0x20
mov rcx, rsi
mov rdx, rbx
call fcn.140042b10
add rsp, 0x20
cmp r12d, 0x6ea94cff
jne 0x140058eb5
mov edx, 0xffffff82
sub edx, r14d
cmp edx, 0x3c
cmovae edx, r15d
sub rsp, 0x20
mov rcx, rsi
call fcn.140042b10
add rsp, 0x20
jmp 0x140058ef0
neg r12
nop dword [rax]
mov eax, dword [0x141dc84a0]
sub eax, dword [0x141dc84a4]
and eax, 0xd4c979
imul eax, eax, 0x4860aa2b
and eax, 0xdfdf4f1e
cmp eax, 0xb66e260c
ja 0x140058f50
lea rax, [0x141db555c]
divss xmm0, dword [rax + r12*4]
mov eax, dword [0x141dc84a8]
and eax, dword [0x141dc84ac]
or eax, 0x27776dd4
add eax, 0x218d4373
cmp eax, 0x2ad91e7
jb 0x140058f80
cmp ebx, 0x2d
jne 0x140058fa9
xorps xmm0, xmmword [0x140102780]
mov edx, 0x100
jmp 0x140059003
xor edi, edi
jmp 0x140058fc4
mov ebx, r14d
lea r15d, [rbx + 0x7f]
cmp r15d, 0xfe
jle 0x140059024
xor r14d, r14d
nop word [rax + rax]
mov eax, dword [0x141dc86d8]
and eax, dword [0x141dc86dc]
and eax, 0x4008003
cmp eax, 0x2465f620
je 0x140058fd0
shl edi, 0x17
or r14d, edi
movd xmm0, r14d
cmp dword [rbp], 0x2d
jne 0x140059001
pxor xmm0, xmmword [0x140102780]
xor edx, edx
xor ecx, ecx
movd eax, xmm0
shl rax, 0x20
or rax, rdx
or rax, rcx
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x141dc8540]
or eax, dword [0x141dc8544]
and eax, 0xf03bd467
imul eax, eax, 0x76730fd6
add eax, 0x76ddfdaa
cmp eax, 0xcf2e8513
ja 0x140059062
sub rsp, 0x20
mov edx, 0x18
mov rcx, rsi
call fcn.1400422b0
add rsp, 0x20
xor eax, eax
test al, al
je 0x140059079
sub rsp, 0x20
mov edx, 0x18
mov rcx, rsi
call fcn.1400422b0
add rsp, 0x20
jmp 0x140059047
mov eax, dword [0x141dc8548]
xor eax, dword [0x141dc854c]
and eax, 0xc4872536
xor eax, 0xfd24e9f8
imul rax, rax, 0xa040133
shr rax, 0x39
cmp eax, 0x3f926e1f
je 0x140059079
mov r8, qword [rsi]
test r8, r8
je 0x140059236
mov eax, dword [0x141dc8550]
or eax, dword [0x141dc8554]
add eax, 0x3992d5f9
imul rcx, rax, 0x17ed9f51
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1c
and eax, 2
cmp eax, 0xa5673393
je 0x1400590ad
mov ecx, dword [rsi + 0x308]
mov r9d, 0x9a810fb9
mov eax, dword [0x141dc8558]
xor edx, edx
div dword [0x141dc855c]
imul rax, r9
shr rax, 0x3f
cmp eax, 0x2bff8111
je 0x1400590e8
test ecx, ecx
js 0x140059236
mov eax, dword [str.uD_Yjv]
add eax, dword [0x141dc8564]
imul rax, rax, 0x53e19dd7
shr rax, 0x3c
imul eax, eax, 0xbfae8463
add eax, 0x76b99d75
cmp eax, 0x4e88d7be
jb 0x14005910d
cmp ecx, 0x12
ja 0x1400593e4
mov eax, dword [0x141dc8568]
imul eax, dword [0x141dc856c]
xor eax, 0xe7001df9
add eax, 0x18fe30d2
cmp eax, 0xbd2acda5
ja 0x14005913f
xor eax, eax
test al, al
jne 0x14005915f
test rcx, rcx
je 0x140059295
mov eax, dword [0x141dc8570]
xor edx, edx
div dword [0x141dc8574]
xor eax, 0x538d3cbb
imul eax, eax, 0x17ff9987
and eax, 0x4f624c02
cmp eax, 0xcd0201db
ja 0x14005916c
cmp ecx, 1
jne 0x1400595b5
xor r14d, r14d
xor eax, eax
mov edx, dword [0x141dc8578]
and edx, dword [0x141dc857c]
imul edx, edx, 0xe66ac3c1
and edx, 0xec57c8d3
cmp edx, 0x5d76631
jb 0x14005919f
test cl, 1
je 0x140059298
add r14, r14
lea r14, [r14 + r14*4]
cmp rax, r8
jae 0x140059298
mov edx, 0x9da4dfe7
mov r9d, dword [0x141dc8580]
xor r9d, dword [0x141dc8584]
imul r9, rdx
shr r9, 0x3e
or r9d, 0x9f2707dd
cmp r9d, 0x1122252d
je 0x1400591dd
movzx eax, byte [rsi + rax + 8]
add r14, rax
mov eax, dword [0x141dc8588]
and eax, dword [0x141dc858c]
imul rax, rax, 0x5f696d0f
shr rax, 0x3e
imul eax, eax, 0x403aa65f
xor eax, 0x2ceb4543
cmp eax, 0x9b6c5dbf
ja 0x14005920b
jmp 0x140059298
xor r14d, r14d
mov edi, ebx
add edi, 0x7e
mov eax, dword [0x141dc86a0]
or eax, dword [0x141dc86a4]
or eax, 0x1000000
xor eax, 0x40040c
and eax, 0x2940848c
cmp eax, 0x848f2260
je 0x14005923e
and r14d, 0x7fffff
mov eax, dword [0x141dc86a8]
and eax, dword [0x141dc86ac]
imul rax, rax, 0x2d97e633
shr rax, 0x3a
imul eax, eax, 0xeb69ed22
xor eax, 0x194cb2ab
cmp eax, 0x3254346b
jb 0x140059267
jmp 0x140058fe8
xor r14d, r14d
mov eax, dword [0x141dc8590]
imul eax, dword [0x141dc8594]
imul eax, eax, 0x107dd567
add eax, 0xf8a1664
cmp eax, 0x7b8f012
jb 0x140059298
cmp r8, rcx
jbe 0x1400593d7
mov eax, dword [0x141dc85a0]
imul eax, dword [0x141dc85a4]
xor eax, 0x5d6053e4
imul eax, eax, 0x2ba4b418
add eax, 0x75ce54a8
cmp eax, 0xe039997
jb 0x1400592c0
movzx r9d, byte [rsi + rcx + 8]
mov eax, dword [0x141dc85a8]
xor edx, edx
div dword [0x141dc85ac]
lea rax, [rcx + 1]
mov edx, dword [0x141dc85b0]
xor edx, dword [0x141dc85b4]
add edx, 0xc5d3d118
imul rdx, rdx, 0x17a37ac7
shr rdx, 0x3c
imul r11d, edx, 0x3a5f1e26
cmp r9b, 5
sete dl
cmp rax, r8
sete r10b
cmp r11d, 0xd3b00a8f
ja 0x1400592fc
and r10b, dl
je 0x1400593b0
mov eax, dword [0x141dc85c0]
or eax, dword [0x141dc85c4]
imul eax, eax, 0x41a02ffc
add eax, 0x91550151
cmp eax, 0x7610245
jb 0x14005933c
movzx eax, byte [rsi + 0x30c]
mov edx, dword [0x141dc85c8]
xor edx, dword [0x141dc85cc]
and edx, 0xcf14157c
cmp edx, 0xe1929eea
je 0x140059361
test al, al
jne 0x1400593d4
test rcx, rcx
je 0x1400593d7
mov eax, dword [0x141dc85d0]
and eax, dword [0x141dc85d4]
imul eax, eax, 0xfb2688f6
or eax, 0x1f3320a2
and eax, 0x1fb723ee
cmp eax, 0xd5986f69
ja 0x140059384
test byte [rsi + rcx + 7], 1
jne 0x1400593d4
jmp 0x1400593d7
mov eax, dword [0x141dc85b8]
or eax, dword [0x141dc85bc]
imul eax, eax, 0xba2a41f6
add eax, 0x78d1ce4
cmp eax, 0xc490a1cc
ja 0x1400593b0
cmp r9b, 4
jbe 0x1400593d7
inc r14
cmp r14, 0x1000000
jb 0x14005959c
sub rsp, 0x20
mov edx, 1
mov rcx, rsi
call fcn.140042b10
add rsp, 0x20
lea ecx, [rbx + 1]
mov r9, qword [rsi]
mov eax, dword [str._Hc0k_fc]
or eax, dword [0x141dc85fc]
and eax, 0x48315204
imul eax, eax, 0xabb6888f
cmp eax, 0x36cf239
jb 0x1400593ff
xor eax, eax
test al, al
jne 0x14005941f
test r9, r9
je 0x140059585
mov r8d, dword [rsi + 0x308]
mov eax, 0xd24394dd
mov edx, dword [0x141dc8600]
imul edx, dword [0x141dc8604]
imul rdx, rax
shr rdx, 0x3f
or edx, 0x44b9a0c8
imul rdx, rdx, 0x4bc54ded
shr rdx, 0x3b
cmp edx, 0xe04231b2
ja 0x140059438
mov eax, dword [0x141dc8608]
and eax, dword [0x141dc860c]
imul eax, eax, 0xc3cc5ad2
xor eax, 0x5276b08
or eax, 0x100094c3
cmp eax, 0xefebbe1d
ja 0x140059466
test r8d, r8d
js 0x140059585
mov eax, dword [0x141dc8610]
xor eax, dword [0x141dc8614]
imul rax, rax, 0x1d2c9787
shr rax, 0x3a
or eax, 0x21060e4c
and eax, 0x21060e4d
cmp eax, 0x5edfb3ae
ja 0x140059492
mov r14, 0xffffffffffffffff
cmp r8d, 0x12
ja 0x140059588
mov eax, dword [0x141dc8618]
and eax, dword [0x141dc861c]
add eax, 0x76f9f611
and eax, 0xc144fec7
cmp eax, 0x9816f567
je 0x1400594cb
test r8, r8
je 0x1400596d6
mov eax, dword [0x141dc8620]
and eax, dword [0x141dc8624]
or eax, 0x5f0bc2fa
add eax, 0x3365f1f0
cmp eax, 0x3ba87e5
jb 0x1400594f1
cmp r8d, 1
jne 0x140059842
xor r14d, r14d
xor eax, eax
test r8b, 1
je 0x1400596d9
add r14, r14
lea r14, [r14 + r14*4]
mov edx, dword [0x141dc8630]
or edx, dword [0x141dc8634]
cmp edx, 0x9151bd24
je 0x14005952e
xor edx, edx
test dl, dl
jne 0x140059544
xor edx, edx
test dl, dl
jne 0x14005954a
cmp rax, r9
jae 0x1400596d9
movzx r10d, byte [rsi + rax + 8]
mov eax, dword [0x141dc8638]
xor edx, edx
div dword [0x141dc863c]
imul eax, eax, 0x15d7f670
or eax, 0xd448ca4d
cmp eax, 0x5a6993b6
je 0x14005955d
add r14, r10
jmp 0x1400596d9
xor r14d, r14d
sub ebx, 0xffffff80
mov r15d, ebx
cmp ebx, 0xfe
jg 0x140058fc4
jmp 0x14005959e
mov ecx, ebx
mov ebx, ecx
mov edi, r15d
cmp r14, 0x7fffff
ja 0x140059260
jmp 0x140059239
mov edx, ecx
and edx, 0xfffffffe
xor r14d, r14d
xor eax, eax
jmp 0x1400595d0
add rax, 2
cmp rax, rdx
je 0x14005919f
nop
mov r9d, dword [0x141dc8598]
or r9d, dword [0x141dc859c]
imul r9d, r9d, 0xd6e9889b
or r9d, 0xad5abaf1
add r9d, 0xe5399dd2
cmp r9d, 0xded35fdf
ja 0x1400595d0
add r14, r14
lea r9, [r14 + r14*4]
cmp rax, r8
jae 0x140059693
mov r10d, dword [0x141dc85e0]
and r10d, dword [0x141dc85e4]
imul r10d, r10d, 0xa07a367d
add r10d, 0xae53ac58
or r10d, 0xfbe1c8ca
cmp r10d, 0xbe94b9d1
jb 0x14005960c
movzx r10d, byte [rsi + rax + 8]
mov r11d, dword [0x141dc85e8]
or r11d, dword [0x141dc85ec]
or r11d, 0x5e0408f0
add r11d, 0x727cfd5f
and r11d, 0x7361c809
cmp r11d, 0x7c5b3072
ja 0x14005963e
mov r11d, dword [0x141dc85f0]
imul r11d, dword [0x141dc85f4]
xor r11d, 0x2ce2b410
add r11d, 0xbe213c7
cmp r11d, 0x12432d22
jbe 0x14005966a
add r9, r10
mov r10, rax
or r10, 1
add r9, r9
lea r14, [r9 + r9*4]
cmp r10, r8
jae 0x1400595c1
mov r9d, dword [0x141dc85d8]
and r9d, dword [0x141dc85dc]
imul r9d, r9d, 0xa82fc1b7
cmp r9d, 0xd2954444
je 0x1400596aa
movzx r9d, byte [rsi + r10 + 8]
add r14, r9
jmp 0x1400595c1
xor r14d, r14d
cmp r9, r8
jbe 0x140059588
movzx r10d, byte [rsi + r8 + 8]
mov eax, dword [0x141dc8640]
xor edx, edx
div dword [0x141dc8644]
lea rax, [r8 + 1]
mov edx, dword [0x141dc8648]
and edx, dword [0x141dc864c]
xor edx, 0x808c040e
or edx, 0x4901a9f1
imul r11, rdx, 0x43d5a8d
shr r11, 0x20
sub edx, r11d
shr edx, 1
add edx, r11d
shr edx, 0x1f
cmp edx, 0x2a9a9da7
je 0x1400596fa
cmp r10b, 5
sete dl
mov r11d, dword [0x141dc8650]
sub r11d, dword [0x141dc8654]
imul r15d, r11d, 0x4339f992
or r15d, 0x2c6a7f5b
add r15d, 0xf0c65680
cmp rax, r9
sete r11b
cmp r15d, 0x6c0af4e8
ja 0x140059730
and r11b, dl
je 0x140059811
mov eax, dword [0x141dc8660]
xor edx, edx
div dword [0x141dc8664]
mov eax, 0xafdacd63
mov edx, dword [0x141dc8668]
and edx, dword [0x141dc866c]
imul rdx, rax
shr rdx, 0x3f
imul edx, edx, 0x8bb9ca6b
add edx, 0x388c89d
cmp edx, 0xd2e3c24c
ja 0x140059786
movzx eax, byte [rsi + 0x30c]
mov edx, dword [0x141dc8670]
add edx, dword [0x141dc8674]
xor edx, 0x90f385
and edx, 0x5097fbad
cmp edx, 0xd04be161
je 0x1400597b5
test al, al
jne 0x14005983a
test r8, r8
je 0x140059588
mov eax, dword [0x141dc8678]
and eax, dword [0x141dc867c]
add eax, 0xb12c0c3c
xor eax, 0x4a360759
add eax, 0x5772d54a
cmp eax, 0x5bc7d35b
ja 0x1400597e2
test byte [rsi + r8 + 7], 1
jne 0x14005983a
jmp 0x140059588
mov eax, dword [0x141dc8658]
imul eax, dword [0x141dc865c]
imul eax, eax, 0x139996d0
add eax, 0x33f2ad3e
cmp eax, 0x4d0faf38
jb 0x140059811
cmp r10b, 4
jbe 0x140059588
inc r14
jmp 0x140059588
mov edx, r8d
and edx, 0xfffffffe
mov eax, dword [0x141dc8628]
imul eax, dword [0x141dc862c]
imul r10, rax, 0x1e907795
shr r10, 0x20
sub eax, r10d
shr eax, 1
add eax, r10d
shr eax, 0x1e
or eax, 0xe7037080
imul eax, eax, 0x52589f61
cmp eax, 0xc66be34f
je 0x140059848
xor r14d, r14d
xor eax, eax
jmp 0x140059891
add rax, 2
cmp rax, rdx
je 0x14005951d
add r14, r14
lea r10, [r14 + r14*4]
cmp rax, r9
jae 0x140059909
mov r11d, dword [0x141dc8690]
and r11d, dword [0x141dc8694]
add r11d, 0x772eccdf
and r11d, 0xd8db1960
add r11d, 0x718ba36b
cmp r11d, 0xc99d1e30
ja 0x14005989d
movzx r11d, byte [rsi + rax + 8]
add r10, r11
mov r11d, dword [0x141dc8698]
imul r11d, dword [0x141dc869c]
imul r11d, r11d, 0x3332e0a0
imul r14, r11, 0xf2b78af
shr r14, 0x20
sub r11d, r14d
shr r11d, 1
add r11d, r14d
shr r11d, 0x1f
cmp r11d, 0x2eb947c4
je 0x1400598d2
mov r11, rax
or r11, 1
add r10, r10
lea r14, [r10 + r10*4]
cmp r11, r9
jae 0x140059884
mov r10d, dword [0x141dc8680]
and r10d, dword [0x141dc8684]
and r10d, 0x4cc6d751
imul r10d, r10d, 0x93e679e8
cmp r10d, 0x3809e383
je 0x140059920
movzx r10d, byte [rsi + r11 + 8]
mov r11d, dword [0x141dc8688]
imul r11d, dword [0x141dc868c]
add r11d, 0xa86419a8
xor r11d, 0x81130500
and r11d, 0xc97b5fc7
cmp r11d, 0xcfd422bb
ja 0x14005994b
add r14, r10
jmp 0x140059884