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

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x50]
movaps xmmword [rbp - 0x10], xmm6
mov eax, dword [0x14021a110]
xor edx, edx
div dword [0x14021a114]
xor eax, 0xaa63c479
add eax, 0xda4caf9c
cmp eax, 0x9973d2d1
jbe 0x140160cb0
mov eax, 0x800
call fcn.1401516e0
sub rsp, rax
mov eax, 0x800
call fcn.1401516e0
sub rsp, rax
nop
mov eax, dword [0x14021a11c]
mov ecx, eax
xor ecx, ecx
not ecx
and ecx, dword [0x14021a118]
xor ecx, eax
mov eax, ecx
and eax, 0x61e5b2fa
add eax, eax
neg eax
add eax, ecx
add eax, 0x61e5b2fa
and eax, 0xb10a175e
mov ecx, eax
not ecx
or ecx, 0xa3be5c9
add ecx, eax
mov eax, 0x800
call fcn.1401516e0
sub rsp, rax
mov rdi, rsp
mov eax, 0x800
call fcn.1401516e0
sub rsp, rax
mov rsi, rsp
cmp ecx, 0xe799e268
je 0x140160cb0
mov ecx, dword [0x14021a120]
mov eax, dword [0x14021a124]
mov edx, ecx
xor edx, eax
not eax
and eax, ecx
add eax, eax
sub eax, edx
add eax, 0x4a34322
mov ecx, eax
not ecx
and ecx, 0xbfcc4a4a
mov edx, eax
and edx, 0x4033b5b5
imul edx, ecx
mov ecx, eax
and ecx, 0xbfcc4a4a
or eax, 0xbfcc4a4a
imul eax, ecx
add eax, edx
mov ecx, eax
not ecx
or ecx, 0x93ee2ce0
or eax, 0x6c11d31f
and eax, ecx
cmp eax, 0x3f9a68b5
jae 0x140160d80
mov eax, dword [0x14022caa8]
nop word cs:[rax + rax]
mov eax, dword [0x14021a128]
or eax, dword [0x14021a12c]
imul eax, eax, 0x2ae0aff8
imul rcx, rax, 0x387335d5
shr rcx, 0x3d
mov eax, dword [0x14022caa8]
cmp ecx, 0xe01962d9
ja 0x140160d80
cmp eax, 4
jne 0x14016104d
nop word cs:[rax + rax]
mov eax, dword [0x14021a130]
mov ecx, dword [0x14021a134]
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
or eax, 0x445edc7c
mov ecx, eax
xor ecx, 0x28184961
add ecx, eax
and eax, 0xd7e7b69e
sub ecx, eax
add ecx, 0x3f740439
cmp ecx, 0x66b61539
ja 0x140160dc0
mov rbx, qword [0x14022caa0]
mov eax, dword [0x14021a138]
or eax, dword [0x14021a13c]
lea ecx, [rax + 0x7264bd23]
not ecx
or ecx, 0x16ba5852
add eax, ecx
add eax, 0x7264bd24
or eax, 0xe0ddefa1
cmp eax, 0x199763ec
jne 0x140160e50
lock inc qword [rbx]
nop dword [rax + rax]
mov eax, dword [0x14021a140]
imul eax, dword [0x14021a144]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xd3f87209
and ecx, 0x2c078df6
imul ecx, edx
mov edx, eax
and edx, 0x2c078df6
or eax, 0x2c078df6
imul eax, edx
add eax, ecx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xe1fac730
and ecx, 0x1e0538cf
imul ecx, edx
mov edx, eax
and edx, 0x1e0538ce
or eax, 0x1e0538cf
imul eax, edx
add eax, ecx
mov ecx, 1
lock xadd qword [rbx], rcx
cmp eax, 0x90ce6b38
je 0x140160e50
test rcx, rcx
js 0x14016105f
nop word cs:[rax + rax]
mov eax, dword [0x14021a160]
and eax, dword [0x14021a164]
add eax, 0x2b0f4613
mov ecx, eax
xor ecx, 0x71140624
and eax, 0xeebf9db
add eax, eax
sub eax, ecx
cmp eax, 0x20c7a353
jb 0x140160ed0
mov rax, 0xffffffffffffffff
xor ecx, ecx
mov edx, 0x94a10e73
mov r8d, 0xc530aa97
movabs r9, 0x7fffffffffffffc
movups xmm0, xmmword [0x140206f08]
movups xmm1, xmmword [0x140206ef8]
mov r10, rdi
jmp 0x140160f46
add rcx, 4
add rax, 0xfffffffffffffffc
sub r10, 0xffffffffffffff80
cmp rcx, 0x40
je 0x140161018
mov r11d, dword [0x14021a168]
mov r14d, dword [0x14021a16c]
mov r15d, r11d
and r15d, r14d
or r11d, r14d
add r11d, r15d
imul r11, rdx
shr r11, 0x3f
imul r11d, r11d, 0xff28dadb
imul r11, r8
shr r11, 0x3f
cmp r11d, 0xbbe615b5
je 0x140160fec
mov r11d, dword [0x14021a170]
sub r11d, dword [0x14021a174]
imul r11, r11, 0x6b29eb87
shr r11, 0x3e
or r11d, 0xcba30070
mov r14, rcx
and r14, r9
mov r15, rcx
xor r15, 3
sub r15, r14
add r15, rcx
shl r15, 5
movups xmmword [r10 + 0x10], xmm0
movups xmmword [r10], xmm1
movups xmmword [r10 + 0x20], xmm1
movups xmmword [r10 + 0x30], xmm0
movups xmmword [r10 + 0x40], xmm1
movups xmmword [r10 + 0x50], xmm0
movups xmmword [rdi + r15], xmm1
movups xmmword [rdi + r15 + 0x10], xmm0
cmp r11d, 0xd0184857
jbe 0x140160f30
movups xmmword [r10 + 0x10], xmm0
movups xmmword [r10], xmm1
movups xmmword [r10 + 0x20], xmm1
movups xmmword [r10 + 0x30], xmm0
movups xmmword [r10 + 0x40], xmm1
movups xmmword [r10 + 0x50], xmm0
movups xmmword [r10 + 0x60], xmm1
movups xmmword [r10 + 0x70], xmm0
jmp 0x140160f80
mov eax, dword [0x14021a178]
sub eax, dword [0x14021a17c]
or eax, 0x502baf03
mov ecx, 0xd059c34f
imul rcx, rax
shr rcx, 0x3e
add ecx, 0x9112960b
cmp ecx, 0xa70e5e5d
jbe 0x14016118d
jmp 0x1401611e3
sub rsp, 0x20
call fcn.14015b300
add rsp, 0x20
jmp 0x140160dc0
mov eax, dword [0x14021a148]
mov ecx, dword [0x14021a14c]
mov edx, ecx
and edx, eax
add eax, ecx
sub eax, edx
mov ecx, eax
not ecx
or eax, 0x173fcef9
or ecx, 0xe8c03106
and ecx, eax
mov eax, ecx
and eax, 0xc4cc83a
add eax, eax
neg eax
add eax, ecx
add eax, 0x3c4cc83a
not eax
or eax, 0xef194338
cmp eax, 0xe950d9ce
jae 0x1401610b0
ud2
mov ecx, dword [0x14021a150]
mov edx, dword [0x14021a154]
mov eax, ecx
not eax
mov r8d, edx
not r8d
mov r9d, eax
and r9d, 0x4e428aa7
and ecx, 0xb1bd7558
or ecx, r9d
or eax, r8d
and r8d, 0x4e428aa7
and edx, 0xb1bd7558
or edx, r8d
xor edx, ecx
not eax
or eax, edx
mov ecx, eax
and ecx, 0x6bb9f96a
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0xebb9f96a
mov ecx, eax
not ecx
and ecx, 0xe8716f9e
mov edx, eax
and edx, 0x178e9061
imul edx, ecx
mov ecx, eax
and ecx, 0xe8716f9e
or eax, 0xe8716f9e
imul eax, ecx
add eax, edx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x436b20a6
and ecx, 0xbc94df58
imul ecx, edx
mov edx, eax
and edx, 0xbc94df58
or eax, 0xbc94df58
imul eax, edx
add eax, ecx
ud2
ud2
mov eax, dword [0x14021a180]
mov ecx, dword [0x14021a184]
not ecx
lea r14d, [rax + rcx]
add r14d, 0x87882669
mov eax, r14d
and eax, 0x1c6c38e1
add eax, eax
sub r14d, eax
add r14d, 0x3c6c38e1
or r14d, 0xdd6aa1cc
sub rsp, 0x20
mov r8d, 0x800
mov rcx, rsi
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
cmp r14d, 0x8ac0da85
jne 0x1401611fe
sub rsp, 0x20
mov r8d, 0x800
mov rcx, rsi
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
jmp 0x14016118d
mov eax, dword [0x14021a188]
or eax, dword [0x14021a18c]
imul eax, eax, 0xc58d7e6b
add eax, 0x5f178709
and eax, 0x12468e59
cmp eax, 0xce39c2f6
je 0x140161296
mov eax, dword [0x14021a190]
mov ecx, dword [0x14021a194]
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
add eax, 0xdca6e9d2
mov ecx, eax
not ecx
and ecx, 0xea562b7e
mov edx, eax
and edx, 0x15a9d481
imul edx, ecx
mov ecx, eax
and ecx, 0xea562b7e
or eax, 0xea562b7e
imul eax, ecx
add eax, edx
mov ecx, eax
and ecx, 0x3d345be8
or eax, 0x3d345be8
add eax, ecx
movzx ecx, byte [0x14022cb78]
cmp eax, 0x8c44fcba
jbe 0x14016129f
movzx eax, byte [0x14022cb78]
jmp 0x140161221
mov eax, dword [0x14021a198]
mov ecx, dword [0x14021a19c]
mov edx, eax
not edx
mov r8d, ecx
not r8d
mov r9d, edx
and r9d, 0x2001001
and eax, 0x40a24100
or eax, r9d
or edx, r8d
and r8d, 0x2001001
and ecx, 0x40a24100
or ecx, r8d
xor ecx, eax
not edx
or edx, ecx
and edx, 0x42a25101
add edx, 0x305fe908
cmp edx, 0xb621e07e
jbe 0x140161310
sub rsp, 0x20
mov edx, 0x980
xor ecx, ecx
call fcn.140107940
add rsp, 0x20
nop dword [rax + rax]
mov eax, dword [0x14021a1a0]
mov ecx, dword [0x14021a1a4]
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
lea edi, [rax + rdx]
add edi, 0x398b026e
mov eax, edi
xor eax, 0x21400e80
or edi, 0xc001404b
and edi, eax
or edi, 0x1ebeb134
sub rsp, 0x20
mov edx, 0x980
xor ecx, ecx
call fcn.140107940
add rsp, 0x20
cmp edi, 0xad36417
je 0x140161310
mov rcx, rax
test rax, rax
je 0x140161509
mov eax, dword [0x14021a1c0]
xor edx, edx
div dword [0x14021a1c4]
mov eax, 0xc6078ab1
nop word cs:[rax + rax]
mov edx, dword [0x14021a1c8]
imul edx, dword [0x14021a1cc]
imul rdx, rax
shr rdx, 0x3d
mov r8d, edx
and r8d, 0xfffffffd
add r8d, r8d
neg r8d
add edx, r8d
add edx, 0xb1c49b9d
xor edx, 0xf43658b0
cmp edx, 0x34a02bbf
jb 0x1401613a0
mov rdi, rcx
and rdi, 0xffffffffffffff80
sub rdi, 0xffffffffffffff80
nop word cs:[rax + rax]
mov eax, dword [0x14021a1d0]
or eax, dword [0x14021a1d4]
shr eax, 1
imul rax, rax, 0x8180c23
shr rax, 0x3a
mov edx, eax
xor edx, 0xc6200601
lea eax, [rdx + rax*2]
and eax, 0xc6200603
xor eax, 0x1d92c5df
cmp eax, 0x261246f1
jb 0x1401613f0
mov qword [rdi - 8], rcx
mov qword [rdi], 0
mov qword [rdi + 8], rbx
lea rcx, [rdi + 0x10]
sub rsp, 0x20
mov r8d, 0x800
mov rdx, rsi
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
xorps xmm0, xmm0
movaps xmmword [rdi + 0x810], xmm0
mov qword [rdi + 0x820], 1
mov qword [rdi + 0x828], 0
mov qword [rdi + 0x880], 0
mov rax, qword [rbx + 0x200]
mov qword [rdi], rax
lock cmpxchg qword [rbx + 0x200], rdi
jne 0x140161480
xor eax, eax
test al, al
jne 0x140161490
mov eax, dword [0x14022cb7c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 8]
mov ecx, dword [0x14021a1d8]
mov edx, dword [0x14021a1dc]
mov r8d, edx
not r8d
mov r9d, ecx
and r9d, r8d
or r8d, ecx
not r8d
imul r8d, r9d
mov r9d, ecx
and r9d, edx
or ecx, edx
imul ecx, r9d
add ecx, r8d
xor ecx, 0xebd629bd
mov edx, 0xf6eb8f67
imul rdx, rcx
shr rdx, 0x3b
add edx, 0x3ab458d1
cmp edx, 0xbedd0f5e
jbe 0x1401615d2
jmp 0x140161645
mov eax, dword [0x14021a1a8]
mov ecx, dword [0x14021a1ac]
mov edx, eax
not edx
and edx, ecx
not edx
not ecx
and ecx, eax
not ecx
and ecx, edx
mov eax, ecx
not eax
and ecx, 0x4d41272d
mov edx, eax
and edx, 0xb2bed8d2
or edx, ecx
xor edx, 0xb3c1f1ef
and eax, 0xfe80d6c2
or eax, edx
mov ecx, eax
xor ecx, 0x61c46af7
and eax, 0x1e3b9508
add eax, eax
sub eax, ecx
and eax, 0xe3fcf42d
cmp eax, 0xb902efc6
jne 0x140161570
ud2
mov eax, dword [0x14021a1b0]
mov ecx, dword [0x14021a1b4]
mov edx, eax
xor edx, ecx
not edx
or eax, ecx
and eax, edx
add eax, 0x3ff64cae
imul rcx, rax, 0x4d0a78a3
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
imul eax, eax, 0xbb093021
ud2
mov edx, dword [0x14021a1e0]
xor edx, dword [0x14021a1e4]
mov ecx, edx
not ecx
mov r8d, edx
and r8d, 0x8db6683f
and ecx, 0x724997c0
imul ecx, r8d
mov r8d, edx
and r8d, 0x724997c0
or edx, 0x724997c0
imul edx, r8d
add edx, ecx
or edx, 0x3ee2864b
add edx, 0x24a85629
mov ecx, dword [0x14022cb7c]
mov r8, qword gs:[0x58]
mov r8, qword [r8 + rcx*8]
mov rcx, qword [r8 + 0x10]
mov qword [r8 + 8], 1
cmp edx, 0x8da0ce0f
jbe 0x140161668
mov ecx, dword [0x14022cb7c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov qword [rcx + 8], 1
jmp 0x1401615d2
mov edx, dword [0x14021a1e8]
xor edx, dword [0x14021a1ec]
add edx, 0x65d5c42
and edx, 0x3351a29a
cmp edx, 0xb7688378
je 0x1401616e9
mov edx, dword [0x14021a1f0]
mov r8d, dword [0x14021a1f4]
mov r9d, edx
not r9d
or edx, r8d
not r8d
and r8d, r9d
not r8d
and r8d, edx
mov edx, r8d
and edx, 0x2caa9a43
add edx, edx
neg edx
add edx, r8d
add edx, 0xacaa9a43
and edx, 0x820aa4af
mov r8d, dword [0x14022cb7c]
mov r9, qword gs:[0x58]
mov r8, qword [r9 + r8*8]
mov qword [r8 + 0x10], rdi
cmp edx, 0x208aa03e
jne 0x140161705
mov edx, dword [0x14022cb7c]
mov r8, qword gs:[0x58]
mov rdx, qword [r8 + rdx*8]
mov qword [rdx + 0x10], rdi
jmp 0x140161688
cmp eax, 1
je 0x140161846
test rax, rax
jne 0x1401619e0
mov eax, dword [0x14022cb7c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x30], 0
jne 0x140161a73
mov eax, dword [0x14022cb7c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov ecx, dword [0x14021a1f8]
sub ecx, dword [0x14021a1fc]
mov qword [rax + 0x30], 0xffffffffffffffff
add ecx, 0x2669995c
mov eax, ecx
and eax, 0x3621ba0c
add eax, eax
sub ecx, eax
add ecx, 0x3621ba0c
cmp ecx, 0xad0f3682
jbe 0x140161790
mov rax, qword [0x140179598]
nop dword [rax + rax]
mov eax, dword [0x14021a200]
mov ecx, dword [0x14021a204]
mov edx, eax
and edx, ecx
add edx, edx
add eax, ecx
sub eax, edx
mov ecx, eax
not ecx
and ecx, 0x1116ffed
and eax, 0xee90012
sub eax, ecx
and eax, 0x14002240
mov rcx, qword [0x140179598]
cmp eax, 0xdcd049a1
je 0x140161790
mov eax, dword [0x14022cb7c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rsi, qword [rax + 0x48]
mov eax, dword [0x14022cb7c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp rsi, qword [rax + 0x38]
jne 0x14016198e
sub rsp, 0x20
call fcn.1400b61a0
add rsp, 0x20
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140161820
mov eax, dword [0x14022cb7c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x30]
inc rax
jmp 0x140161990
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x140161850
mov rax, qword [rcx + 0x818]
nop dword [rax + rax]
mov r8d, dword [0x14021a238]
mov r9d, dword [0x14021a23c]
mov edx, r8d
not edx
mov r10d, r9d
not r10d
mov r11d, edx
and r11d, 0x303b14fc
and r8d, 0xcfc4eb03
or r8d, r11d
or edx, r10d
and r10d, 0x303b14fc
and r9d, 0xcfc4eb03
or r9d, r10d
xor r9d, r8d
not edx
or edx, r9d
mov r8d, edx
xor r8d, 0x1e71095
xor edx, 0x3010cb62
mov r9d, edx
and r9d, 0xce182f48
and r8d, 0x31e7d0b7
imul r8d, r9d
mov r9d, edx
and r9d, 0x31e7d0b7
or edx, 0x31e7d0b7
imul edx, r9d
add edx, r8d
or edx, 0x644aa2f4
cmp edx, 0x99a0fa34
je 0x140161860
mov rdx, qword [rcx + 0x820]
lea r8, [rdx - 1]
mov qword [rcx + 0x820], r8
test rax, rax
sete r8b
cmp rdx, 1
setne dl
cmp r8b, dl
je 0x1401619e0
test rax, rax
jne 0x1401619e0
sub rsp, 0x20
call fcn.14015a140
add rsp, 0x20
nop word cs:[rax + rax]
mov eax, dword [0x14021a240]
xor edx, edx
div dword [0x14021a244]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x57d8f51f
and ecx, 0xa8270ae0
imul ecx, edx
mov edx, eax
and edx, 0xa8270ae0
or eax, 0xa8270ae0
imul eax, edx
add eax, ecx
xor eax, 0x33046110
imul rax, rax, 0x382b0c65
shr rax, 0x3c
cmp eax, 0x874b67b6
je 0x140161940
jmp 0x1401619e0
xor eax, eax
mov ecx, dword [0x14022cb7c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov rdx, qword [rcx + 0x40]
mov r8, rsi
shl r8, 4
lea r9, [rcx + 8]
mov qword [rdx + r8], r9
lea r9, [0x140107fc0]
mov qword [rdx + r8 + 8], r9
inc rsi
mov qword [rcx + 0x48], rsi
mov qword [rcx + 0x30], rax
nop dword [rax]
mov eax, dword [0x14021a248]
xor edx, edx
div dword [0x14021a24c]
mov ecx, eax
xor ecx, 0x33ac8e7a
and ecx, eax
add ecx, 0x27a2de84
mov eax, ecx
not eax
mov edx, ecx
and edx, 0xd2d0d5f3
and eax, 0x2d2f2a0c
imul eax, edx
mov edx, ecx
and edx, 0x2d2f2a0c
or ecx, 0x2d2f2a0c
imul ecx, edx
add ecx, eax
cmp ecx, 0x5286730b
je 0x1401619e0
nop dword [rax]
mov eax, dword [0x14021a250]
mov ecx, dword [0x14021a254]
mov edx, eax
xor edx, ecx
not ecx
and ecx, eax
add ecx, ecx
sub ecx, edx
add ecx, 0xd048fc2c
and ecx, 0xa14f8864
add ecx, 0xc075b5ec
cmp ecx, 0xfe814c32
ja 0x140161a30
movaps xmm6, xmmword [rbp - 0x10]
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
mov ecx, dword [0x14021a208]
and ecx, dword [0x14021a20c]
add ecx, 0x23311567
mov eax, ecx
not eax
mov edx, ecx
and edx, 0xf289ed71
and eax, 0xd76128e
imul eax, edx
mov edx, ecx
and edx, 0xd76128e
or ecx, 0xd76128e
imul ecx, edx
add ecx, eax
lea rax, str.8v__
cmp ecx, 0x60f7720a
jne 0x140161ae0
mov dword [rbp - 0x18], 0
mov byte [rbp - 0x14], 0
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], 1
nop word cs:[rax + rax]
mov ecx, dword [0x14021a210]
add ecx, dword [0x14021a214]
or ecx, 0xcfe0cba4
imul ecx, ecx, 0x82e2e9c5
mov edx, ecx
and edx, 0xdc326095
or ecx, 0xdc326095
add ecx, edx
mov dword [rbp - 0x18], 0
mov byte [rbp - 0x14], 0
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], 1
cmp ecx, 0xc17ab420
ja 0x140161ae0
mov eax, dword [0x14021a218]
mov ecx, dword [0x14021a21c]
not eax
not ecx
or ecx, eax
not ecx
or ecx, 0xffed7b5b
imul eax, ecx, 0xc314f9cf
lea r14, [rbp - 0x20]
cmp eax, 0x80b8105e
jne 0x140161b72
mov qword [rbp - 0x40], r14
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
sub rsp, 0x20
lea rcx, [rbp - 0x18]
lea rdx, [rbp - 0x50]
call fcn.1400b2630
add rsp, 0x20
xorps xmm6, xmm6
lea rdi, [rbp - 0x18]
lea rbx, [rbp - 0x50]
nop dword [rax]
mov eax, dword [0x14021a220]
sub eax, dword [0x14021a224]
or eax, 0xaed10f40
mov ecx, eax
and ecx, 0x5b9aa410
add ecx, ecx
neg ecx
lea r15d, [rax + rcx]
add r15d, 0xdb9aa410
mov eax, r15d
xor eax, 0x576ae1cc
and r15d, 0x28951e33
add r15d, r15d
sub r15d, eax
mov qword [rbp - 0x40], r14
movups xmmword [rbp - 0x38], xmm6
sub rsp, 0x20
mov rcx, rdi
mov rdx, rbx
call fcn.1400b2630
add rsp, 0x20
cmp r15d, 0xa2e6ccd8
je 0x140161b80
mov rsi, rax
mov eax, dword [0x14021a228]
and eax, dword [0x14021a22c]
or eax, 0x7dfa5e1e
mov ecx, eax
xor ecx, 0x397d26ca
and eax, 0x4682d935
add eax, eax
sub eax, ecx
add eax, 0x8de5a169
cmp eax, 0xb16d00bc
jb 0x140161c56
mov edi, dword [0x14021a230]
add edi, dword [0x14021a234]
mov eax, edi
xor eax, 0xd62dbb49
or edi, 0x29d244b6
and edi, eax
add edi, 0xa30c273f
sub rsp, 0x20
mov rcx, rsi
call fcn.1400b2ce0
add rsp, 0x20
mov ecx, 7
int 0x29
cmp edi, 0x9aa970e6
jae 0x14016118b
sub rsp, 0x20
mov rcx, rsi
call fcn.140150150
add rsp, 0x20
mov ecx, 7
int 0x29
jmp 0x140161c12