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

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 r12, rdx
mov rsi, rcx
mov eax, dword [0x141dc5aa0]
or eax, dword [0x141dc5aa4]
and eax, 0x7982ba2
xor eax, 0xedab1fea
mov ecx, 0xbb350301
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x7f35cc83
je 0x140059864
mov eax, dword [0x141dc5aa8]
imul eax, dword [0x141dc5aac]
imul eax, eax, 0xf8c4ee10
mov ecx, 0x843ec4b7
imul rcx, rax
shr rcx, 0x3f
or ecx, 0xf0588e6e
mov eax, 0x310
call fcn.1400ed360
sub rsp, rax
mov rdi, rsp
mov eax, 0x20
call fcn.1400ed360
sub rsp, rax
mov rbx, rsp
cmp ecx, 0x8044c395
jae 0x140059880
mov eax, 0x310
call fcn.1400ed360
sub rsp, rax
mov eax, 0x20
call fcn.1400ed360
sub rsp, rax
jmp 0x140059816
mov eax, dword [0x141dc5ab0]
xor edx, edx
div dword [0x141dc5ab4]
add eax, 0xc4fa2a9f
xor eax, 0x9280080e
or eax, 0x2d7ef631
cmp eax, 0x8782b5a5
ja 0x140059880
nop word cs:[rax + rax]
mov eax, dword [0x141dc5ab8]
add eax, dword [0x141dc5abc]
imul eax, eax, 0x63ee7ed6
add eax, 0x1e5156b0
or eax, 0x3216b104
cmp eax, 0xe4329446
ja 0x1400598b0
test r8, r8
je 0x140059a23
xor eax, eax
nop
test al, al
jne 0x1400598e0
movzx r15d, byte [r12]
mov eax, dword [0x141dc5ac0]
xor edx, edx
div dword [0x141dc5ac4]
mov eax, 0xb191d02b
nop dword [rax]
mov ecx, dword [0x141dc5ac8]
add ecx, dword [0x141dc5acc]
xor ecx, 0x738f0744
imul ecx, ecx, 0xd4a032e
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x9cf08c26
ja 0x140059900
cmp r15d, 0x2d
je 0x140059934
cmp r15d, 0x2b
jne 0x140059965
dec r8
inc r12
mov eax, 0x8cfb3e29
nop
mov ecx, dword [0x141dc5ad0]
xor ecx, dword [0x141dc5ad4]
imul rcx, rax
shr rcx, 0x3a
cmp ecx, 0xb3883a28
je 0x140059940
test r8, r8
je 0x140059b2d
sub rsp, 0x20
mov rcx, rbx
mov rdx, r12
mov qword [rbp - 8], r8
call fcn.1400434d0
add rsp, 0x20
movzx r14d, byte [rbx + 0x11]
cmp r14b, 2
jne 0x140059a2d
mov eax, 0xb4c42fcf
mov ecx, dword [0x141dc5af0]
or ecx, dword [0x141dc5af4]
imul rcx, rax
shr rcx, 0x3f
or ecx, 0xfa579b9c
imul rcx, rcx, 0x5b4c2f9f
shr rcx, 0x3e
cmp ecx, 0x877732ca
je 0x140059990
mov rax, qword [rbp - 8]
cmp rax, 3
je 0x140059b55
cmp rax, 8
jne 0x140059bd0
nop word cs:[rax + rax]
mov eax, dword [0x141dc5af8]
and eax, dword [0x141dc5afc]
or eax, 0xffce2f1f
xor eax, 0xe4718444
cmp eax, 0xca46e9c8
ja 0x1400599e0
movabs rax, 0xdfdfdfdfdfdfdfdf
and rax, qword [r12]
movabs rcx, 0x5954494e49464e49
cmp rax, rcx
je 0x140059c29
jmp 0x140059bd0
mov word [rsi], 1
jmp 0x14005a081
mov dword [rbp + 4], r15d
mov r13, qword [rbx]
mov rbx, qword [rbx + 8]
lea rax, [r13 + 0x16]
cmp rax, 0x3b
ja 0x140059cd8
test r14b, r14b
jne 0x140059cd8
movabs rcx, 0x1fffffffffffff
lea rax, [rcx + 2]
cmp rbx, rax
jae 0x140059cd8
nop word cs:[rax + rax]
mov eax, dword [0x141dc5b10]
xor eax, dword [0x141dc5b14]
imul eax, eax, 0xa946eac1
add eax, 0x7902fe4a
cmp eax, 0x4f0e6790
jb 0x140059a70
xor eax, eax
test al, al
jne 0x140059a90
cmp r13, 0x16
jg 0x140059c4d
movq xmm1, rbx
punpckldq xmm1, xmmword [0x1400ff7b0]
subpd xmm1, xmmword [0x1400ff7c0]
movapd xmm0, xmm1
unpckhpd xmm0, xmm1
nop dword [rax + rax]
mov eax, dword [0x141dc5b18]
sub eax, dword [0x141dc5b1c]
imul eax, eax, 0x8e6977dd
add eax, 0xedcb20c2
and eax, 0x5c81bbe1
cmp eax, 0x1db61b09
je 0x140059ac0
addsd xmm0, xmm1
test r13, r13
js 0x140059d52
mov ecx, 0x9f6a3571
lea rax, [0x141db27c0]
nop dword [rax]
mov edx, dword [0x141dc5b48]
xor edx, dword [0x141dc5b4c]
add edx, 0x4ebf4f55
imul rdx, rcx
shr rdx, 0x3f
cmp edx, 0x3654e84f
ja 0x140059b00
mulsd xmm0, qword [rax + r13*8]
jmp 0x140059d95
xor eax, eax
nop
test al, al
jne 0x140059b30
mov eax, dword [str.Zxd_a]
or eax, dword [0x141dc5adc]
and eax, 0x44c260
cmp eax, 0x2a460c62
je 0x140059e8c
jmp 0x140059e64
movzx eax, byte [r12]
movzx ecx, word [r12 + 1]
shl ecx, 8
or eax, ecx
and eax, 0xdfdfdf
nop word [rax + rax]
mov ecx, dword [0x141dc5b00]
and ecx, dword [0x141dc5b04]
imul ecx, ecx, 0x7894c50d
add ecx, 0xc09aeffa
or ecx, 0x6d85e0bc
cmp ecx, 0xf65745b3
ja 0x140059b70
cmp eax, 0x464e49
je 0x140059c29
cmp eax, 0x4e414e
jne 0x140059bd0
movsd xmm0, qword [0x1400ff7f8]
mov eax, dword [0x141dc5b08]
xor eax, dword [0x141dc5b0c]
or eax, 0xb84d338d
cmp eax, 0x7ea1ccc8
je 0x140059bb0
jmp 0x140059c31
mov eax, dword [str._8_E]
xor edx, edx
div dword [0x141dc5b5c]
xor eax, 0xccee84c9
imul eax, eax, 0x6e5b5be5
add eax, 0xf78f254c
cmp eax, 0x1470b519
jb 0x140059bd0
mov eax, dword [0x141dc5b60]
sub eax, dword [0x141dc5b64]
mov ecx, 0xf1c7dad7
imul rcx, rax
shr rcx, 0x3e
imul eax, ecx, 0xd190d5dd
and eax, 0x5538f6af
cmp eax, 0xd0d62f10
ja 0x140059e55
jmp 0x140059e34
movsd xmm0, qword [0x1400ff7f0]
cmp r15d, 0x2d
jne 0x140059c3f
xorpd xmm0, xmmword [0x1400ff7e0]
movsd qword [rsi + 8], xmm0
xor eax, eax
mov byte [rsi], al
jmp 0x14005a081
mov r8d, 0xe6b55d35
lea r9, [0x141db28c0]
nop word [rax + rax]
mov eax, dword [0x141dc5b20]
and eax, dword [0x141dc5b24]
imul r10d, eax, 0xb53907ad
imul r10, r8
shr r10, 0x3f
mov rax, rbx
mul qword [r9 + r13*8 - 0xb0]
seto dl
cmp r10d, 0xeb22b5d
ja 0x140059c60
inc rcx
nop word cs:[rax + rax]
mov r9d, dword [0x141dc5b28]
sub r9d, dword [0x141dc5b2c]
xor r9d, 0x20430020
or r9d, 0x6909b57
and r9d, 0x27d79b7f
cmp rax, rcx
seta r8b
cmp r9d, 0xaac99515
ja 0x140059ca0
or dl, r8b
je 0x140059cff
mov qword [rbp - 0x10], r12
mov eax, dword [0x141dc5b70]
xor edx, edx
div dword [0x141dc5b74]
or eax, 0xffbdfb7f
cmp eax, 0xcc8b445e
jb 0x140059f11
jmp 0x140059ed2
movq xmm1, rax
punpckldq xmm1, xmmword [0x1400ff7b0]
subpd xmm1, xmmword [0x1400ff7c0]
movapd xmm0, xmm1
unpckhpd xmm0, xmm1
addsd xmm0, xmm1
mulsd xmm0, qword [0x1400ff7d0]
mov r8d, dword [rbp + 4]
nop dword [rax]
mov eax, dword [0x141dc5b30]
xor edx, edx
div dword [0x141dc5b34]
imul eax, eax, 0x533e573c
and eax, 0xa8845e40
cmp eax, 0xb795190c
ja 0x140059d30
jmp 0x140059d99
neg r13
nop word cs:[rax + rax]
mov eax, dword [0x141dc5b50]
or eax, dword [0x141dc5b54]
or eax, 0x99d7bbdc
add eax, 0x4775989a
imul rax, rax, 0x37e5e1ab
shr rax, 0x3d
cmp eax, 0xf2815baa
ja 0x140059d60
lea rax, [0x141db27c0]
divsd xmm0, qword [rax + r13*8]
mov r8d, dword [rbp + 4]
mov eax, dword [0x141dc5b38]
xor edx, edx
div dword [0x141dc5b3c]
and eax, 0xe308616a
mov ecx, 0xbb6b7215
imul rcx, rax
shr rcx, 0x3d
xor ecx, 0xe75b3c94
cmp ecx, 0xc927dec6
jae 0x140059de7
cmp r8d, 0x2d
je 0x140059dd3
movapd xmm1, xmm0
jmp 0x140059ddf
movapd xmm1, xmmword [0x1400ff7e0]
xorpd xmm1, xmm0
movsd qword [rsi + 8], xmm1
mov byte [rsi], 0
movapd xmm1, xmmword [0x1400ff7e0]
jmp 0x140059e24
mov eax, dword [0x141dc5b40]
or eax, dword [0x141dc5b44]
and eax, 0x5100010a
movsd qword [rsi + 8], xmm2
mov byte [rsi], 0
cmp eax, 0x1ffdf272
jne 0x14005a081
movapd xmm2, xmm0
cmp r8d, 0x2d
jne 0x140059e00
xorpd xmm2, xmm1
jmp 0x140059e00
mov eax, dword [0x141dc5b68]
and eax, dword [0x141dc5b6c]
xor eax, 0x4d9966f0
add eax, 0x97c606ed
mov byte [rsi + 1], 1
cmp eax, 0xdd3d6e7a
jbe 0x140059e5b
mov byte [rsi + 1], 1
jmp 0x140059e34
mov al, 1
mov byte [rsi], al
jmp 0x14005a081
mov eax, dword [0x141dc5ae0]
xor eax, dword [0x141dc5ae4]
imul eax, eax, 0x3f99472
and eax, 0x667c4d96
xor eax, 0xebc823b3
mov word [rsi], 0x101
cmp eax, 0xc5ef919a
jbe 0x140059ea0
mov word [rsi], 0x101
jmp 0x140059e64
mov eax, dword [0x141dc5ae8]
and eax, dword [0x141dc5aec]
imul eax, eax, 0x82f561c9
imul rcx, rax, 0x7b5e3d85
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1d
cmp eax, 0xb03e7fb5
je 0x140059ea0
jmp 0x14005a081
mov r12d, dword [0x141dc5b78]
sub r12d, dword [0x141dc5b7c]
or r12d, 0x39fa364d
xor r12d, 0x74544180
add r12d, 0x5d10818
sub rsp, 0x20
mov rcx, r13
mov rdx, rbx
call fcn.14005afa0
add rsp, 0x20
cmp r12d, 0xb527434a
jae 0x140059f26
sub rsp, 0x20
mov rcx, r13
mov rdx, rbx
call fcn.14005afa0
add rsp, 0x20
jmp 0x140059ed2
mov r15, rax
mov r8d, edx
nop dword [rax]
mov edx, dword [0x141dc5b80]
sub edx, dword [0x141dc5b84]
or edx, 0x8cff7d4d
and edx, 0x8cff7f5d
test r14b, r14b
setne al
test r8d, r8d
setns cl
cmp edx, 0x8a8cfd87
je 0x140059f30
and al, cl
nop
mov ecx, dword [0x141dc5b88]
or ecx, dword [0x141dc5b8c]
imul ecx, ecx, 0xbb36f995
or ecx, 0xb8dbf5f5
cmp ecx, 0x7584ceeb
jb 0x140059f60
test al, al
je 0x140059fff
mov r12, r8
inc rbx
mov eax, dword [0x141dc5ba0]
imul eax, dword [0x141dc5ba4]
xor eax, 0x40c0104
and eax, 0x251c05ac
add eax, 0xd36df6ef
cmp eax, 0xd2f6819f
jae 0x140059fc0
sub rsp, 0x20
mov rcx, r13
mov rdx, rbx
call fcn.14005afa0
add rsp, 0x20
xor r14d, r14d
nop word cs:[rax + rax]
sub rsp, 0x20
mov rcx, r13
mov rdx, rbx
call fcn.14005afa0
add rsp, 0x20
test r14b, r14b
jne 0x140059fd0
cmp r15, rax
mov r13d, dword [rbp + 4]
jne 0x14005a058
mov r8, r12
cmp r8d, edx
je 0x14005a092
jmp 0x14005a058
mov r13d, dword [rbp + 4]
nop word cs:[rax + rax]
mov eax, dword [0x141dc5b90]
imul eax, dword [0x141dc5b94]
imul eax, eax, 0x1c49b834
xor eax, 0x27dd3cf7
cmp eax, 0xfb33bc3b
ja 0x14005a010
nop
mov eax, dword [0x141dc5b98]
and eax, dword [0x141dc5b9c]
and eax, 0x8cdbc5d5
imul eax, eax, 0x87e9789f
xor eax, 0x6b6761a4
cmp eax, 0x2dead9f9
jb 0x14005a030
test r8d, r8d
jns 0x14005a092
mov eax, dword [0x141dc5ba8]
or eax, dword [0x141dc5bac]
add eax, 0xd5e8b3d1
cmp eax, 0x8519c876
mov r14, qword [rbp - 0x10]
mov r15, qword [rbp - 8]
ja 0x14005a171
jmp 0x14005a13b
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x141dc5de0]
sub eax, dword [0x141dc5de4]
imul eax, eax, 0x2667d3d
add eax, 0x2ad55c62
and eax, 0xfedac470
cmp eax, 0x94670cbf
jb 0x14005a109
mov eax, dword [0x141dc5de8]
and eax, dword [0x141dc5dec]
imul eax, eax, 0xae069bde
add eax, 0x8f92f603
or eax, 0xda33b416
mov rcx, r8
shl rcx, 0x34
or rcx, r15
movq xmm1, rcx
movdqa xmm0, xmmword [0x1400ff7e0]
pxor xmm0, xmm1
cmp r13d, 0x2d
je 0x14005a0f6
movdqa xmm0, xmm1
movq qword [rsi + 8], xmm0
mov byte [rsi], 0
cmp eax, 0xec953836
jbe 0x14005a081
mov rax, r8
shl rax, 0x34
or rax, r15
movq xmm1, rax
movdqa xmm0, xmmword [0x1400ff7e0]
pxor xmm0, xmm1
cmp r13d, 0x2d
je 0x14005a12e
movdqa xmm0, xmm1
movq qword [rsi + 8], xmm0
mov byte [rsi], 0
jmp 0x14005a0b5
mov ebx, dword [0x141dc5bb0]
and ebx, dword [0x141dc5bb4]
xor ebx, 0x20001
and ebx, 0x5a0001
sub rsp, 0x20
mov rcx, rdi
mov rdx, r14
mov r8, r15
call fcn.140042770
add rsp, 0x20
cmp ebx, 0xc834e4e1
jne 0x14005a189
sub rsp, 0x20
mov rcx, rdi
mov rdx, r14
mov r8, r15
call fcn.140042770
add rsp, 0x20
jmp 0x14005a13b
xor r8d, r8d
cmp qword [rdi], 0
je 0x14005a5b3
mov ecx, dword [rdi + 0x308]
cmp ecx, 0xfffffebc
jl 0x14005a5b3
mov r8d, 0x7ff
cmp ecx, 0x135
jg 0x14005a5b3
nop word [rax + rax]
mov eax, dword [0x141dc5bb8]
sub eax, dword [0x141dc5bbc]
imul rax, rax, 0x7b4b5e71
shr rax, 0x3e
imul eax, eax, 0x1aa8717
cmp eax, 0x8b877c2
je 0x14005a1c0
lea r12, [0x141db2766]
test ecx, ecx
jle 0x14005a2ef
xor r14d, r14d
xor r15d, r15d
nop dword [rax]
mov ebx, 0x3c
cmp ecx, 0x13
jae 0x14005a22e
mov eax, dword [0x141dc5dd0]
sub eax, dword [0x141dc5dd4]
add eax, 0x7f001da4
or eax, 0x583dd45c
cmp eax, 0x914ae01b
je 0x14005a20a
mov eax, ecx
movzx ebx, byte [rax + r12]
mov eax, dword [0x141dc5dd8]
xor edx, edx
div dword [0x141dc5ddc]
xor eax, 0x1e02447d
imul rax, rax, 0x8bc1ecf
shr rax, 0x3a
add eax, 0x5cd01179
cmp eax, 0x913b50c6
ja 0x14005a278
nop dword [rax + rax]
sub rsp, 0x20
mov rcx, rdi
mov rdx, rbx
call fcn.140041fe0
add rsp, 0x20
test r14b, r14b
je 0x14005a290
sub rsp, 0x20
mov rcx, rdi
mov rdx, rbx
call fcn.140041fe0
add rsp, 0x20
jmp 0x14005a260
mov ecx, dword [rdi + 0x308]
cmp ecx, 0xfffff800
jle 0x14005a5b0
add r15d, ebx
mov eax, dword [str._xy]
xor edx, edx
div dword [0x141dc5bc4]
nop word cs:[rax + rax]
mov eax, dword [0x141dc5bc8]
mov edx, dword [0x141dc5bcc]
add eax, edx
add eax, 0x40beae05
or eax, 0x73adcc37
imul eax, eax, 0x956a775f
cmp eax, 0xd6e60404
jb 0x14005a2c0
test ecx, ecx
jg 0x14005a200
jmp 0x14005a2f2
xor r15d, r15d
xor r12d, r12d
mov r13d, 0x846310bf
mov r14d, 0x88b2883b
nop word cs:[rax + rax]
mov eax, dword [0x141dc5bd0]
sub eax, dword [str.Nt_]
imul rdx, rax, 0x12e24c71
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1d
cmp eax, 0xfe87c41d
je 0x14005a310
test ecx, ecx
je 0x14005a428
nop
mov eax, dword [0x141dc5be8]
or eax, dword [0x141dc5bec]
or eax, 0x50018026
mov rdx, rax
imul rdx, r14
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1e
or eax, 0xab184fa0
cmp eax, 0xe2b181eb
ja 0x14005a340
neg ecx
nop word cs:[rax + rax]
mov eax, dword [0x141dc5bf0]
xor edx, edx
div dword [0x141dc5bf4]
imul eax, eax, 0x125b7fea
imul rax, rax, 0x6ad4ec6d
shr rax, 0x3e
cmp eax, 0x5c6f0259
je 0x14005a380
nop word cs:[rax + rax]
mov eax, dword [0x141dc5bf8]
xor eax, dword [0x141dc5bfc]
and eax, 0x4598a25f
imul eax, eax, 0x9c77a99c
add eax, 0x3ff94db2
cmp eax, 0x3fd06177
jb 0x14005a3b0
mov ebx, 0x3c
cmp ecx, 0x13
jae 0x14005a4a1
mov eax, ecx
nop word cs:[rax + rax]
mov ecx, dword [0x141dc5dc0]
xor ecx, dword [0x141dc5dc4]
or ecx, 0xbc6ee98b
add ecx, 0xb68978
imul rcx, rcx, 0x3ae85fa9
shr rcx, 0x38
cmp ecx, 0x798bb6b3
je 0x14005a3f0
lea rcx, [0x141db2766]
movzx ebx, byte [rax + rcx]
jmp 0x14005a4a1
movzx eax, byte [rdi + 8]
nop dword [rax]
mov ecx, dword [0x141dc5be0]
or ecx, dword [0x141dc5be4]
add ecx, 0x293148a1
xor ecx, 0xffb5c01d
add ecx, 0x5135447b
cmp ecx, 0x6f9d52f
jb 0x14005a430
cmp al, 4
ja 0x14005a540
nop
test r12b, r12b
jne 0x14005a460
cmp al, 2
mov ebx, 0
adc rbx, 1
mov eax, dword [0x141dc5c00]
or eax, dword [0x141dc5c04]
and eax, 0x54a3ee10
add eax, 0x6a02eb3d
mov rcx, rax
imul rcx, r13
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1e
cmp eax, 0xa774123d
je 0x14005a470
mov eax, dword [0x141dc5c08]
imul eax, dword [0x141dc5c0c]
add eax, 0x5b0971b6
xor eax, 0x165db144
mov ecx, 0xbbc04867
imul rax, rcx
shr rax, 0x3f
cmp eax, 0x656604e7
jbe 0x14005a4e0
sub rsp, 0x20
mov rcx, rdi
mov rdx, rbx
call fcn.1400416f0
add rsp, 0x20
nop
sub rsp, 0x20
mov rcx, rdi
mov rdx, rbx
call fcn.1400416f0
add rsp, 0x20
test r12b, r12b
jne 0x14005a4e0
mov ecx, dword [rdi + 0x308]
cmp ecx, 0x7ff
jg 0x14005a5bb
nop word [rax + rax]
mov eax, dword [0x141dc5dc8]
and eax, dword [0x141dc5dcc]
shr eax, 1
imul rax, rax, 0x6ee78069
shr rax, 0x3a
add eax, 0xac2d58e3
cmp eax, 0x75d3e515
jb 0x14005a510
sub r15d, ebx
test ecx, ecx
jle 0x14005a310
dec r15d
mov r13d, dword [rbp + 4]
nop word [rax + rax]
mov eax, dword [0x141dc5bd8]
and eax, dword [0x141dc5bdc]
add eax, 0x45aaebf
and eax, 0x554225e4
cmp eax, 0xb06fdea2
ja 0x14005a550
cmp r15d, 0xfffffc01
jg 0x14005a5cd
mov ebx, 0x3c
mov r14d, 0xfffffc02
sub r14d, r15d
cmp r14d, 0x3c
cmovae r14d, ebx
sub rsp, 0x20
mov rcx, rdi
mov rdx, r14
call fcn.140041fe0
add rsp, 0x20
add r14d, r15d
mov r15d, r14d
cmp r14d, 0xfffffc02
jb 0x14005a57b
jmp 0x14005a5d0
xor r8d, r8d
xor r15d, r15d
jmp 0x14005a092
mov r13d, dword [rbp + 4]
mov r8d, 0x7ff
xor r15d, r15d
jmp 0x14005a092
mov r14d, r15d
mov eax, dword [0x141dc5c10]
xor edx, edx
div dword [0x141dc5c14]
mov ecx, 0x8b71cdf5
lea r12d, [r14 + 0x3ff]
nop word [rax + rax]
mov eax, dword [0x141dc5c18]
xor edx, edx
div dword [0x141dc5c1c]
or eax, 0x4ee913ae
add eax, 0xdccd978e
shr eax, 1
imul rax, rcx
shr rax, 0x3d
cmp eax, 0x92dcc087
je 0x14005a5f0
cmp r12d, 0x7fe
jle 0x14005a630
mov r8d, 0x7ff
xor r15d, r15d
jmp 0x14005a092
sub rsp, 0x20
mov edx, 0x35
mov rcx, rdi
call fcn.1400416f0
add rsp, 0x20
mov r8, qword [rdi]
movabs rbx, 0xfffffffffffff
test r8, r8
je 0x14005a737
mov ecx, dword [rdi + 0x308]
test ecx, ecx
js 0x14005a737
mov eax, dword [0x141dc5c20]
add eax, dword [0x141dc5c24]
imul eax, eax, 0xeffd9c7d
add eax, 0x70945b3f
xor eax, 0xa7397f98
cmp eax, 0x3ecdadb6
jb 0x14005a669
cmp ecx, 0x12
ja 0x14005aa3c
mov eax, dword [0x141dc5c28]
imul eax, dword [0x141dc5c2c]
add eax, 0x3210df10
imul rdx, rax, 0x437b3965
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1c
imul eax, eax, 0xe6aa6076
cmp eax, 0xe19532ba
ja 0x14005a695
mov eax, dword [0x141dc5c30]
add eax, dword [0x141dc5c34]
or eax, 0x93894f33
and eax, 0xd3ad5f77
cmp eax, 0xb4a4d79e
je 0x14005a6c8
mov eax, dword [0x141dc5c38]
and eax, dword [0x141dc5c3c]
add eax, 0x24e1f3e7
cmp eax, 0xb3a8a7db
jb 0x14005a6e5
test rcx, rcx
je 0x14005a74f
mov eax, dword [0x141dc5c40]
xor edx, edx
div dword [0x141dc5c44]
xor eax, 0x28406469
or eax, 0xc4be8b12
imul eax, eax, 0xb3c964f7
cmp eax, 0x3134fb2e
jb 0x14005a702
cmp ecx, 1
jne 0x14005a757
xor r15d, r15d
xor r9d, r9d
jmp 0x14005a7fc
xor r15d, r15d
add r14d, 0x3fe
mov r12d, r14d
and r15, rbx
mov r8d, r12d
jmp 0x14005a092
xor r15d, r15d
jmp 0x14005a8a3
xor eax, eax
test al, al
jne 0x14005a759
mov eax, ecx
and eax, 0xfffffffe
mov edx, dword [0x141dc5c48]
sub edx, dword [0x141dc5c4c]
imul edx, edx, 0x76ede04c
add edx, 0xfe65b0fc
cmp edx, 0xeb30193
jb 0x14005a762
xor r15d, r15d
xor edx, edx
add r15, r15
lea r9, [r15 + r15*4]
cmp rdx, r8
jae 0x14005a7ba
mov r10d, dword [0x141dc5cc0]
sub r10d, dword [0x141dc5cc4]
or r10d, 0xfaffef7f
cmp r10d, 0x1ed5932a
jb 0x14005a793
movzx r10d, byte [rdi + rdx + 8]
add r9, r10
add r9, r9
lea r15, [r9 + r9*4]
lea r10, [rdx + 1]
cmp r10, r8
jae 0x14005a7d3
movzx r9d, byte [rdi + rdx + 9]
add r15, r9
add rdx, 2
mov r9d, dword [0x141dc5cb8]
xor r9d, dword [0x141dc5cbc]
cmp r9d, 0x6ce05f88
je 0x14005a7d7
inc r10
mov r9, rdx
mov rdx, r10
cmp r10, rax
jne 0x14005a787
xor eax, eax
test al, al
jne 0x14005a7fe
test cl, 1
je 0x14005a8a3
add r15, r15
lea r15, [r15 + r15*4]
mov eax, dword [0x141dc5c50]
or eax, dword [0x141dc5c54]
add eax, 0xd6d73f2f
xor eax, 0x1088320d
and eax, 0x129c720d
cmp eax, 0x242b6700
ja 0x14005a812
mov eax, dword [0x141dc5c58]
sub eax, dword [0x141dc5c5c]
xor eax, 0x200800
or eax, 0x1fcc9719
and eax, 0xffecdf5f
cmp eax, 0xffacdb71
je 0x14005a834
cmp r9, r8
jae 0x14005a8a3
mov eax, dword [0x141dc5c60]
xor edx, edx
div dword [0x141dc5c64]
mov eax, dword [0x141dc5c68]
xor eax, dword [0x141dc5c6c]
imul eax, eax, 0x3b7cf49e
xor eax, 0xd530b5ea
cmp eax, 0x9b9f4b30
ja 0x14005a869
movzx eax, byte [rdi + r9 + 8]
add r15, rax
mov eax, dword [0x141dc5c70]
add eax, dword [0x141dc5c74]
cmp eax, 0xc101f607
je 0x14005a890
mov eax, dword [0x141dc5c78]
xor eax, dword [0x141dc5c7c]
or eax, 0x402140
xor eax, 0x40000
and eax, 0x662154
cmp eax, 0xdbe9b396
ja 0x14005a8a3
cmp r8, rcx
jbe 0x14005aa06
movzx eax, byte [rdi + rcx + 8]
lea rdx, [rcx + 1]
cmp rdx, r8
jne 0x14005a99d
cmp al, 5
jne 0x14005a99d
movzx eax, byte [rdi + 0x30c]
xor edx, edx
test dl, dl
jne 0x14005a8f1
test al, al
jne 0x14005a9e1
mov eax, dword [0x141dc5c90]
sub eax, dword [str..b0n]
and eax, 0xa1483000
or eax, 0x1235c5c9
xor eax, 0x954eddd2
cmp eax, 0xa4551c5
jb 0x14005a8fd
test rcx, rcx
je 0x14005aa4c
mov eax, dword [0x141dc5c98]
sub eax, dword [0x141dc5c9c]
xor eax, 0x9b810537
imul eax, eax, 0xf0324e88
cmp eax, 0xf43b810f
ja 0x14005a928
movzx eax, byte [rdi + rcx + 7]
mov ecx, dword [0x141dc5ca0]
imul ecx, dword [0x141dc5ca4]
or ecx, 0xa0f4040
xor ecx, 0xc210e000
or ecx, 0x25e00ba6
cmp ecx, 0x1a2cf824
je 0x14005a94b
mov ecx, dword [0x141dc5ca8]
imul ecx, dword [0x141dc5cac]
xor ecx, 0xe0771c94
add ecx, 0x2b632e56
cmp ecx, 0xc8eb213e
jb 0x14005a972
test al, 1
mov r13d, dword [rbp + 4]
jne 0x14005a9e1
jmp 0x14005aa06
mov ecx, dword [0x141dc5c80]
and ecx, dword [0x141dc5c84]
xor ecx, 0x35f526f1
add ecx, 0x88a1e2c6
cmp ecx, 0x52dbee47
ja 0x14005a99d
mov ecx, dword [0x141dc5c88]
or ecx, dword [0x141dc5c8c]
or ecx, 0xbfb5fb73
imul ecx, ecx, 0x14645859
cmp ecx, 0xef990252
ja 0x14005a9bd
cmp al, 4
jbe 0x14005aa06
inc r15
mov eax, dword [0x141dc5cb0]
and eax, dword [0x141dc5cb4]
xor eax, 0x36141c01
and eax, 0x3e5c1c55
add eax, 0x7dec852
cmp eax, 0x8356fdb8
ja 0x14005a9e4
movabs rax, 0x1fffffffffffff
mov ecx, dword [0x141dc5cc8]
imul ecx, dword [0x141dc5ccc]
add ecx, 0xb16ceb77
xor ecx, 0xc0058807
or ecx, 0x16aa41d0
cmp ecx, 0xbac42556
jb 0x14005aa10
cmp r15, rax
jbe 0x14005aa44
xor eax, eax
test al, al
jne 0x14005aa94
jmp 0x14005aa52
mov ecx, r14d
jmp 0x14005ac3a
mov r13d, dword [rbp + 4]
jmp 0x14005aa06
mov r15d, dword [0x141dc5cd0]
imul r15d, dword [0x141dc5cd4]
xor r15d, 0xc00440
or r15d, 0x9838ea3a
and r15d, 0x9cf9ef7a
sub rsp, 0x20
mov edx, 1
mov rcx, rdi
call fcn.140041fe0
add rsp, 0x20
cmp r15d, 0xc40990c4
jbe 0x14005aaab
sub rsp, 0x20
mov edx, 1
mov rcx, rdi
call fcn.140041fe0
add rsp, 0x20
jmp 0x14005aa52
lea ecx, [r14 + 1]
mov eax, dword [0x141dc5cd8]
imul eax, dword [0x141dc5cdc]
xor eax, 0xcfb4f11
imul eax, eax, 0x6ed4ebff
or eax, 0xf7cebda4
cmp eax, 0xfee9a54e
ja 0x14005aaaf
mov r9, qword [rdi]
mov eax, dword [0x141dc5ce0]
xor eax, dword [0x141dc5ce4]
imul eax, eax, 0x50395fd
or eax, 0x9eb89fbb
xor eax, 0xa23152ba
cmp eax, 0xe6ed6304
ja 0x14005aad6
test r9, r9
je 0x14005abfd
mov r8d, dword [rdi + 0x308]
mov eax, dword [0x141dc5ce8]
xor edx, edx
div dword [0x141dc5cec]
cmp eax, 0xda64b1f4
je 0x14005ab09
test r8d, r8d
js 0x14005abfd
mov eax, dword [0x141dc5cf0]
xor eax, dword [0x141dc5cf4]
imul eax, eax, 0xd19bc8d2
or eax, 0xa4402413
and eax, 0xbc48261b
cmp eax, 0xed2ca877
je 0x14005ab27
mov eax, dword [0x141dc5cf8]
sub eax, dword [0x141dc5cfc]
or eax, 0x88002000
and eax, 0xc8c76110
add eax, 0x7bec047
cmp eax, 0xa32fe648
ja 0x14005ab4a
mov r15, 0xffffffffffffffff
cmp r8d, 0x12
ja 0x14005ac00
mov eax, 0x99a15cc7
mov edx, dword [0x141dc5d00]
and edx, dword [0x141dc5d04]
add edx, 0x1ca90ac0
shr edx, 1
imul rdx, rax
shr rdx, 0x3e
cmp edx, 0x5e23f128
ja 0x14005ab82
test r8, r8
je 0x14005ac4f
xor eax, eax
test al, al
jne 0x14005abb1
mov eax, dword [0x141dc5d08]
xor edx, edx
div dword [0x141dc5d0c]
mov eax, dword [0x141dc5d10]
or eax, dword [0x141dc5d14]
imul eax, eax, 0x5358d795
add eax, 0x8aa6967b
and eax, 0x300c528c
cmp eax, 0x9fc9e720
ja 0x14005abc3
xor eax, eax
test al, al
jne 0x14005abe8
cmp r8d, 1
jne 0x14005ac57
xor r15d, r15d
xor r10d, r10d
jmp 0x14005ad76
xor r15d, r15d
mov r12d, r14d
add r12d, 0x400
mov r8d, 0x7ff
mov eax, dword [0x141dc5db8]
and eax, dword [0x141dc5dbc]
or eax, 0xbb4cce7
add eax, 0xd9447bac
cmp eax, 0x73470535
jb 0x14005ac10
cmp r12d, 0x7fe
jg 0x14005a5b3
lea rax, [rbx + 1]
mov r14d, ecx
cmp r15, rax
jae 0x14005a744
jmp 0x14005a73a
xor r15d, r15d
jmp 0x14005ae56
mov eax, r8d
and eax, 0xfffffffe
xor r15d, r15d
mov edx, 0x99e88047
xor r10d, r10d
add r15, r15
lea r11, [r15 + r15*4]
cmp r10, r9
jae 0x14005acaa
movzx r15d, byte [rdi + r10 + 8]
mov r12d, dword [0x141dc5db0]
imul r12d, dword [0x141dc5db4]
xor r12d, 0x1b755d7f
add r12d, 0x74f15131
xor r12d, 0x2c171ffc
cmp r12d, 0x50624331
jbe 0x14005ac7a
add r11, r15
mov r12, r10
or r12, 1
mov r15d, dword [0x141dc5d90]
or r15d, dword [0x141dc5d94]
xor r15d, 0xf9871ab9
imul r15d, r15d, 0x31b24d90
cmp r15d, 0xafd261a1
je 0x14005acb1
add r11, r11
lea r15, [r11 + r11*4]
cmp r12, r9
jae 0x14005ad3c
mov r11d, dword [0x141dc5d98]
or r11d, dword [0x141dc5d9c]
imul r11d, r11d, 0xc58deee5
add r11d, 0x80c2b9ed
and r11d, 0x663f2dce
cmp r11d, 0x6033d788
ja 0x14005ace2
movzx r11d, byte [rdi + r12 + 8]
add r15, r11
mov r11d, dword [0x141dc5da0]
sub r11d, dword [0x141dc5da4]
imul r11d, r11d, 0xa883becc
add r11d, 0xf75e5a00
cmp r11d, 0x6eace268
ja 0x14005ad17
add r10, 2
mov r11d, dword [0x141dc5da8]
and r11d, dword [0x141dc5dac]
and r11d, 0x8c34beae
imul r11, rdx
shr r11, 0x3d
add r11d, 0x85382943
cmp r11d, 0xd90546b7
ja 0x14005ad40
cmp r10, rax
jne 0x14005ac68
test r8b, 1
je 0x14005ae56
mov eax, dword [0x141dc5d18]
xor edx, edx
div dword [0x141dc5d1c]
add r15, r15
lea r15, [r15 + r15*4]
mov eax, dword [0x141dc5d20]
xor eax, dword [0x141dc5d24]
imul eax, eax, 0x83267589
cmp eax, 0x41abc5f4
je 0x14005ad95
mov eax, dword [0x141dc5d28]
add eax, dword [0x141dc5d2c]
and eax, 0x28f5858
imul eax, eax, 0xec867054
and eax, 0xcb2c000
cmp eax, 0xda16ac29
ja 0x14005adae
cmp r10, r9
jae 0x14005ae52
mov eax, dword [0x141dc5d30]
xor edx, edx
div dword [0x141dc5d34]
mov eax, dword [0x141dc5d38]
xor edx, edx
div dword [0x141dc5d3c]
or eax, 0x5fd5f7a0
add eax, 0xa9f675a0
cmp eax, 0xcf334d27
ja 0x14005ade4
mov eax, dword [0x141dc5d40]
imul eax, dword [0x141dc5d44]
imul eax, eax, 0x16eea293
add eax, 0xc45abe72
cmp eax, 0x5184c443
jb 0x14005ae03
movzx r10d, byte [rdi + r10 + 8]
mov eax, dword [0x141dc5d48]
xor edx, edx
div dword [0x141dc5d4c]
add r15, r10
mov eax, dword [0x141dc5d50]
imul eax, dword [0x141dc5d54]
add eax, 0x98c6c412
cmp eax, 0xb867e38f
ja 0x14005ae39
mov r13d, dword [rbp + 4]
mov eax, dword [0x141dc5d58]
xor eax, dword [0x141dc5d5c]
imul eax, eax, 0x15f429bd
or eax, 0xa3da7967
add eax, 0xf815a320
cmp eax, 0xeb1127a8
ja 0x14005ae56
cmp r9, r8
jbe 0x14005ac00
movzx eax, byte [rdi + r8 + 8]
lea rdx, [r8 + 1]
cmp rdx, r9
jne 0x14005af3a
cmp al, 5
jne 0x14005af3a
mov eax, dword [0x141dc5d68]
xor edx, edx
div dword [0x141dc5d6c]
mov eax, dword [0x141dc5d70]
imul eax, dword [0x141dc5d74]
imul eax, eax, 0xdd300e38
or eax, 0x4e33daee
cmp eax, 0x74ceff84
je 0x14005aeab
cmp byte [rdi + 0x30c], 0
jne 0x14005af69
mov eax, dword [0x141dc5d78]
sub eax, dword [0x141dc5d7c]
add eax, 0x2427656e
and eax, 0xaad454bb
add eax, 0x3b250985
cmp eax, 0xf1fbc0a9
ja 0x14005aed7
test r8, r8
je 0x14005af8a
mov r9d, 0x9611d3e7
mov eax, dword [0x141dc5d80]
xor edx, edx
div dword [0x141dc5d84]
or eax, 0x31530ee4
imul eax, eax, 0xdac2d9fc
imul rax, r9
shr rax, 0x3f
cmp eax, 0x532affbd
ja 0x14005af08
test byte [rdi + r8 + 7], 1
jne 0x14005af69
jmp 0x14005af8a
mov edx, 0xa01b37cb
mov r8d, dword [0x141dc5d60]
add r8d, dword [0x141dc5d64]
imul r8, rdx
shr r8, 0x3f
or r8d, 0x57d8ff5a
cmp r8d, 0xea5491e0
je 0x14005af3f
cmp al, 4
jbe 0x14005af8a
inc r15
mov eax, dword [0x141dc5d88]
imul eax, dword [0x141dc5d8c]
and eax, 0x98bfd28b
add eax, 0x1b840a73
cmp eax, 0x86b892d3
jbe 0x14005af6c
mov r13d, dword [rbp + 4]
jmp 0x14005ac00