Function at 0x14001feec
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, 0x4e0d48dfadce83e9
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x50], rdx
movabs rax, 0x2eee7efdacea3a4b
mov qword [rbp + 0x50], rax
movabs rax, 0x94dee356aeb91c79
sub rax, qword [0x14033d050]
sub rax, qword [0x14033d058]
movabs rcx, 0xf8f8cd97caaa80fc
xor rax, rcx
sub rax, qword [0x14033d048]
movabs rcx, 0xe7d654b8b1b0e610
add rcx, rax
mov rdi, qword [0x14033d040]
add rcx, rdi
movabs rax, 0x5a9179a7a3887dcc
xor rcx, rax
movabs rax, 0x5f627dc6e38314a9
sub rcx, rax
movabs rax, 0xfc3b3cd20b190517
xor rcx, rax
movabs rdx, 0xf483ce441f3af1e6
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94adab0fac5
mov r10, qword [0x14033d038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b5254f053a
mov r11, qword [0x14033d030]
mov rcx, r11
xor rcx, rax
movabs rax, 0xe0b56d903344729a
add rdx, rax
add rdx, rcx
movabs rax, 0xb29d9d5fdcc9a9a2
xor rdx, rax
mov qword [rbp + 0x50], rdx
movabs rax, 0x2773a9782794db07
sub rax, qword [0x14033d050]
sub rax, qword [0x14033d058]
movabs rcx, 0xf8f8cd9854753ba6
xor rax, rcx
sub rax, qword [0x14033d048]
movabs rcx, 0xa7d654b969daee51
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179a83e48b9c6
xor rcx, rax
movabs rax, 0x5f627dc6c8289f7b
sub rcx, rax
movabs rax, 0x503b3cd24ef347b7
xor rcx, rax
movabs rax, 0x7483ce44a331481d
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94ad8924a9b
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b5276db564
xor r11, rax
movabs rax, 0xe0b56d8e12b398f0
add rcx, rax
add rcx, r11
movabs rax, 0xcb929d9a68e3bb8c
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 0x140021460
xor ebx, ebx
mov edi, 0xb9591348
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 ebx, ebx
je 0x14002014a
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0xcce35194
jmp 0x14002013c
movsx edx, byte [r8]
mov ecx, edx
imul ecx, edx
add ecx, 0x31
xor ecx, 0x4764996c
xor edx, r9d
mov r9d, ecx
imul r9d, edx
add r8, 2
cmp r8, r10
jne 0x14002011c
cmp r9d, ebx
jne 0x140020252
mov r9, qword [rax + 0x30]
movsxd rcx, dword [r9 + 0x3c]
mov rcx, qword [rcx + r9 + 0x88]
mov r11d, ecx
add r11, r9
shr rcx, 0x20
cmp r11, r9
je 0x140020252
mov esi, dword [r11 + 0x18]
test esi, esi
je 0x140020252
mov r12d, dword [r11 + 0x20]
dec esi
lea rdx, [r9 + rsi*4]
mov r10d, dword [rdx + r12]
add r10, r9
mov r14d, 0xcce35194
jmp 0x1400201b0
movsx r8d, dl
mov edx, r8d
imul edx, r8d
add edx, 0x31
xor edx, 0x4764996c
xor r8d, r14d
mov r14d, edx
imul r14d, r8d
mov dl, byte [r10]
inc r10
test dl, dl
jne 0x140020192
cmp r14d, edi
je 0x1400201c8
test esi, esi
jne 0x14002017d
jmp 0x140020252
mov edx, dword [r11 + 0x1c]
add rdx, r9
mov eax, dword [r11 + 0x24]
add rax, r9
movzx eax, word [rax + rsi*2]
mov r13d, dword [rdx + rax*4]
add r13, r9
cmp r13, r11
jbe 0x14002025a
lea rax, [rcx + r11]
cmp r13, rax
jae 0x14002025a
mov ebx, 0xcce35194
mov edi, ebx
jmp 0x140020215
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, 0x4764996c
mov eax, ebx
xor eax, ecx
mov ebx, edx
imul ebx, eax
inc r13
mov al, byte [r13]
cmp al, 0x2e
jne 0x1400201f8
jmp 0x140020236
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, 0x4764996c
xor ecx, edi
mov edi, eax
imul edi, ecx
inc r13
mov al, byte [r13]
test al, al
jne 0x14002021f
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x1400200f0
and dword [rbp + 0x58], 0
mov dword [rbp + 0x58], 0x7cf95912
mov eax, 0x76d35a13
sub eax, dword [0x14033d058]
sub eax, dword [0x14033d050]
xor eax, 0x333dbcc4
sub eax, dword [0x14033d048]
mov rcx, qword [0x14033d040]
add eax, 0x5d75ae92
add eax, ecx
xor eax, 0x18faa55e
add eax, 0x40d8789a
xor eax, 0x3c97ebf9
lea edx, [rcx + 0x43618c9f]
add edx, eax
not edx
mov eax, dword [0x14033d038]
xor eax, 0xd9151d4b
sub edx, eax
mov r12d, dword [0x14033d030]
xor r12d, 0x26eae2b4
add r12d, 0x960ad3e6
add r12d, edx
xor r12d, 0x2f42cebc
mov dword [rbp + 0x58], r12d
and dword [rbp + 0x50], 0
mov dword [rbp + 0x50], 0x7688bd33
mov eax, 0x6cae2662
sub eax, dword [0x14033d058]
sub eax, dword [0x14033d050]
xor eax, 0x4f3c7d39
sub eax, dword [0x14033d048]
mov rdx, qword [0x14033d040]
lea ecx, [rdx + 0x6cb8efcc]
add ecx, eax
xor ecx, 0x18e97d83
add ecx, 0x7cba03f4
xor ecx, 0xb85146bf
mov r15d, dword [0x14033d030]
xor r15d, 0x2368e5aa
sub r15d, ecx
mov eax, dword [0x14033d038]
xor eax, 0xdc971a55
sub r15d, eax
sub r15d, edx
add r15d, 0x32841e03
xor r15d, 0xf86d8572
mov dword [rbp + 0x50], r15d
mov rax, qword [rbp + 0x48]
mov r14, qword [rax + 0x10]
and qword [rbp - 0x38], 0
movabs rax, 0xe5f2ec10945f8efb
mov qword [rbp - 0x38], rax
and qword [rbp + 0x60], 0
movabs rax, 0xfcbb3c6f110d6c4f
mov qword [rbp + 0x60], rax
movabs rax, 0x97d9042532930a78
sub rax, qword [0x14033d050]
sub rax, qword [0x14033d058]
movabs rcx, 0xf8f8cd982cf93104
xor rax, rcx
sub rax, qword [0x14033d048]
movabs rcx, 0xe7d654b935152507
add rcx, rax
mov rsi, qword [0x14033d040]
add rcx, rsi
movabs rax, 0x5a9179a811f09e14
xor rcx, rax
movabs rax, 0x5f627dc6bcd0bf41
sub rcx, rax
movabs rax, 0xc3b3cd23b81cc73
xor rcx, rax
movabs rdx, 0xf483ce447d60e358
add rdx, rcx
add rdx, rsi
not rdx
movabs rcx, 0x13cce94ad92dccbd
mov r10, qword [0x14033d038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b526d23342
mov r11, qword [0x14033d030]
mov rcx, r11
xor rcx, rax
movabs rdi, 0xe0b56d8eae913d12
add rdi, rdx
add rdi, rcx
movabs rax, 0xeb9202271ea26fba
xor rdi, rax
mov qword [rbp - 0x38], rdi
movabs rax, 0x2301b4c512b73036
sub rax, qword [0x14033d050]
sub rax, qword [0x14033d058]
movabs rcx, 0xf8f8cd974963ff0a
xor rax, rcx
sub rax, qword [0x14033d048]
movabs rcx, 0x27d654b804e8d100
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a71258d04a
xor rcx, rax
movabs rax, 0x5f627dc67e2c1417
sub rcx, rax
movabs rax, 0x183b3cd1cb705c8c
xor rcx, rax
movabs r9, 0x7483ce43a36c96ee
add r9, rcx
add r9, rsi
not r9
movabs rax, 0x13cce94adcae2037
xor r10, rax
sub r9, r10
movabs rax, 0xec3316b52351dfc8
xor r11, rax
movabs rbx, 0xe0b56d923264c28c
add rbx, r9
add rbx, r11
movabs rax, 0x21009b1acc8013f8
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 0x140021460
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 [0x14033d070]
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, [0x14033d060]
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 [0x14033d060]
mov rax, r8
imul rax, qword [0x14033d070]
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 0x1400206b2
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
mov rax, rdi
sub rax, qword [0x14033d078]
xor r9, rax
movabs rax, 0x26ee63228f3d8326
imul r15, rax
movabs rax, 0x2ee49f6d274b4ef1
sub r15, rax
xor r9, r15
xor r9, r8
xor r9, rbx
mov rax, r9
xor rax, 0xfffffffffffffffe
movabs rcx, 0xd79435e50d79435f
and eax, 3
movabs r15, 0xaaaaaaaaaaaaaaab
je 0x140020a4d
sub rax, 1
je 0x140020928
sub rax, 1
je 0x14002083a
cmp rax, 1
jne 0x140020af6
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 [0x14033d088]
add rdx, rcx
movabs rax, 0x629d37c9c1d9193d
xor rdx, rax
movzx eax, r9b
movzx ecx, r14b
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, [0x14033d060]
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 0x140020af6
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, [0x14033d060]
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 0x140020af6
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, [0x14033d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r8, rax
movabs rax, 0xffffc7a7f59bd4e4
or r8, rax
mov rsi, qword [0x14033d070]
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 0x140020af6
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 [0x14033d080]
lea rdx, [0x14033d060]
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 [0x14033d060], 0xfffffffffe4a286a
mov rdx, qword [0x14033d068]
sub r10, rdx
mov al, bl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140020ae3
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, [0x14033d060]
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.14001fb90
mov qword [0x14034b9e8], rax
xor r15d, r15d
mov dword [rbp + 0x50], r15d
mov dword [rbp + 0x50], 0x5d0dca22
mov eax, 0x96870a4a
sub eax, dword [0x14033d058]
sub eax, dword [0x14033d050]
xor eax, 0xa02b520c
sub eax, dword [0x14033d048]
mov rdx, qword [0x14033d040]
lea ecx, [rdx - 0x671b8c5f]
add ecx, eax
xor ecx, 0x73ce54e6
add ecx, 0x274844e2
xor ecx, 0x842bce7f
mov r8d, dword [0x14033d030]
xor r8d, 0x24a7a5fc
sub r8d, ecx
mov eax, dword [0x14033d038]
xor eax, 0xdb585a03
sub r8d, eax
sub r8d, edx
add r8d, 0x2500c83e
xor r8d, 0xf189f4
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.140021480
mov dword [rbp + 0x58], r15d
mov dword [rbp + 0x58], 0x28725a06
mov qword [rbp - 0x38], r15
movabs rax, 0x3b6cc25156d82a89
mov qword [rbp - 0x38], rax
mov qword [rbp + 0x60], r15
movabs rax, 0x594e82901d6162d7
mov qword [rbp + 0x60], rax
movabs rax, 0x28bedea589d0c7f7
mov r11, qword [0x14033d050]
sub rax, r11
mov r9, qword [0x14033d058]
sub rax, r9
movabs rcx, 0xf8f8cd97de8edf96
xor rax, rcx
mov r10, qword [0x14033d048]
sub rax, r10
movabs rcx, 0xa7d654b8cc470be3
add rcx, rax
mov rbx, qword [0x14033d040]
add rcx, rbx
movabs rax, 0x5a9179a7b9df9d36
xor rcx, rax
movabs rax, 0x5f627dc6e648e06b
sub rcx, rax
movabs rax, 0x303b3cd214e4a507
xor rcx, rax
movabs rdx, 0x7483ce443247de39
add rdx, rcx
add rdx, rbx
not rdx
movabs rcx, 0x13cce94ada62a2ab
mov r8, qword [0x14033d038]
mov rax, r8
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b5259d5d54
mov rsi, qword [0x14033d030]
mov rcx, rsi
xor rcx, rax
movabs r14, 0xe0b56d8fe4ddc100
add r14, rdx
add r14, rcx
movabs rax, 0xc23da2ccf7547f1c
xor r14, rax
mov qword [rbp + 0x60], r14
movabs rax, 0xb4531eeac6d263d8
sub rax, r11
sub rax, r9
movabs rcx, 0xf8f8cd975b7c334c
xor rax, rcx
sub rax, r10
movabs rcx, 0xe7d654b81d17ef76
add rcx, rax
add rcx, rbx
movabs rax, 0x5a9179a726ab229c
xor rcx, rax
movabs rax, 0x5f627dc6830ad4f9
sub rcx, rax
movabs rax, 0x9c3b3cd1d4596354
xor rcx, rax
movabs rdx, 0xf483ce43b4c0d0da
add rdx, rcx
add rdx, rbx
not rdx
movabs rcx, 0x13cce94adc66dc75
mov rax, r8
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b52399238a
mov rcx, rsi
xor rcx, rax
movabs rdi, 0xe0b56d91eb1bc44a
add rdi, rdx
add rdi, rcx
movabs rax, 0xcd35b4d3a083d612
xor rdi, rax
mov qword [rbp - 0x38], rdi
mov eax, 0x8e14ef68
sub eax, r9d
sub eax, r11d
xor eax, 0x9de1a5e6
sub eax, r10d
lea ecx, [rbx + 0x55d5ad8c]
add ecx, eax
xor ecx, 0x713c9390
add ecx, 0x28bfac20
xor ecx, 0x370b67ba
xor esi, 0x249ea356
sub esi, ecx
xor r8d, 0xdb615ca9
sub esi, r8d
sub esi, ebx
sub esi, 0x4fc0aa3e
xor esi, 0xa502bbc6
mov dword [rbp + 0x58], esi
mov eax, dword [0x14035ba24]
test eax, eax
jne 0x140020e02
mov eax, r15d
jmp 0x140020e1f
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.140291760
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 [0x14033d078]
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, [0x14033d060]
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 [0x14033d060]
mov rax, r9
imul rax, qword [0x14033d070]
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 0x140020fb7
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 [0x14033d078]
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 0x140021351
sub rax, 1
je 0x14002122b
sub rax, 1
je 0x14002113d
cmp rax, 1
jne 0x1400213fb
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 [0x14033d088]
add rdx, rcx
movabs rax, 0x7ff7a52774a24541
xor rdx, rax
movzx eax, bl
movzx ecx, r10b
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, [0x14033d060]
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 0x1400213fb
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, [0x14033d060]
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 0x1400213fb
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, [0x14033d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r9, rax
movabs rax, 0xffffc7a7e9d1c820
or r9, rax
mov r14, qword [0x14033d070]
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 0x1400213fb
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 [0x14033d080]
lea rdx, [0x14033d060]
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 [0x14033d060], 0xfffffffffea03e86
mov rdx, qword [0x14033d068]
sub rsi, rdx
mov al, dil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x1400213e8
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, [0x14033d060]
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.14001fdf4
mov qword [0x14034b998], 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