Function at 0x140155630
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, 0x88
lea rbp, [rsp + 0x80]
mov r15d, r8d
mov rdi, rdx
mov rbx, rcx
nop word cs:[rax + rax]
mov ecx, dword [0x14159d0a8]
and ecx, dword [0x14159d0ac]
mov eax, ecx
and eax, 0x2719bd05
or ecx, 0x2719bd05
add ecx, eax
or ecx, 0x50f3533e
add ecx, 0x7de33de4
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
mov r13, rsp
mov eax, 0x400
call fcn.14020e090
sub rsp, rax
mov r12, rsp
cmp ecx, 0x3e4daeaf
jb 0x140155660
mov r14, qword [rdi + 8]
mov rsi, qword [rdi + 0x10]
cmp rsi, 4
jb 0x140155860
movabs rax, 0x5c003f005c005c
cmp qword [r14], rax
je 0x140155928
sub rsp, 0x20
lea rcx, [0x141578a78]
mov r8d, 8
mov rdx, r14
call fcn.14020b2c0
add rsp, 0x20
nop word cs:[rax + rax]
mov ecx, dword [0x14159d0b0]
mov edx, dword [0x14159d0b4]
xor edx, ecx
not edx
and edx, ecx
and edx, 0x83150503
xor edx, 0x94140503
cmp edx, 0x19d14f89
jb 0x140155700
test eax, eax
je 0x140155928
nop
mov eax, dword [0x14159d0c8]
mov ecx, dword [0x14159d0cc]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
imul eax, eax, 0x6f4fff1
add eax, 0x4a25172f
cmp eax, 0xd3155834
jb 0x140155730
cmp rsi, 0xf8
jae 0x140155bfb
cmp word [r14 + 2], 0x3a
jne 0x140155b00
nop word [rax + rax]
mov eax, dword [0x14159d2f8]
mov ecx, dword [0x14159d2fc]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
xor eax, 0x4ef948f2
shr eax, 1
imul rax, rax, 0x4947a0f1
shr rax, 0x3c
imul eax, eax, 0x92a9bed0
cmp eax, 0x35042b10
jb 0x140155790
nop dword [rax + rax]
mov eax, dword [0x14159d300]
or eax, dword [0x14159d304]
add eax, 0x85147c93
mov ecx, eax
and ecx, 0xa0320a1b
xor ecx, 0x80020a19
and eax, 0x80020a19
or eax, ecx
or eax, 0x5fcdf5e4
cmp eax, 0x74447a53
jb 0x1401557e0
movzx eax, word [r14 + 4]
mov ecx, 0xc820980d
nop dword [rax]
mov edx, dword [0x14159d308]
sub edx, dword [0x14159d30c]
mov r8d, edx
xor r8d, 0xf912365f
or edx, 0x6edc9a0
and edx, r8d
imul rdx, rcx
shr rdx, 0x3f
add edx, 0xa01b1a3f
cmp edx, 0xd9b823f3
ja 0x140155820
jmp 0x140155a40
mov eax, dword [0x14159d0b8]
mov ecx, dword [0x14159d0bc]
xor ecx, eax
not ecx
and ecx, eax
imul rax, rcx, 0x3835042d
shr rax, 0x3d
or eax, 0x3380eaf0
cmp eax, 0x9d7c763d
ja 0x140155860
cmp rsi, 3
jge 0x14015593b
cmp rsi, 1
jne 0x140155aee
xor eax, eax
cmp word [r14], 0
setne al
nop word [rax + rax]
mov edx, dword [0x14159d0c0]
mov ecx, dword [0x14159d0c4]
mov r8d, edx
xor r8d, ecx
not r8d
and r8d, ecx
add r8d, r8d
sub ecx, r8d
add ecx, edx
mov edx, ecx
not edx
mov r8d, ecx
or r8d, 0x356eaf
mov r9d, r8d
and r9d, 0xd942b513
and edx, 0x26880040
imul edx, r9d
and r8d, 0x26bd4aec
or ecx, 0x26bd6eef
imul ecx, r8d
add ecx, edx
mov edx, ecx
and edx, 0xffffffc4
xor edx, 0x342ee0db
and ecx, 0x342ee0c0
or ecx, edx
cmp ecx, 0x3e5cefc2
ja 0x1401558b0
test eax, eax
jne 0x140155bfb
mov rax, qword [rdi + 0x10]
mov qword [rbx + 0x10], rax
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
jmp 0x1401572b0
jne 0x140155aee
movzx eax, word [r14 + 2]
nop word cs:[rax + rax]
mov ecx, dword [0x14159d2c8]
mov edx, ecx
not edx
or edx, dword [0x14159d2cc]
add ecx, edx
add ecx, 0x88defea
mov edx, ecx
and edx, 0x6e06d30e
xor ecx, 0xee06d30e
lea ecx, [rcx + rdx*2]
xor ecx, 0x690f83e1
cmp ecx, 0x83d348a5
ja 0x140155950
cmp ax, 0x3a
jne 0x140155b00
nop word cs:[rax + rax]
mov eax, dword [0x14159d2d0]
xor eax, dword [0x14159d2d4]
and eax, 0x28c5bdb7
mov ecx, eax
xor ecx, 0xffbadafd
xor eax, 0xaf174ba2
add eax, ecx
and ecx, 0xaf526ea0
sub eax, ecx
cmp eax, 0x5f185ae
je 0x1401559a0
movzx eax, word [r14 + 4]
nop word cs:[rax + rax]
mov ecx, dword [0x14159d2dc]
mov edx, ecx
xor edx, edx
not edx
and edx, dword [0x14159d2d8]
xor edx, ecx
mov ecx, edx
and ecx, 0xe8aa298e
xor ecx, 0x68a82006
and edx, 0x68a82006
or edx, ecx
lea ecx, [rdx + 0x1755d671]
mov r8d, ecx
and r8d, 0x3916c605
xor ecx, 0xc6e939fa
add ecx, edx
add ecx, 0x1755d671
sub ecx, r8d
cmp ecx, 0xa369a6f7
jb 0x1401559e0
test ax, ax
je 0x140156970
nop dword [rax]
mov ecx, dword [0x14159d310]
mov edx, dword [0x14159d314]
mov r8d, ecx
or r8d, edx
not r8d
not ecx
not edx
and edx, ecx
or edx, r8d
mov ecx, edx
not ecx
and edx, 0x4bf8c3f0
mov r8d, ecx
and r8d, 0xb4073c0f
imul r8d, edx
mov edx, ecx
and edx, 0x4bf8c3f0
or ecx, 0x4bf8c3f0
imul ecx, edx
add ecx, r8d
imul ecx, ecx, 0x8f68354f
cmp ecx, 0xc36ac97d
ja 0x140155a40
cmp ax, 0x5c
jge 0x1401567e1
cmp ax, 0x2f
jne 0x140155b00
movzx ecx, word [r14]
nop dword [rax]
mov eax, dword [0x14159d318]
mov edx, dword [0x14159d31c]
mov r8d, eax
xor r8d, edx
not edx
and edx, eax
add edx, edx
sub edx, r8d
or edx, 0x7c2079e3
cmp edx, 0x2df5f7ef
je 0x140155ab0
cmp cx, 0x5c
jl 0x1401567f5
je 0x140155ba5
jmp 0x1401569d0
cmp rsi, 1
jbe 0x140155bfb
nop dword [rax + rax]
mov eax, dword [0x14159d320]
and eax, dword [0x14159d324]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xd72644d6
and ecx, 0x28d9bb29
imul ecx, edx
mov edx, eax
and edx, 0x28d9bb29
or eax, 0x28d9bb29
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0x2c380f73
add ecx, ecx
sub eax, ecx
add eax, 0x2c380f73
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x62f215c8
and ecx, 0x9d0dea37
imul ecx, edx
mov edx, eax
and edx, 0x9d0dea37
or eax, 0x9d0dea37
imul eax, edx
add eax, ecx
cmp eax, 0x6f1ae988
ja 0x140155b00
movzx ecx, word [r14]
nop word cs:[rax + rax]
mov eax, dword [0x14159d328]
xor edx, edx
div dword [str._Qig]
or eax, 0x62805f95
imul eax, eax, 0xfb87fa52
add eax, 0xab33dbda
cmp eax, 0xd78d860
jb 0x140155b80
cmp cx, 0x5c
jge 0x140155baf
cmp cx, 0x2f
jne 0x140155bfb
nop word cs:[rax + rax]
mov eax, dword [0x14159d330]
sub eax, dword [0x14159d334]
or eax, 0x60200929
and eax, 0x6120096d
or eax, 0x9edd3692
cmp eax, 0x98a88363
jb 0x140155bc0
movzx eax, word [r14 + 2]
cmp ax, 0x5c
jge 0x14015652f
cmp ax, 0x2f
je 0x140156535
mov qword [rbp - 0x78], r12
mov byte [rbp + 7], r15b
mov qword [rbp - 0x10], r14
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x48], rdi
mov qword [r13], 0
mov qword [r13 + 8], 2
mov qword [r13 + 0x10], 0
mov r15d, 0x200
mov eax, 2
mov qword [rbp - 0x20], rax
xor eax, eax
mov qword [rbp - 0x18], rax
mov edi, 0xffffffff
xor r12d, r12d
xor esi, esi
mov qword [rbp - 0x70], r13
nop word [rax + rax]
mov eax, dword [0x14159d0d0]
xor edx, edx
div dword [0x14159d0d4]
and eax, 0x2ecc0d2c
add eax, 0x93931637
or eax, 0x2467042
cmp eax, 0xca8ee59b
je 0x140155c50
cmp r15, 0x201
mov r14, qword [rbp - 0x10]
jae 0x140155c99
mov eax, 0x200
mov qword [rbp - 0x50], rax
mov rax, qword [rbp - 0x78]
mov rbx, r15
mov r15, rax
jmp 0x140155db5
mov rdx, qword [rbp - 0x20]
nop dword [rax]
mov eax, dword [0x14159d0d8]
and eax, dword [0x14159d0dc]
mov ecx, eax
and ecx, 0x4a28af7
xor eax, 0x84a28af7
lea eax, [rax + rcx*2]
mov ecx, eax
and ecx, 0x2efd95e
add ecx, ecx
sub eax, ecx
add eax, 0xe2efd95e
or eax, 0xe940ae9e
cmp eax, 0xcceed566
jb 0x140155ca0
mov rax, r15
not rax
and rax, rsi
mov r8, rsi
not r8
and r8, r15
sub r8, rax
movabs rax, 0x525593165f2e8142
sub r12, rax
sub r12, rsi
add r12, rax
cmp r8, r12
jbe 0x140155d4f
sub rsp, 0x20
mov rcx, r13
mov rdx, rsi
call fcn.14020cdf0
add rsp, 0x20
nop dword [rax]
mov eax, dword [0x14159d0e8]
sub eax, dword [0x14159d0ec]
imul eax, eax, 0x8bbcddac
or eax, 0x464db44b
xor eax, 0x552ae682
cmp eax, 0x9e9b8a25
jb 0x140155d20
mov rax, qword [r13]
mov qword [rbp - 0x18], rax
mov rdx, qword [r13 + 8]
mov qword [rbp - 0x20], rdx
mov eax, dword [0x14159d0e0]
xor eax, dword [0x14159d0e4]
mov ecx, eax
and ecx, 0xb7fe6da6
xor ecx, 0xf7a07ccf
and eax, 0x5e0120
add eax, eax
sub eax, ecx
add eax, 0x49207554
cmp eax, 0x73893b94
jae 0x140155d96
mov rcx, qword [rbp - 0x18]
cmp rcx, rdi
mov eax, 0xffffffff
cmovb rax, rcx
mov qword [r13 + 0x10], rax
mov r12, qword [rbp - 0x18]
cmp r12, rdi
mov esi, 0xffffffff
cmovb rsi, r12
mov qword [r13 + 0x10], rsi
mov qword [rbp - 0x50], rsi
mov r15, qword [rbp - 0x20]
mov rbx, rsi
sub rsp, 0x20
xor ecx, ecx
call fcn.14020bc80
mov rcx, r14
mov edx, ebx
mov r8, r15
xor r9d, r9d
call fcn.14020ce10
add rsp, 0x20
mov r14d, eax
test eax, eax
jne 0x140155eac
mov r13, r15
mov eax, dword [0x14159d0f0]
mov ecx, dword [0x14159d0f4]
xor ecx, eax
not ecx
and ecx, eax
and ecx, 0x7633a460
cmp ecx, 0x42f494ec
je 0x140155e3a
mov r15d, dword [0x14159d0fc]
add r15d, dword [0x14159d0f8]
mov eax, 0x94ec9e5f
imul r15, rax
shr r15, 0x3f
add r15d, 0xb070cfe3
sub rsp, 0x20
call sub.KERNEL32.dll_GetLastError
add rsp, 0x20
cmp r15d, 0x8313bc74
jae 0x140155e50
sub rsp, 0x20
call fcn.14020b260
add rsp, 0x20
jmp 0x140155e02
mov ecx, dword [0x14159d100]
add ecx, dword [0x14159d104]
or ecx, 0x72b8c279
add ecx, 0x89852a92
or ecx, 0x9cfc475d
cmp ecx, 0xf179307d
je 0x140155e50
mov r15, r13
nop dword [rax]
mov ecx, dword [0x14159d108]
or ecx, dword [0x14159d10c]
or ecx, 0x5af694b6
add ecx, 0x7a1f2568
cmp ecx, 0xd87d2648
ja 0x140155e80
test eax, eax
mov r13, qword [rbp - 0x70]
jne 0x1401562a2
mov qword [rbp - 8], r15
mov r15d, r14d
nop word cs:[rax + rax]
mov eax, dword [0x14159d128]
sub eax, dword [0x14159d12c]
imul eax, eax, 0x45635765
add eax, 0x1461a7aa
and eax, 0xcd2cc047
cmp eax, 0x824f6dc6
jb 0x140155ec0
cmp rbx, r15
jne 0x140155fb0
sub rsp, 0x20
call sub.KERNEL32.dll_GetLastError
add rsp, 0x20
nop dword [rax]
mov ecx, dword [0x14159d130]
mov edx, dword [0x14159d134]
not ecx
not edx
or edx, ecx
not edx
add edx, 0xb86bab3
and edx, 0x18501022
or edx, 0xc521cfd1
cmp edx, 0xbdd77198
jb 0x140155f00
cmp eax, 0x7a
jne 0x140156986
mov eax, dword [0x14159d140]
and eax, dword [0x14159d144]
add eax, 0xa5058d40
mov ecx, eax
xor ecx, 0x52209bbb
or eax, 0xaddf6444
and eax, ecx
cmp eax, 0xd8e3f8e2
je 0x140155f37
lea rax, [rbx + rbx]
nop word cs:[rax + rax]
mov ecx, dword [0x14159d148]
add ecx, dword [0x14159d14c]
xor ecx, 0xda6518ae
imul ecx, ecx, 0xeefbdb47
cmp rbx, 0x7fffffff
mov r15, rax
cmova r15, rdi
cmp ecx, 0xdbb13f7c
je 0x140155f70
jmp 0x140155c50
mov eax, dword [0x14159d138]
xor eax, dword [0x14159d13c]
mov ecx, eax
not ecx
and ecx, 0x982082f9
and eax, 0x67df7d06
sub eax, ecx
add eax, 0x5349df62
xor eax, 0x691d987d
cmp eax, 0x4ce8c13
jb 0x140155fb0
cmp rbx, r15
jb 0x140155c50
cmp qword [rbp - 0x50], r15
jb 0x1401571fb
mov r12, qword [rbp - 0x48]
nop word cs:[rax + rax]
mov eax, dword [0x14159d158]
and eax, dword [0x14159d15c]
and eax, 0xc1e0276f
add eax, 0xffd4a59
cmp eax, 0xc2cb3ab6
ja 0x140156000
mov qword [r12 + 0x10], 0
cmp r14d, 0xf7
setae cl
or cl, byte [rbp + 7]
nop word cs:[rax + rax]
mov eax, dword [0x14159d160]
xor edx, edx
div dword [0x14159d164]
mov edx, eax
and edx, 0x66070473
or eax, 0x66070473
add eax, edx
add eax, 0x8d8e816b
not eax
or eax, 0xc7e5084
cmp eax, 0x3ffcbe3f
ja 0x140156040
test cl, cl
je 0x14015645f
nop dword [rax + rax]
mov eax, dword [0x14159d168]
or eax, dword [0x14159d16c]
or eax, 0x2f5f04f9
and eax, 0x6fdf6ff9
cmp eax, 0x8fcd8ca6
ja 0x140156080
cmp r14d, 2
jbe 0x14015657e
nop word [rax + rax]
mov eax, dword [str._t__e]
mov ecx, dword [0x14159d1dc]
not eax
not ecx
or ecx, eax
not ecx
add ecx, 0x24b271ae
or ecx, 0x3cfd0c3d
and ecx, 0xfffdec3d
cmp ecx, 0xba888daf
ja 0x1401560b0
nop
mov eax, dword [0x14159d1e0]
mov ecx, dword [0x14159d1e4]
not eax
not ecx
or ecx, eax
mov eax, ecx
not eax
or eax, 0x39915e4
or ecx, 0xfc66ea1b
and ecx, eax
mov eax, ecx
not eax
or ecx, 0xec1d9aa4
or eax, 0x13e2655b
and eax, ecx
imul eax, eax, 0x152a3054
cmp eax, 0x314f8e96
jb 0x1401560e0
mov rax, qword [rbp - 8]
movzx eax, word [rax + 2]
nop dword [rax]
mov ecx, dword [0x14159d1e8]
and ecx, dword [0x14159d1ec]
add ecx, 0x152e470f
cmp ecx, 0x6e56c0e7
ja 0x140156130
cmp ax, 0x3a
jne 0x140156200
nop word cs:[rax + rax]
mov ecx, dword [0x14159d1f0]
or ecx, dword [0x14159d1f4]
imul ecx, ecx, 0x6c04de08
imul rcx, rcx, 0x4b325a17
shr rcx, 0x3b
add ecx, 0x51c34201
cmp ecx, 0x17589106
jb 0x140156160
mov rcx, qword [rbp - 8]
movzx ecx, word [rcx + 4]
mov edx, 0xb43c1ea3
nop dword [rax + rax]
mov r8d, dword [0x14159d1f8]
mov r9d, dword [0x14159d1fc]
mov r10d, r8d
xor r10d, r9d
not r9d
and r9d, r8d
add r9d, r9d
sub r9d, r10d
xor r9d, 0x586d2f68
imul r9, rdx
shr r9, 0x3f
or r9d, 0xd5bd87a2
cmp r9d, 0xd2bb2c
jb 0x1401561a0
cmp cx, 0x5c
jne 0x140156200
lea r14, [0x141578ec0]
mov r13d, 4
jmp 0x14015680d
mov ecx, dword [0x14159d200]
mov edx, dword [0x14159d204]
mov r8d, ecx
and r8d, edx
add r8d, r8d
add ecx, edx
sub ecx, r8d
add ecx, 0x3901d910
xor ecx, 0x20400210
and ecx, 0xf848121c
cmp ecx, 0x980540ea
jb 0x140156200
mov rcx, qword [rbp - 8]
movzx ecx, word [rcx]
cmp r14d, 3
jbe 0x14015658b
mov r14d, 2
cmp cx, 0x5c
mov r11, qword [rbp - 0x10]
jne 0x14015629a
nop word cs:[rax + rax]
mov ecx, dword [0x14159d268]
sub ecx, dword [0x14159d26c]
or ecx, 0x2aac0bb7
add ecx, 0xc626eb52
or ecx, 0x2f9ff3f
cmp ecx, 0xbd9b22df
ja 0x140156260
cmp ax, 0x5c
jge 0x140156ab1
cmp ax, 0x3f
jne 0x140156660
xor r13d, r13d
jmp 0x140156811
mov eax, dword [0x14159d110]
xor edx, edx
div dword [0x14159d114]
mov ecx, eax
and ecx, 0x79d2a99b
xor eax, 0xf9d2a99b
lea eax, [rax + rcx*2]
xor eax, 0x5b5ce9f6
add eax, 0xb7c5e4e4
cmp eax, 0x7570b69e
jbe 0x1401562de
sub rsp, 0x20
call sub.KERNEL32.dll_GetLastError
add rsp, 0x20
mov r15, qword [rbp - 0x48]
mov r12, qword [rbp - 0x40]
mov r13, qword [rbp - 0x20]
nop word [rax + rax]
mov eax, dword [0x14159d118]
mov ecx, dword [0x14159d11c]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
imul rdi, rax, 0x7940d261
shr rdi, 0x3e
or edi, 0x15fec9d4
xor edi, 0x1f2bb9bc
sub rsp, 0x20
call sub.KERNEL32.dll_GetLastError
add rsp, 0x20
cmp edi, 0xf5b05fe8
ja 0x1401562f0
mov esi, eax
shl rsi, 0x20
cmp qword [rbp - 0x18], 0
je 0x140156408
mov rbx, qword [0x1415acb98]
mov rdi, qword [sym.imp.KERNEL32.dll_HeapFree]
nop word [rax + rax]
mov eax, dword [0x14159d120]
and eax, dword [0x14159d124]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x4ea2073c
and ecx, 0xb15df8c3
imul ecx, edx
mov edx, eax
and edx, 0xb15df8c3
or eax, 0xb15df8c3
imul eax, edx
add eax, ecx
mov ecx, eax
not ecx
and ecx, 0x1b2881ad
mov edx, eax
and edx, 0xe4d77e52
imul edx, ecx
mov ecx, eax
and ecx, 0x1b2881ad
or eax, 0x1b2881ad
imul eax, ecx
lea r14d, [rax + rdx]
add r14d, 0xb6f4d821
sub rsp, 0x20
mov rcx, rbx
xor edx, edx
mov r8, r13
call fcn.14020ae70
add rsp, 0x20
cmp r14d, 0x549ba03f
jae 0x140156408
sub rsp, 0x20
mov rcx, rbx
xor edx, edx
mov r8, r13
call rdi
add rsp, 0x20
jmp 0x140156370
or rsi, 2
movabs rax, 0x8000000000000000
mov ecx, dword [0x14159d2b0]
mov edx, dword [0x14159d2b4]
not edx
add ecx, edx
add ecx, 0xdb02d15b
mov edx, ecx
not edx
and edx, 0x1656931d
and ecx, 0xe9a96ce2
sub ecx, edx
mov edx, ecx
and edx, 0xc8bc5f6e
or ecx, 0xc8bc5f6e
add ecx, edx
cmp ecx, 0x9bf2e8c0
jb 0x140157247
jmp 0x140157218
lea rdi, [r15 + 1]
nop word cs:[rax + rax]
mov eax, dword [0x14159d170]
mov ecx, dword [0x14159d174]
not eax
not ecx
or ecx, eax
mov eax, ecx
not eax
and ecx, 0xe67ccd04
mov edx, eax
and edx, 0x198332fb
imul edx, ecx
mov ecx, eax
and ecx, 0xe67ccd04
or eax, 0xe67ccd04
imul eax, ecx
add eax, edx
mov ecx, eax
xor ecx, 0xab4ac0e6
xor eax, 0x3da16c97
add eax, ecx
and ecx, 0x6914538e
sub eax, ecx
cmp eax, 0xb982d0d8
je 0x140156470
mov rbx, qword [r12]
mov r9, qword [rbp - 0x10]
nop
mov eax, dword [0x14159d178]
mov ecx, dword [0x14159d17c]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
and eax, 0xac51ca27
add eax, 0x261c2b79
mov ecx, eax
and ecx, 0x6a10506c
add ecx, ecx
sub eax, ecx
add eax, 0xeb12506c
cmp eax, 0x4c00e0a6
jb 0x1401564d0
cmp rbx, r15
jbe 0x1401566f3
xor r13d, r13d
jmp 0x140156ef8
jne 0x140155bfb
mov rax, qword [rdi + 0x10]
mov qword [rbx + 0x10], rax
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
nop word cs:[rax + rax]
mov eax, dword [0x14159d338]
xor eax, dword [0x14159d33c]
imul eax, eax, 0x2615bcd4
imul rax, rax, 0x6885afab
shr rax, 0x3c
xor eax, 0x2c6bb575
cmp eax, 0x29b8bc8d
jbe 0x140156550
jmp 0x1401572b0
jne 0x140156804
mov rax, qword [rbp - 8]
movzx ecx, word [rax]
mov r11, qword [rbp - 0x10]
cmp cx, 0x5c
jne 0x1401567d6
mov eax, 0x969fc8a9
nop
mov ecx, dword [0x14159d270]
sub ecx, dword [0x14159d274]
shr ecx, 1
imul rcx, rax
shr rcx, 0x3c
lea edx, [rcx + 0x2121a008]
or ecx, 0xa901000
and ecx, 0xa901006
and edx, 0x2121a009
or edx, ecx
cmp edx, 0xc7890d47
ja 0x1401565a0
mov eax, 0xae0b2eb3
nop dword [rax]
mov ecx, dword [0x14159d278]
or ecx, dword [0x14159d27c]
imul rcx, rax
shr rcx, 0x38
add ecx, 0x7dbb865a
and ecx, 0x293907ff
xor ecx, 0x20020a1
cmp ecx, 0x3e24b3eb
ja 0x1401565e0
mov rax, qword [rbp - 8]
movzx eax, word [rax + 2]
nop word cs:[rax + rax]
mov ecx, dword [0x14159d280]
mov edx, dword [0x14159d284]
mov r8d, ecx
xor r8d, edx
not edx
and edx, ecx
add edx, edx
sub edx, r8d
add edx, 0xdbe41ebb
xor edx, 0x9e397f80
add edx, 0x7e57dd77
cmp edx, 0x51bfedcd
jb 0x140156620
nop word cs:[rax + rax]
mov ecx, dword [0x14159d288]
or ecx, dword [0x14159d28c]
xor ecx, 0x3012c09
and ecx, 0x1b8b3c0d
add ecx, 0x64855043
cmp ecx, 0xa4dc5ce5
ja 0x140156660
cmp ax, 0x5c
jne 0x1401567d6
mov eax, r15d
and eax, 0xfffffffe
xor r15, 0xfffffffffffffffe
lea r15, [r15 + rax*2]
add qword [rbp - 8], 4
lea r14, [0x141578ec8]
nop word [rax + rax]
mov eax, dword [0x14159d290]
mov ecx, dword [0x14159d294]
mov edx, eax
and edx, ecx
or eax, ecx
not edx
and edx, eax
and edx, 0x6c07f8d8
mov eax, edx
xor eax, 0x3d553ef2
or edx, 0x4002c008
and edx, eax
imul eax, edx, 0x6b9ca138
cmp eax, 0x1e5044c8
jbe 0x1401566b0
mov r13d, 8
jmp 0x140156811
lea rsi, [rdi + rdi]
nop word [rax + rax]
mov ecx, dword [0x14159d180]
mov eax, dword [0x14159d184]
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
sub eax, edx
not eax
or eax, 0xcf46e65c
mov ecx, eax
xor ecx, 0x901022
xor eax, 0xf041c919
mov edx, eax
and edx, 0x3b2804c4
and ecx, 0xd1d93b
imul ecx, edx
mov edx, eax
and edx, 0x4973b23
or eax, 0x4d7fb3b
imul eax, edx
add eax, ecx
cmp eax, 0x52c70dcd
jb 0x140156700
test rbx, rbx
je 0x14015692d
add rbx, rbx
mov qword [rbp - 0x38], r9
xor eax, eax
test al, al
je 0x140156770
mov qword [rbp - 0x28], rbx
mov qword [rbp - 0x28], rbx
nop word cs:[rax + rax]
mov eax, dword [0x14159d188]
mov ecx, dword [0x14159d18c]
not eax
not ecx
or ecx, eax
add ecx, 0xe01619fa
or ecx, 0x3ae13d90
mov eax, ecx
not eax
and ecx, 0xd7245b71
mov edx, eax
and edx, 0x1a800e
imul edx, ecx
mov ecx, eax
and ecx, 0xc5044261
or eax, 0xd7245b71
imul eax, ecx
add eax, edx
cmp eax, 0xa22a3d23
ja 0x140156780
mov ebx, 2
jmp 0x14015692f
mov r14d, 2
xor r13d, r13d
jmp 0x140156811
jne 0x140155b00
movzx ecx, word [r14]
cmp cx, 0x5c
jge 0x140155ae3
cmp cx, 0x2f
je 0x140155ba5
jmp 0x1401569d0
mov r14d, 2
xor r13d, r13d
mov r11, qword [rbp - 0x10]
movabs rax, 0xd8911f6c114bad8d
mov rcx, r13
or rcx, 1
mov rbx, r15
sub rbx, rax
add rbx, rcx
add rbx, rax
nop
mov eax, dword [0x14159d208]
mov ecx, dword [0x14159d20c]
mov edx, eax
not edx
and edx, ecx
mov r8d, ecx
not r8d
and r8d, eax
imul r8d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r8d
or eax, 0x51ec844c
add eax, 0x4e4daa8e
cmp eax, 0xe33794da
ja 0x140156830
mov rax, qword [r12]
cmp rax, rbx
jae 0x14015691a
lea r8, [rbx + rbx]
nop dword [rax]
mov ecx, dword [0x14159d210]
mov edx, dword [0x14159d214]
not ecx
mov r9d, ecx
and r9d, edx
not r9d
or ecx, edx
and ecx, r9d
mov edx, ecx
not edx
or ecx, 0xff63f7fe
or edx, 0xfdffeebf
and edx, ecx
not edx
lea ecx, [rdx - 0x29c1942]
or edx, 0xfd63ffbe
sub edx, ecx
cmp edx, 0xcc865a00
ja 0x140156880
test rax, rax
je 0x140156969
mov ecx, dword [0x14159d218]
add ecx, dword [0x14159d21c]
mov edx, ecx
not edx
mov r9d, ecx
and r9d, 0x262a320b
and edx, 0xd9d5cdf4
imul edx, r9d
mov r9d, ecx
and r9d, 0xd9d5cdf4
or ecx, 0xd9d5cdf4
imul ecx, r9d
add ecx, edx
cmp ecx, 0xe6d6c3c9
je 0x140156b74
jmp 0x140156b13
mov rbx, rax
cmp rbx, r13
jb 0x140156cbf
xor edi, edi
jmp 0x140156d70
xor ebx, ebx
mov eax, dword [0x14159d190]
mov ecx, dword [0x14159d194]
not eax
not ecx
or ecx, eax
not ecx
add ecx, 0xde0364cb
imul rax, rcx, 0xb847b27
shr rax, 0x3a
or eax, 0x60cb3860
cmp eax, 0x1c384230
jb 0x140156e73
jmp 0x140156e3b
xor eax, eax
jmp 0x140156bb6
movzx eax, word [r14]
cmp ax, 0x5c
jge 0x1401569ca
cmp ax, 0x2f
je 0x140155b00
jmp 0x1401569d0
ud2
je 0x140155b00
mov eax, dword [0x14159d2e0]
xor edx, edx
div dword [0x14159d2e4]
mov ecx, 0x898c9d17
imul rcx, rax
shr rcx, 0x3f
imul eax, ecx, 0xece9aaa8
and eax, 0xf4a8bdb0
cmp eax, 0x964607b0
jbe 0x140156a10
mov rax, qword [rdi + 0x10]
mov qword [rbx + 0x10], rax
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
nop dword [rax + rax]
mov ecx, dword [0x14159d2e8]
mov eax, dword [0x14159d2ec]
not ecx
not eax
or eax, ecx
mov ecx, eax
not ecx
xor eax, 0x90e0036b
and eax, ecx
mov ecx, eax
and ecx, 0x38e25d8a
or eax, 0x38e25d8a
add eax, ecx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x9e4e3e8
and ecx, 0xf61b1c17
imul ecx, edx
mov edx, eax
and edx, 0xf61b1c17
or eax, 0xf61b1c17
imul eax, edx
add eax, ecx
mov rcx, qword [rdi + 0x10]
mov qword [rbx + 0x10], rcx
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
cmp eax, 0x31465978
jb 0x140156a10
nop dword [rax + rax]
mov eax, dword [0x14159d2f0]
xor edx, edx
div dword [0x14159d2f4]
mov ecx, eax
xor ecx, 0xd808516c
and ecx, eax
and ecx, 0xd809536c
xor ecx, 0x11024
cmp ecx, 0x6785c578
ja 0x140156a80
jmp 0x1401572b0
jne 0x140156660
mov rax, qword [rbp - 8]
movzx eax, word [rax + 4]
cmp ax, 0x3f
jge 0x140156af9
cmp ax, 0x2e
jne 0x140156690
mov rax, qword [rbp - 8]
cmp word [rax + 6], 0x5c
jne 0x140156690
add r15, 0xfffffffffffffffc
add qword [rbp - 8], 8
lea r14, [0x141578ec0]
mov r13d, 4
jmp 0x140156811
jne 0x140156690
mov rax, qword [rbp - 8]
cmp word [rax + 6], 0x5c
jne 0x140156690
jmp 0x14015629a
mov ecx, dword [0x14159d220]
imul ecx, dword [0x14159d224]
mov edx, ecx
not edx
or edx, 0x7433fe1d
or ecx, 0x654ea2e
and ecx, edx
mov edx, ecx
not edx
mov r9d, edx
or r9d, 0x898801c0
and ecx, 0x5014e43d
mov r10d, r9d
and r10d, 0x2a6311c2
imul r10d, ecx
and r9d, 0xd18c0431
or edx, 0xd99ce5fd
imul edx, r9d
add edx, r10d
mov qword [rbp - 0x38], r11
cmp edx, 0xe9114f48
jbe 0x140156b7a
mov qword [rbp - 0x38], r11
jmp 0x140156b13
add rax, rax
mov ecx, dword [0x14159d228]
imul ecx, dword [0x14159d22c]
xor ecx, 0x6d36b560
imul rcx, rcx, 0x658b41bf
shr rcx, 0x3e
add ecx, 0xa42a4d25
cmp ecx, 0xaccf9b2c
jbe 0x140156bad
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x28], rax
mov eax, 2
mov qword [rbp - 0x30], rax
sub rsp, 0x20
lea rcx, [rbp - 0x68]
lea r9, [rbp - 0x38]
mov edx, 2
call fcn.1400316e0
add rsp, 0x20
cmp qword [rbp - 0x68], 0
jne 0x1401571fb
mov eax, dword [0x14159d230]
mov ecx, dword [0x14159d234]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
and eax, 0xab4e50c9
imul eax, eax, 0xc4ac9b76
cmp eax, 0xe10ce494
nop dword [rax + rax]
mov eax, dword [0x14159d238]
mov ecx, dword [0x14159d23c]
add eax, ecx
add eax, 0x4cc3eaad
mov ecx, eax
xor ecx, 0xbd1dbd72
and ecx, eax
mov eax, ecx
xor eax, 0xc041c4e9
and ecx, 0x3fbe3b16
add ecx, ecx
sub ecx, eax
cmp ecx, 0xa8909bbe
je 0x140156c20
mov r11, qword [rbp - 0x60]
mov qword [r12 + 8], r11
mov eax, dword [0x14159d240]
mov ecx, eax
not ecx
or ecx, dword [0x14159d244]
add eax, ecx
inc eax
mov ecx, eax
xor ecx, 0x8b520ab9
and eax, 0x74adf546
add eax, eax
sub eax, ecx
mov ecx, eax
and ecx, 0xc0ead48
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0xc0ead48
mov ecx, eax
and ecx, 0x4c89604
xor eax, 0x84c89604
lea eax, [rax + rcx*2]
cmp eax, 0xe8eab471
jne 0x140156cb2
mov qword [r12], rbx
mov qword [r12], rbx
cmp rbx, r13
jae 0x140156926
mov eax, dword [0x14159d248]
mov ecx, dword [0x14159d24c]
mov edx, eax
and edx, ecx
xor eax, ecx
lea eax, [rax + rdx*2]
imul rax, rax, 0x45ad1e81
shr rax, 0x3e
or eax, 0x15009280
cmp eax, 0x3379dee8
ja 0x140156e21
mov esi, dword [0x14159d250]
xor esi, dword [0x14159d254]
mov eax, esi
xor eax, 0x21cdd2a5
and esi, 0x5e322d5a
add esi, esi
sub esi, eax
xor esi, 0xc2a6b5ad
add esi, 0xd8632f25
sub rsp, 0x20
mov rcx, r12
xor edx, edx
mov r8, r13
call fcn.1402474d0
add rsp, 0x20
cmp esi, 0x3fa4d0aa
ja 0x140156cef
nop word cs:[rax + rax]
mov eax, dword [0x14159d258]
or eax, dword [0x14159d25c]
add eax, 0x82ebca2f
or eax, 0x8c7c1e17
add eax, 0x1c390e94
cmp eax, 0x41e0ad9c
jb 0x140156d40
mov rdi, qword [r12 + 0x10]
mov rbx, qword [r12]
mov r11, qword [r12 + 8]
mov eax, dword [0x14159d260]
xor edx, edx
div dword [0x14159d264]
lea rsi, [r13*2]
mov ecx, eax
and ecx, 0x325d31a
xor eax, 0x8325d31a
lea eax, [rax + rcx*2]
add eax, 0x516601e1
mov ecx, eax
xor ecx, 0x27651cb3
and eax, 0x589ae34c
add eax, eax
sub eax, ecx
cmp eax, 0xb2222ef1
jbe 0x140156dfd
mov qword [rbp - 0x10], rbx
mov rbx, r13
mov r13, r14
mov r14, r11
lea rcx, [r11 + rdi*2]
sub rsp, 0x20
mov rdx, r13
mov r8, rsi
call fcn.14021bb50
add rsp, 0x20
movabs rcx, 0xb4feb3ab52d83050
lea rax, [rdi + rcx]
add rax, rbx
sub rax, rcx
mov r11, r14
mov r14, r13
mov r13, rbx
mov rbx, qword [rbp - 0x10]
mov qword [r12 + 0x10], rax
lea rcx, [r11 + rdi*2]
sub rsp, 0x20
mov rdx, r14
mov r8, rsi
call fcn.14021bb50
add rsp, 0x20
add r13, rdi
mov qword [r12 + 0x10], r13
jmp 0x140156ef8
sub rsp, 0x20
mov rcx, r12
xor edx, edx
mov r8, r13
call fcn.1402474d0
add rsp, 0x20
jmp 0x140156cef
mov r14d, dword [0x14159d198]
add r14d, dword [0x14159d19c]
mov qword [rbp - 0x30], rbx
sub rsp, 0x20
lea rcx, [rbp - 0x68]
lea r9, [rbp - 0x38]
mov edx, 2
mov r8, rsi
call fcn.1400316e0
add rsp, 0x20
cmp r14d, 0xd408952e
jne 0x140156e96
mov qword [rbp - 0x30], rbx
sub rsp, 0x20
lea rcx, [rbp - 0x68]
lea r9, [rbp - 0x38]
mov edx, 2
mov r8, rsi
call fcn.1400316e0
add rsp, 0x20
jmp 0x140156e3b
cmp qword [rbp - 0x68], 0
jne 0x140157166
nop word cs:[rax + rax]
mov eax, dword [0x14159d1b0]
sub eax, dword [0x14159d1b4]
mov ecx, eax
not ecx
and ecx, 0xa1b99243
and eax, 0x5e466dbc
sub eax, ecx
imul rax, rax, 0x29f1c5b5
shr rax, 0x3c
imul eax, eax, 0x84cb1dc
cmp eax, 0xa0382b6e
ja 0x140156eb0
mov rax, qword [rbp - 0x60]
mov qword [r12 + 8], rax
mov qword [r12], rdi
xor r13d, r13d
mov rbx, rdi
lea rsi, [r15 + r15]
mov rax, rbx
sub rax, r13
cmp rax, r15
jae 0x14015701f
mov eax, dword [0x14159d1b8]
imul eax, dword [0x14159d1bc]
mov ecx, eax
not ecx
and ecx, 0xeac9a75f
and eax, 0x153658a0
sub eax, ecx
mov ecx, eax
xor ecx, 0x55d08898
add ecx, eax
and eax, 0xaa2f7767
sub ecx, eax
add ecx, 0x5028a8b
cmp ecx, 0x76a3e62e
jb 0x1401571fd
mov eax, dword [0x14159d1c0]
mov edi, dword [0x14159d1c4]
not eax
not edi
or edi, eax
xor edi, 0xa1800001
or edi, 0x22052c4
and edi, 0xf3b0d3c5
sub rsp, 0x20
mov rcx, r12
mov rdx, r13
mov r8, r15
call fcn.1402474d0
add rsp, 0x20
cmp edi, 0x4f8744fd
ja 0x140156f4c
nop
mov eax, dword [0x14159d1c8]
and eax, dword [0x14159d1cc]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x1c87a736
and ecx, 0xe37858c9
imul ecx, edx
mov edx, eax
and edx, 0xe37858c9
or eax, 0xe37858c9
imul eax, edx
add eax, ecx
mov ecx, eax
not ecx
or ecx, 0x816d299
add eax, ecx
inc eax
and eax, 0xa24c7f7c
cmp eax, 0x8c9526e6
ja 0x140156f90
mov rbx, qword [r12]
mov r13, qword [r12 + 0x10]
nop word cs:[rax + rax]
mov eax, dword [0x14159d1d0]
xor eax, dword [0x14159d1d4]
imul eax, eax, 0x9c85cfa1
add eax, 0x83e30109
mov ecx, eax
not ecx
and ecx, 0x2f891a6c
and eax, 0xd076e593
sub eax, ecx
cmp eax, 0xbeb90fa4
ja 0x140156ff0
mov rdi, qword [r12 + 8]
lea rcx, [rdi + r13*2]
sub rsp, 0x20
mov rdx, qword [rbp - 8]
mov r8, rsi
call fcn.14021bb50
add rsp, 0x20
add r15, r13
mov qword [r12 + 0x10], r15
cmp r15, rbx
jne 0x14015705e
sub rsp, 0x20
mov rcx, r12
call fcn.14020b880
add rsp, 0x20
mov rdi, qword [r12 + 8]
mov word [rdi + r15*2], 0
inc r15
mov qword [r12 + 0x10], r15
cmp qword [rbp - 0x18], 0
mov rsi, qword [rbp - 0x40]
mov r8, qword [rbp - 0x20]
je 0x1401570e0
mov eax, dword [0x14159d298]
mov ecx, dword [0x14159d29c]
not eax
not ecx
or ecx, eax
not ecx
imul eax, ecx, 0xd32a32a6
mov ecx, eax
xor ecx, 0x7bb24a8b
add ecx, eax
and eax, 0x44db574
sub ecx, eax
or ecx, 0x957a7be1
cmp ecx, 0xa4decdb0
jne 0x1401570bc
mov rax, qword [0x1415acb98]
mov rcx, qword [0x1415acb98]
sub rsp, 0x20
xor edx, edx
call fcn.14020ae70
add rsp, 0x20
nop word cs:[rax + rax]
mov eax, dword [0x14159d2a0]
imul eax, dword [0x14159d2a4]
add eax, 0x7f9ca2e6
mov ecx, eax
xor ecx, 0xc3ba2bf0
or eax, 0x3c45d40f
and eax, ecx
imul eax, eax, 0xea3b5b5e
cmp eax, 0x6a0e18a7
ja 0x1401570e0
jmp 0x140157121
mov rax, qword [r12 + 0x10]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [r12]
movups xmmword [rsi], xmm0
mov eax, dword [0x14159d2a8]
mov ecx, eax
not ecx
or ecx, dword [0x14159d2ac]
add eax, ecx
add eax, 0x2ed0252a
mov ecx, eax
and ecx, 0x2012ffc3
add ecx, ecx
sub eax, ecx
add eax, 0xb32fdc65
mov rcx, qword [r12 + 0x10]
mov qword [rsi + 0x10], rcx
movups xmm0, xmmword [r12]
movups xmmword [rsi], xmm0
cmp eax, 0x3294f536
jb 0x140157110
jmp 0x1401572b0
mov ecx, dword [0x14159d1a0]
mov eax, dword [0x14159d1a4]
mov edx, ecx
and edx, eax
not ecx
not eax
or eax, ecx
not eax
or eax, edx
mov ecx, eax
not ecx
and ecx, 0x94231d3
mov edx, eax
and edx, 0x76bdce2c
imul edx, ecx
mov ecx, eax
and ecx, 0x94231d3
or eax, 0x94231d3
imul eax, ecx
add eax, edx
not eax
and eax, 0x58002100
cmp eax, 0x4cf79f7a
jb 0x140157166
mov eax, dword [0x14159d1a8]
sub eax, dword [0x14159d1ac]
mov ecx, eax
not ecx
and ecx, 0x201f621e
mov edx, eax
and edx, 0x1fe09de1
imul edx, ecx
mov ecx, eax
and ecx, 0x201f621e
or eax, 0x201f621e
imul eax, ecx
add eax, edx
add eax, 0x5328702c
or eax, 0xc77d8cf7
ud2
ud2
sub rsp, 0x20
mov rcx, r12
mov rdx, r13
mov r8, r15
call fcn.1402474d0
add rsp, 0x20
jmp 0x140156f4c
mov ecx, dword [0x14159d2b8]
sub ecx, dword [0x14159d2bc]
imul ecx, ecx, 0x99780533
or ecx, 0x20080010
and ecx, 0xb40e5b50
mov qword [r12 + 8], rsi
mov qword [r12], rax
cmp ecx, 0x8aba1803
jbe 0x140157252
mov qword [r12 + 8], rsi
mov qword [r12], rax
jmp 0x140157218
mov rax, qword [r15]
mov ecx, 0xd997cdeb
mov r8, qword [rbp - 0x10]
nop
mov edx, dword [0x14159d2c0]
add edx, dword [0x14159d2c4]
or edx, 0x633a069
imul rdx, rcx
shr rdx, 0x3e
not edx
and edx, 0x4991152f
cmp edx, 0xf215586f
ja 0x140157260
test rax, rax
je 0x1401572b0
mov rcx, qword [0x1415acb98]
sub rsp, 0x20
xor edx, edx
call fcn.14020ae70
add rsp, 0x20
nop word cs:[rax + rax]
mov eax, dword [0x14159d340]
xor eax, dword [0x14159d344]
or eax, 0x20011290
xor eax, 0x9022000c
and eax, 0xf12752bc
add eax, 0x661a4ecf
jae 0x1401572b0
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret