Function at 0x14001ffd8
Capabilities:
Access peb ldr_data
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x68
mov rax, rcx
lea rcx, vtable.win_proc_api.0
mov qword [rax], rcx
xor edx, edx
mov qword [rbp + 0x58], rdx
movabs rax, 0x657bccadb2b57543
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x50], rdx
movabs rax, 0xc66473469693eb25
mov qword [rbp + 0x50], rax
movabs rax, 0x796cef1fc3813532
sub rax, qword [0x14035f050]
sub rax, qword [0x14035f058]
movabs rcx, 0xf8f8cd97c14b26fb
xor rax, rcx
sub rax, qword [0x14035f048]
movabs rcx, 0x7d654b8a52a12b1
add rcx, rax
mov rdi, qword [0x14035f040]
add rcx, rdi
movabs rax, 0x5a9179a79901d5c3
xor rcx, rax
movabs rax, 0x5f627dc6e19b8a36
sub rcx, rax
movabs rax, 0x7a3b3cd2067b8323
xor rcx, rax
movabs rdx, 0xb483ce4416411ab8
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94adad5e486
mov r10, qword [0x14035f038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b5252a1b79
mov r11, qword [0x14035f030]
mov rcx, r11
xor rcx, rax
movabs rax, 0xe0b56d905890dddb
add rdx, rax
add rdx, rcx
movabs rax, 0x39ee1152da2f2556
xor rdx, rax
mov qword [rbp + 0x50], rdx
movabs rax, 0x900424824963c9ba
sub rax, qword [0x14035f050]
sub rax, qword [0x14035f058]
movabs rcx, 0xf8f8cd983acda229
xor rax, rcx
sub rax, qword [0x14035f048]
movabs rcx, 0x47d654b9479114de
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179a82178ce61
xor rcx, rax
movabs rax, 0x5f627dc6b561cb34
sub rcx, rax
movabs rax, 0xd63b3cd242513603
xor rcx, rax
movabs rax, 0x3483ce448a9f8ac7
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94ad8f754d8
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b52708ab27
xor r11, rax
movabs rax, 0xe0b56d8e77e49fad
add rcx, rax
add rcx, r11
movabs rax, 0x44a28bb3d21a34e8
xor rcx, rax
mov qword [rbp + 0x58], rcx
and rcx, rdx
mov rax, qword [rbp + 0x48]
mov rax, qword [rax + 0x10]
and qword [rbp + 0x50], 0
and qword [rbp + 0x58], 0
cmp rax, rcx
je 0x140021562
xor edi, edi
mov esi, 0x96251348
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test edi, edi
je 0x14002023c
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x62229894
jmp 0x14002022e
movsx edx, byte [r9]
mov r8d, edx
imul r8d, edx
add r8d, 0x31
xor r8d, 0x4764996c
mov ecx, r10d
xor ecx, edx
mov r10d, r8d
imul r10d, ecx
add r9, 2
cmp r9, r11
jne 0x140020208
cmp r10d, edi
jne 0x140020354
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov rcx, qword [rcx + r10 + 0x88]
mov ebx, ecx
add rbx, r10
shr rcx, 0x20
cmp rbx, r10
je 0x140020354
mov r14d, dword [rbx + 0x18]
test r14d, r14d
je 0x140020354
mov r13d, dword [rbx + 0x20]
dec r14d
lea rdx, [r14*4]
add rdx, r13
mov r11d, dword [rdx + r10]
add r11, r10
mov r15d, 0x62229894
jmp 0x1400202af
movsx r8d, dl
mov r9d, r8d
imul r9d, r8d
add r9d, 0x31
xor r9d, 0x4764996c
mov edx, r15d
xor edx, r8d
mov r15d, r9d
imul r15d, edx
mov dl, byte [r11]
inc r11
test dl, dl
jne 0x14002028c
cmp r15d, esi
je 0x1400202c8
test r14d, r14d
jne 0x14002026f
jmp 0x140020354
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov eax, dword [rbx + 0x24]
add rax, r10
movzx eax, word [rax + r14*2]
mov r13d, dword [rdx + rax*4]
add r13, r10
cmp r13, rbx
jbe 0x14002035c
lea rax, [rbx + rcx]
cmp r13, rax
jae 0x14002035c
mov edi, 0x62229894
mov esi, edi
jmp 0x140020314
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, 0x4764996c
mov eax, edi
xor eax, ecx
mov edi, edx
imul edi, eax
inc r13
mov al, byte [r13]
cmp al, 0x2e
jne 0x1400202f7
jmp 0x140020338
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, 0x4764996c
mov eax, esi
xor eax, ecx
mov esi, edx
imul esi, eax
inc r13
mov al, byte [r13]
test al, al
jne 0x14002031e
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x1400201dc
and dword [rbp + 0x58], 0
mov dword [rbp + 0x58], 0xf11b7212
mov eax, 0xb51bdebc
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
xor eax, 0x1c2967c7
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0xde9cf80f
add eax, ecx
xor eax, 0xff0f2279
add eax, 0x4f90ced1
xor eax, 0xb73a7e8d
lea edx, [rcx - 0x12b8d097]
add edx, eax
not edx
mov eax, dword [0x14035f038]
xor eax, 0xd9700308
sub edx, eax
mov r12d, dword [0x14035f030]
xor r12d, 0x268ffcf7
add r12d, 0xf109bf23
add r12d, edx
xor r12d, 0xef86ccb8
mov dword [rbp + 0x58], r12d
and dword [rbp + 0x50], 0
mov dword [rbp + 0x50], 0x8c1c1c3d
mov eax, 0x717c2f25
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
xor eax, 0x38272338
sub eax, dword [0x14035f048]
mov rdx, qword [0x14035f040]
lea ecx, [rdx + 0x6ddedc6d]
add ecx, eax
xor ecx, 0xfefcd57a
sub ecx, 0x79b505c9
xor ecx, 0x2af358cb
mov r15d, dword [0x14035f030]
xor r15d, 0x230dfbe9
sub r15d, ecx
mov eax, dword [0x14035f038]
xor eax, 0xdcf20416
sub r15d, eax
sub r15d, edx
sub r15d, 0x1c5d9f8e
xor r15d, 0x99654a06
mov dword [rbp + 0x50], r15d
mov rax, qword [rbp + 0x48]
mov r14, qword [rax + 0x10]
and qword [rbp - 0x38], 0
movabs rax, 0xa900b6f50f656da1
mov qword [rbp - 0x38], rax
and qword [rbp + 0x60], 0
movabs rax, 0x59aa78f2a97b13dd
mov qword [rbp + 0x60], rax
movabs rax, 0x450f3b49d8374d9f
sub rax, qword [0x14035f050]
sub rax, qword [0x14035f058]
movabs rcx, 0xf8f8cd98261c9a83
xor rax, rcx
sub rax, qword [0x14035f048]
movabs rcx, 0x7d654b92be965b8
add rcx, rax
mov rsi, qword [0x14035f040]
add rcx, rsi
movabs rax, 0x5a9179a80a3bd58b
xor rcx, rax
movabs rax, 0x5f627dc6b801a2ee
sub rcx, rax
movabs rax, 0x8a3b3cd23820ce47
xor rcx, rax
movabs rdx, 0xb483ce4476ce9e0a
add rdx, rcx
add rdx, rsi
not rdx
movabs rcx, 0x13cce94ad948d2fe
mov r10, qword [0x14035f038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b526b72d01
mov r11, qword [0x14035f030]
mov rcx, r11
xor rcx, rax
movabs rdi, 0xe0b56d8ec9f443d3
add rdi, rdx
add rdi, rcx
movabs rax, 0xcca35732df178fe
xor rdi, rax
mov qword [rbp - 0x38], rdi
movabs rax, 0x52d2f94c3243e01d
sub rax, qword [0x14035f050]
sub rax, qword [0x14035f058]
movabs rcx, 0xf8f8cd9741ff518d
xor rax, rcx
sub rax, qword [0x14035f048]
movabs rcx, 0xc7d654b7fb072e0d
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a70a0b30e5
xor rcx, rax
movabs rax, 0x5f627dc67a1f9708
sub rcx, rax
movabs rax, 0x9e3b3cd1c7cc5ab0
xor rcx, rax
movabs r9, 0x3483ce439c57fc98
add r9, rcx
add r9, rsi
not r9
movabs rax, 0x13cce94adccb3e74
xor r10, rax
sub r9, r10
movabs rax, 0xec3316b52334c18b
xor r11, rax
movabs rbx, 0xe0b56d924fe25d49
add rbx, r9
add rbx, r11
movabs rax, 0xcfb5def1a8005cfc
xor rbx, rax
mov qword [rbp + 0x60], rbx
mov r8d, r12d
mov edx, r15d
mov rcx, r14
call r13
movsxd rcx, eax
and rbx, rdi
xor edx, edx
mov qword [rbp + 0x60], rdx
mov qword [rbp - 0x38], rdx
mov dword [rbp + 0x50], edx
mov dword [rbp + 0x58], edx
cmp rcx, rbx
je 0x140021562
mov rax, qword [rbp + 0x48]
mov rax, qword [rax + 0x10]
mov qword [rbp - 0x28], rax
movabs rsi, 0x9de04d4e5540a7a7
movabs rax, 0x3d794e57c2986000
movabs r14, 0xf9520bcd1f611b0a
mov rbx, qword [0x14035f070]
imul rbx, rax
movabs rax, 0x8a9dcdf53a1e9000
xor rbx, rax
mov r12, rbx
imul r12, rsi
movabs rdi, 0xaaaaaaaaaaaaaaab
mov rax, rdi
mul r12
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r12
sub rcx, rax
lea r13, [0x14035f060]
mov r8, rbx
and r8, rsi
imul r8, qword [r13 + rcx*8]
movabs rax, 0xdcdd3fb1e752c224
imul r8, rax
shr r8, 3
movabs rax, 0x39b73e97047273a5
xor r8, rax
movabs rax, 0xffffff57cb3fd0c5
mov r10, rbx
imul r10, rax
sub r10, 0x1b5d796
xor r10, r8
xor r10, qword [0x14035f060]
mov rax, r8
imul rax, qword [0x14035f070]
movabs rcx, 0xb9de928bc28c6fe4
imul rax, rcx
not rax
and r10, rax
ror r10, 0x32
shr r10, 8
movabs r9, 0x621fb2b1aabf5859
lea rcx, [rbx + r9]
xor rcx, 0xfffffffffc0264e9
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x347f26e1ee3b048
mov r11, qword [r13 + rcx*8]
imul r11, rax
sub r11, r9
movabs rcx, 0x218f5e5395f0a618
mov rax, r8
imul rax, rcx
xor r11, rax
shr r11, 0x1f
not r11
mov r15, r11
xor r15, rbx
lea rcx, [r11 + r9]
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
movzx ecx, byte [r13 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xf5
and ecx, 0x8000003f
jge 0x1400207b4
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r15, cl
not r15
imul r15, r8
imul r13, r15, 0xfffffffffe4a286a
lea rdi, [r9 + r13]
mov r9, r11
imul r9, r10
sub r9, rdi
xor r9, r14
mov cl, dil
xor cl, 0xfa
and cl, 0xf
rol r9, cl
movabs rax, 0x26ee63228f3d8326
imul r15, rax
movabs rax, 0x2ee49f6d274b4ef1
sub r15, rax
xor r9, r15
mov rax, rdi
sub rax, qword [0x14035f078]
xor r9, rax
xor r9, r8
xor r9, rbx
mov rax, r9
xor rax, 0xfffffffffffffffe
movabs rcx, 0xd79435e50d79435f
and eax, 3
movabs r15, 0xaaaaaaaaaaaaaaab
je 0x140020b4f
sub rax, 1
je 0x140020a2a
sub rax, 1
je 0x14002093c
cmp rax, 1
jne 0x140020bf8
mov r14, rdi
imul r14, r11
movabs rax, 0x613f1e858cc19a7d
add rax, r9
xor r14, rax
ror r14, 0xa
shr r14, 0xc
xor r14, rbx
not r14
movabs rcx, 0x8357207d61e2
mov rdx, qword [0x14035f088]
add rdx, rcx
movabs rax, 0x629d37c9c1d9193d
xor rdx, rax
movzx eax, r14b
movzx ecx, r9b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db9789d8d1d
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
imul rcx, rsi
mov eax, 0xa9465ff7
add rcx, rax
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r12, [0x14035f060]
mov cl, byte [r12 + rcx*8]
and cl, 0xf
movabs rsi, 0x27ccd70888b495d0
sub rsi, r14
shr rsi, cl
movabs rcx, 0x6227d73a06818795
add rcx, r13
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r9
imul rax, qword [r12 + rcx*8]
imul rax, r9
sub rax, r10
xor rsi, rax
jmp 0x140020bf8
movabs rax, 0xaaaaaa1aa95fa2c9
mov rcx, r9
xor rcx, rax
movabs rax, 0x1206ed6b527e85
imul rcx, rax
movabs rdx, 0xfff17ca87e3d94b5
mov rax, r8
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8a8f4f9015
imul r13, rax
movabs r11, 0x249a18892d2adf62
add r11, rcx
add r11, r13
movabs rax, 0x277cd7be7b8f75a9
mov rcx, r11
xor rcx, rax
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rdi, r11
not rdi
lea rdx, [0x14035f060]
imul rdi, qword [rdx + rcx*8]
xor rdi, 0xfffffffffc0a7419
lea ecx, [r9 + 0xb]
and cl, 0x3f
rol rdi, cl
movabs rax, 0xdf97debfeaf28157
xor r12, rax
movabs rax, 0x7c7a7dc6950d7ea8
and r12, rax
imul rdi, r12
mov rcx, rdi
ror rcx, 0x1e
not rcx
movabs rax, 0x9b2de6b2d18fde38
imul rcx, rax
mov rax, r11
sub rax, rdi
lea rdx, [rcx + rax*4]
mov cl, r10b
and cl, 0x3f
ror rdx, cl
mov rax, rsi
mov rsi, rdx
imul rsi, rax
jmp 0x140020bf8
movabs rax, 0xb49521319f1794b5
imul r9, rax
mov rax, rcx
mul r9
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r9b
sub cl, dl
movabs rdx, 0x621fb2b1aabf5858
mov rax, rbx
imul rax, rdx
xor rax, r14
not rax
shl rax, cl
xor r8, rax
mov cl, dil
and cl, 0x3f
rol r8, cl
movabs rcx, 0x621fb2b1aabf5859
add rcx, r9
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xd4e5540a7a7
lea rax, [0x14035f060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r8, rax
movabs rax, 0xffffc7a7f59bd4e4
or r8, rax
mov rsi, qword [0x14035f070]
imul rsi, r14
sub rsi, rdi
mov rax, r10
sub rax, r8
xor rsi, rax
movabs rax, 0xc7a7c6a6a493d4e9
xor rsi, rax
movabs rax, 0xcccccccccccccccd
mul rbx
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, rbx
sub rcx, rax
or rcx, 1
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov rdx, r9
imul rdx, rdi
imul rdx, rsi
shr rdx, cl
mov rax, r11
sub rax, rdx
sub rax, rbx
movabs rbx, 0x78958946bc198f3
add rbx, rax
xor rbx, r10
mov al, r11b
add al, al
lea ecx, [rax + r11]
shl cl, 2
and cl, 0x3f
rol rbx, cl
not rbx
jmp 0x140020bf8
mov rax, r15
mul r8
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r8
sub rcx, rax
mov rax, r9
imul rax, qword [0x14035f080]
lea rdx, [0x14035f060]
mov rdx, qword [rdx + rcx*8]
and rdx, rax
xor rdx, r8
and r8b, 0x3f
mov cl, r8b
mov r8, rdx
ror r8, cl
imul r8, rdi
not r10
imul r10, r11
movabs rax, 0x7cd8a7de79628508
imul r10, rax
mov rax, r8
imul rax, rbx
mov rbx, r10
xor rbx, rax
imul r10, qword [0x14035f060], 0xfffffffffe4a286a
mov rdx, qword [0x14035f068]
sub r10, rdx
mov al, bl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140020be5
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r10, cl
movabs rax, 0x621fb2b1aabf5859
add r10, rax
add r10, r13
movabs rax, 0xff055d7b89298fc5
xor r14, rax
mov rax, r15
mul r14
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r14, rax
xor r8, rbx
lea rax, [0x14035f060]
imul r8, qword [rax + r14*8]
not rdi
imul rdi, r9
imul rdi, r10
imul rdi, rsi
movabs rcx, 0xf5ed7e878e9ac519
xor rcx, r11
not rcx
xor rcx, rdi
sub rcx, r8
call fcn.14001fc7c
mov qword [0x14036d9e8], rax
xor r15d, r15d
mov dword [rbp + 0x50], r15d
mov dword [rbp + 0x50], 0x6499149a
mov eax, 0x478d6b29
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
xor eax, 0xa70bd88f
sub eax, dword [0x14035f048]
mov rdx, qword [0x14035f040]
lea ecx, [rdx + 0x4215762e]
add ecx, eax
xor ecx, 0x7b878981
add ecx, 0x26374199
xor ecx, 0xd8ebd0b
mov r8d, dword [0x14035f030]
xor r8d, 0x24c2bbbf
sub r8d, ecx
mov eax, dword [0x14035f038]
xor eax, 0xdb3d4440
sub r8d, eax
sub r8d, edx
add r8d, 0x42fc2451
xor r8d, 0xc10abc0
mov dword [rbp + 0x50], r8d
movsxd rax, r8d
mov qword [rbp - 0x30], rax
mov dword [rbp + 0x50], r15d
mov byte [rbp + 0x50], r15b
lea rcx, [rbp + 0x50]
call fcn.140021584
mov dword [rbp + 0x58], r15d
mov dword [rbp + 0x58], 0xd7275e16
mov qword [rbp - 0x38], r15
movabs rax, 0xd13455f59f062eab
mov qword [rbp - 0x38], rax
mov qword [rbp + 0x60], r15
movabs rax, 0xfc5ac2ab4d4e3ff5
mov qword [rbp + 0x60], rax
movabs rax, 0x16e11e84414c991e
mov r11, qword [0x14035f050]
sub rax, r11
mov r9, qword [0x14035f058]
sub rax, r9
movabs rcx, 0xf8f8cd97f5a33619
xor rax, rcx
mov r10, qword [0x14035f048]
sub rax, r10
movabs rcx, 0x47d654b8eb1fc470
add rcx, rax
mov rbx, qword [0x14035f040]
add rcx, rbx
movabs rax, 0x5a9179a7d3cb21d1
xor rcx, rax
movabs rax, 0x5f627dc6e67c3044
sub rcx, rax
movabs rax, 0xb63b3cd220421333
xor rcx, rax
movabs rdx, 0x3483ce4448623ce3
add rdx, rcx
add rdx, rbx
not rdx
movabs rcx, 0x13cce94ada07bce8
mov r8, qword [0x14035f038]
mov rax, r8
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b525f84317
mov rsi, qword [0x14035f030]
mov rcx, rsi
xor rcx, rax
movabs r14, 0xe0b56d8f895b57bd
add r14, rdx
add r14, rcx
movabs rax, 0x8e6a629e25e2b0d8
xor r14, rax
mov qword [rbp + 0x60], r14
movabs rax, 0x4adc9a4f709553f3
sub rax, r11
sub rax, r9
movabs rcx, 0xf8f8cd9774a5dd4b
xor rax, rcx
sub rax, r10
movabs rcx, 0x7d654b83eb97797
add rcx, rax
add rcx, rbx
movabs rax, 0x5a9179a742ed9e93
xor rcx, rax
movabs rax, 0x5f627dc68d2f9626
sub rcx, rax
movabs rax, 0x1a3b3cd1e0bd7168
xor rcx, rax
movabs rdx, 0xb483ce43ccd9f2ac
add rdx, rcx
add rdx, rbx
not rdx
movabs rcx, 0x13cce94adc03c236
mov rax, r8
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b523fc3dc9
mov rcx, rsi
xor rcx, rax
movabs rdi, 0xe0b56d91875cab8b
add rdi, rdx
add rdi, rcx
movabs rax, 0x9b5a0da233625a66
xor rdi, rax
mov qword [rbp - 0x38], rdi
mov eax, 0xc78a0e6f
sub eax, r9d
sub eax, r11d
xor eax, 0xb5852f65
sub eax, r10d
lea ecx, [rbx - 0x6a9235c3]
add ecx, eax
xor ecx, 0x8bc8eb07
add ecx, 0x29e005cb
xor ecx, 0xc0af59ce
xor esi, 0x24fbbd15
sub esi, ecx
xor r8d, 0xdb0442ea
sub esi, r8d
sub esi, ebx
add esi, 0x7be339d1
xor esi, 0xa02e3f32
mov dword [rbp + 0x58], esi
mov eax, dword [0x14037da24]
test eax, eax
jne 0x140020f04
mov eax, r15d
jmp 0x140020f21
mov dword [rbp - 0x10], eax
lea rax, [rbp - 0x20]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbp - 0x28]
call fcn.1402a1240
movsxd rcx, esi
mov rdx, r15
cmp rax, rcx
setb dl
and rdi, r14
mov rax, r15
cmp rdx, rdi
sete al
mov qword [rbp - 0x30], rax
mov qword [rbp + 0x60], r15
mov qword [rbp - 0x38], r15
mov dword [rbp + 0x58], r15d
movabs rbx, 0xf1528e1aad9061ad
movabs rax, 0x3000000000000000
movabs r14, 0x808adfa0fc71e71f
mov rdi, qword [0x14035f078]
imul rdi, rax
movabs rax, 0xd000000000000000
xor rdi, rax
mov r12, rdi
imul r12, r14
movabs r8, 0xaaaaaaaaaaaaaaab
mov rax, r8
mul r12
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r12
sub rcx, rax
mov r9, rdi
and r9, r14
lea r10, [0x14035f060]
imul r9, qword [r10 + rcx*8]
movabs rax, 0xeaf23179835b068e
imul r9, rax
shr r9, 3
movabs rax, 0x7227b37c663ecf21
xor r9, rax
movabs rax, 0xffffff57d775cc01
mov rsi, rdi
imul rsi, rax
sub rsi, 0x15fc17a
xor rsi, r9
xor rsi, qword [0x14035f060]
mov rax, r9
imul rax, qword [0x14035f070]
movabs rcx, 0xb9de928bdec67320
imul rax, rcx
not rax
and rsi, rax
ror rsi, 0xe
shr rsi, 8
movabs r13, 0x7f75205f038e18e1
lea rcx, [rdi + r13]
xor rcx, 0xffffffffe048782d
mov rax, r8
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0xbbb194c9d554c240
mov r11, qword [r10 + rcx*8]
imul r11, rax
sub r11, r13
movabs rcx, 0x69bb0f66d7efbbcc
mov rax, r9
imul rax, rcx
xor r11, rax
shr r11, 0x1f
not r11
mov r15, r11
xor r15, rdi
lea rcx, [r11 + r13]
mov rax, r8
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
movzx ecx, byte [r10 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x31
and ecx, 0x8000003f
jge 0x1400210b9
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r15, cl
not r15
imul r15, r9
imul r13, r15, 0xfffffffffea03e86
movabs r8, 0x7f75205f038e18e1
add r8, r13
mov r10, r11
imul r10, rsi
sub r10, r8
xor r10, rbx
mov cl, r8b
xor cl, 0xfe
and cl, 0xf
rol r10, cl
mov rax, r8
sub rax, qword [0x14035f078]
xor r10, rax
movabs rax, 0x6d7eeec9eef87c3a
imul r15, rax
movabs rax, 0x25655a72e206f5c1
sub r15, rax
xor r10, r15
xor r10, r9
xor r10, rdi
mov rax, r10
xor rax, 0xfffffffffffffffe
and eax, 3
movabs r15, 0xaaaaaaaaaaaaaaab
je 0x140021453
sub rax, 1
je 0x14002132d
sub rax, 1
je 0x14002123f
cmp rax, 1
jne 0x1400214fd
mov rbx, r8
imul rbx, r11
movabs rax, 0xe01d237447ffaae1
add rax, r10
xor rbx, rax
ror rbx, 0x36
shr rbx, 0xc
xor rbx, rdi
not rbx
movabs rcx, 0x83573c377d26
mov rdx, qword [0x14035f088]
add rdx, rcx
movabs rax, 0x7ff7a52774a24541
xor rdx, rax
movzx eax, r10b
movzx ecx, bl
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db964d791d9
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
imul rcx, r14
mov eax, 0xb50c4333
add rcx, rax
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r12, [0x14035f060]
mov cl, byte [r12 + rcx*8]
and cl, 0xf
movabs r14, 0x344f86f8e6ef6e28
sub r14, rbx
shr r14, cl
movabs rcx, 0x7f7d44e74b164ce1
add rcx, r13
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
imul rax, qword [r12 + rcx*8]
imul rax, r10
sub rax, rsi
xor r14, rax
jmp 0x1400214fd
movabs rax, 0xaaaaaa1ab515be0d
mov rcx, r10
xor rcx, rax
movabs rax, 0x1206ed77186241
imul rcx, rax
movabs rdx, 0xfff17ca862778871
mov rax, r9
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8a93058cd1
imul r13, rax
movabs r11, 0xf2fb367df07e882
add r11, rcx
add r11, r13
movabs rax, 0x277cd7be67c5696d
mov rcx, r11
xor rcx, rax
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, r11
not r8
lea rax, [0x14035f060]
imul r8, qword [rax + rcx*8]
xor r8, 0xffffffffe04068dd
lea ecx, [r10 + 0xf]
and cl, 0x3f
rol r8, cl
movabs rax, 0x284871c200000000
xor r12, rax
movabs rax, 0x7c7a7dc68947626c
and r12, rax
imul r8, r12
mov rcx, r8
ror rcx, 0x3d
not rcx
movabs rax, 0x9b2de6b2a0a7ad28
imul rcx, rax
mov rax, r11
sub rax, r8
lea rdx, [rcx + rax*4]
mov cl, sil
and cl, 0x3f
ror rdx, cl
mov rax, r14
mov r14, rdx
imul r14, rax
jmp 0x1400214fd
movabs rcx, 0xcc341b28bb781851
imul r10, rcx
movabs rax, 0xd79435e50d79435f
mul r10
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r10b
sub cl, dl
movabs rdx, 0x7f75205f038e18e0
mov rax, rdi
imul rax, rdx
xor rax, rbx
not rax
shl rax, cl
xor r9, rax
mov cl, r8b
and cl, 0x3f
rol r9, cl
movabs rcx, 0x7f75205f038e18e1
add rcx, r10
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x1fa0fc71e71f
lea rax, [0x14035f060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r9, rax
movabs rax, 0xffffc7a7e9d1c820
or r9, rax
mov r14, qword [0x14035f070]
imul r14, rbx
sub r14, r8
mov rcx, rsi
sub rcx, r9
xor r14, rcx
movabs rcx, 0xc7a7c6a6b8d9c82d
xor r14, rcx
movabs rax, 0xcccccccccccccccd
mul rdi
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, rdi
sub rcx, rax
or rcx, 1
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov rdx, r10
imul rdx, r8
imul rdx, r14
shr rdx, cl
mov rax, r11
sub rax, rdx
sub rax, rdi
movabs rdi, 0x7895894778b8437
add rdi, rax
xor rdi, rsi
mov cl, r11b
shl cl, 3
and cl, 0x3f
rol rdi, cl
not rdi
jmp 0x1400214fd
mov rax, r15
mul r9
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r9
sub rcx, rax
mov rax, r10
imul rax, qword [0x14035f080]
lea rdx, [0x14035f060]
mov rdx, qword [rdx + rcx*8]
and rdx, rax
xor rdx, r9
and r9b, 0x3f
mov cl, r9b
mov r9, rdx
ror r9, cl
imul r9, r8
not rsi
imul rsi, r11
movabs rax, 0x7cd8a7de652899cc
imul rsi, rax
mov rax, r9
imul rax, rdi
mov rdi, rsi
xor rdi, rax
imul rsi, qword [0x14035f060], 0xfffffffffea03e86
mov rdx, qword [0x14035f068]
sub rsi, rdx
mov al, dil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x1400214ea
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rsi, cl
movabs rax, 0x7f75205f038e18e1
add rsi, rax
add rsi, r13
movabs rcx, 0xff055d7b95639301
xor rbx, rcx
mov rax, r15
mul rbx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rbx, rax
xor r9, rdi
lea rax, [0x14035f060]
imul r9, qword [rax + rbx*8]
not r8
imul r8, r10
imul r8, rsi
imul r8, r14
movabs rcx, 0xf5ed7e8792d0d9dd
xor rcx, r11
not rcx
xor rcx, r8
sub rcx, r9
call fcn.14001ff04
mov qword [0x14036d998], rax
mov rax, qword [rbp - 0x30]
lea rcx, vtable.proc_api.0
mov rax, qword [rbp + 0x48]
mov qword [rax], rcx
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret