Function at 0x140021380
Capabilities:
Access peb ldr_data
Resolve function by parsing pe exports

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x58
xor r13d, r13d
mov dword [rbp + 0x48], r13d
mov dword [rbp + 0x48], 0xd1c70faf
mov eax, 0x53e628f6
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
xor eax, 0x4f9abeb2
sub eax, dword [0x14031d048]
mov r8, qword [0x14031d040]
lea ecx, [r8 + 0x4d36e9c4]
add ecx, eax
xor ecx, 0x195358c4
add ecx, 0x7c90ec5d
xor ecx, 0x2a7fb0c5
mov edx, dword [0x14031d030]
xor edx, 0x236a58e3
sub edx, ecx
mov eax, dword [0x14031d038]
xor eax, 0xdc95a71c
sub edx, eax
sub edx, r8d
sub edx, 0xf4cda52
xor edx, 0xfbccdd4
mov dword [rbp + 0x48], edx
mov dword [rbp + 0x48], r13d
mov ebx, r13d
mov edi, 0x100871a6
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 0x140021484
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0xc9a6e242
jmp 0x140021476
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 0x140021456
cmp r9d, ebx
jne 0x14002158d
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov rcx, qword [rcx + r10 + 0x88]
mov r11d, ecx
add r11, r10
shr rcx, 0x20
cmp r11, r10
je 0x14002158d
mov esi, dword [r11 + 0x18]
test esi, esi
je 0x14002158d
mov r12d, dword [r11 + 0x20]
dec esi
lea rdx, [r10 + rsi*4]
mov r9d, dword [rdx + r12]
add r9, r10
mov r14d, 0xc9a6e242
jmp 0x1400214ea
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 [r9]
inc r9
test dl, dl
jne 0x1400214cc
cmp r14d, edi
je 0x140021502
test esi, esi
jne 0x1400214b7
jmp 0x14002158d
mov edx, dword [r11 + 0x1c]
add rdx, r10
mov eax, dword [r11 + 0x24]
add rax, r10
movzx eax, word [rax + rsi*2]
mov r9d, dword [rdx + rax*4]
add r9, r10
cmp r9, r11
jbe 0x140021595
lea rax, [r11 + rcx]
cmp r9, rax
jae 0x140021595
mov ebx, 0xc9a6e242
mov edi, ebx
jmp 0x14002154f
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 r9
mov al, byte [r9]
cmp al, 0x2e
jne 0x140021532
jmp 0x140021572
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 r9
mov al, byte [r9]
test al, al
jne 0x140021558
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x14002142a
mov dword [rbp + 0x58], r13d
mov dword [rbp + 0x58], 0x9ddc83f5
mov eax, 0xb6408d6f
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
xor eax, 0x52a0253e
sub eax, dword [0x14031d048]
mov rcx, qword [0x14031d040]
add eax, 0xbd8f5cac
add eax, ecx
xor eax, 0x5bbbdfa0
sub eax, 0x81cf17e
xor eax, 0x3c1c0ace
lea edx, [rcx - 0x6964a304]
add edx, eax
not edx
mov eax, dword [0x14031d038]
xor eax, 0xd4a94312
sub edx, eax
mov r8d, dword [0x14031d030]
xor r8d, 0x2b56bced
add r8d, 0x45850928
add r8d, edx
xor r8d, 0xbc004faa
mov dword [rbp + 0x58], r8d
mov dword [rbp + 0x50], r13d
mov dword [rbp + 0x50], 0xca314768
mov eax, 0x8056c9ce
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
xor eax, 0x4e6f7c17
sub eax, dword [0x14031d048]
mov rcx, qword [0x14031d040]
add eax, 0x21ce5335
add eax, ecx
xor eax, 0x37853949
add eax, 0x3c12c101
xor eax, 0x6ffc148e
lea edx, [rcx + 0x1d6cc2dd]
add edx, eax
not edx
mov eax, dword [0x14031d038]
xor eax, 0xd8aa02b8
sub edx, eax
mov ecx, dword [0x14031d030]
xor ecx, 0x2755fd47
add ecx, 0x2a436ed2
add ecx, edx
xor ecx, 0xaee9908
mov dword [rbp + 0x50], ecx
movsxd rdx, ecx
lea rcx, str.user32.dll
call r9
mov rsi, rax
mov dword [rbp + 0x50], r13d
mov dword [rbp + 0x58], r13d
mov qword [rbp - 0x28], r13
movabs rax, 0x563ac3f1a0950fe2
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x30], r13
movabs rax, 0xef7aeecf67bda3b9
mov qword [rbp - 0x30], rax
movabs rax, 0xf4017364e7d25c0e
sub rax, qword [0x14031d050]
sub rax, qword [0x14031d058]
movabs rcx, 0xf8f8cd97ce7ae7c1
xor rax, rcx
sub rax, qword [0x14031d048]
movabs rcx, 0x47d654b8b6c9e593
add rcx, rax
mov rdi, qword [0x14031d040]
add rcx, rdi
movabs rax, 0x5a9179a7a7d110b9
xor rcx, rax
movabs rax, 0x5f627dc6da665f8c
sub rcx, rax
movabs rax, 0x63b3cd20cf9d3c2
xor rcx, rax
movabs rdx, 0x3483ce4422e2097d
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94adaa1f540
mov r10, qword [0x14031d038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b5255e0abf
mov r11, qword [0x14031d030]
mov rcx, r11
xor rcx, rax
movabs rax, 0xe0b56d90246de015
add rdx, rax
add rdx, rcx
movabs rax, 0x9d6a918dbfea7ac0
xor rdx, rax
mov qword [rbp - 0x30], rdx
movabs rax, 0xc3c11c4b3d7afcf8
sub rax, qword [0x14031d050]
sub rax, qword [0x14031d058]
movabs rcx, 0xf8f8cd974c3cb753
xor rax, rcx
sub rax, qword [0x14031d048]
movabs rcx, 0x7d654b808b6c74e
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179a7158b38db
xor rcx, rax
movabs rax, 0x5f627dc680fc0f9e
sub rcx, rax
movabs rax, 0x2a3b3cd1ccd73418
xor rcx, rax
movabs rax, 0xb483ce43a6267a9e
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94adca2ea2e
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b5235d15d1
xor r11, rax
movabs rax, 0xe0b56d9227658b83
add rcx, rax
add rcx, r11
movabs rax, 0x4438df0daecf58e
xor rcx, rax
mov qword [rbp - 0x28], rcx
and rcx, rdx
mov qword [rbp - 0x30], r13
mov qword [rbp - 0x28], r13
cmp rsi, rcx
jne 0x1400218d8
mov dword [rbp + 0x60], r13d
mov dword [rbp + 0x60], 0x31c4636f
mov eax, 0xb5661888
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
xor eax, 0xccf36725
sub eax, dword [0x14031d048]
mov r8, qword [0x14031d040]
lea ecx, [r8 - 0x4b415c7b]
add ecx, eax
xor ecx, 0xa61960c7
add ecx, 0x25e7f90b
xor ecx, 0x4c390a5d
mov edx, dword [0x14031d030]
xor edx, 0x255804d5
sub edx, ecx
mov eax, dword [0x14031d038]
xor eax, 0xdaa7fb2a
sub edx, eax
sub edx, r8d
lea eax, [rdx + 0x90ec020]
xor eax, 0xf620a1f2
mov dword [rbp + 0x60], eax
mov dword [rbp + 0x60], r13d
jmp 0x14002274a
movabs rax, 0x964000000000000
mov r12, qword [0x14031d080]
mov rsi, r12
imul rsi, rax
movabs rax, 0xc37b000000000000
xor rsi, rax
movabs r9, 0xd99f875535cf17c4
mov rcx, rsi
imul rcx, r9
movabs r8, 0xaaaaaaaaaaaaaaab
mov rax, r8
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea rbx, [0x14031d060]
mov rdi, rsi
and rdi, r9
imul rdi, qword [rbx + rcx*8]
movabs rax, 0xc17d86ddf96dcbe4
imul rdi, rax
shr rdi, 3
movabs rax, 0x28434415a2fed4c1
xor rdi, rax
movabs rax, 0xffffff57c9fbb257
mov r9, rsi
imul r9, rax
sub r9, 0x176c9bc
mov r15, qword [0x14031d060]
xor r9, r15
xor r9, rdi
mov rax, rdi
imul rax, qword [0x14031d070]
movabs rcx, 0xb9de928bc0480d76
imul rax, rcx
not rax
and r9, rax
ror r9, 3
shr r9, 8
movabs r14, 0x266078aaca30e83c
lea rcx, [rsi + r14]
xor rcx, 0xfffffffffec6067b
mov rax, r8
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x76fe201258df2a28
mov r10, qword [rbx + rcx*8]
imul r10, rax
sub r10, r14
movabs rcx, 0xc4a03522d47c2590
mov rax, rdi
imul rax, rcx
xor r10, rax
shr r10, 0x1f
not r10
mov r11, r10
xor r11, rsi
lea rcx, [r10 + r14]
mov rax, r8
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r10b
movzx ecx, byte [rbx + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x67
and ecx, 0x8000003f
jge 0x140021a40
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r11, cl
not r11
imul r11, rdi
imul r14, r11, 0xfffffffffe893644
movabs r8, 0x266078aaca30e83c
add r8, r14
mov rbx, r10
imul rbx, r9
sub rbx, r8
movabs rax, 0xb527ff2e65103ae9
xor rbx, rax
mov cl, r8b
xor cl, 0xf8
and cl, 0xf
rol rbx, cl
movabs rax, 0x371a19a029e9a810
imul r11, rax
movabs rax, 0xa2187966d331f0
add r11, rax
xor rbx, r11
mov rax, r8
sub rax, qword [0x14031d078]
xor rbx, rax
xor rbx, rdi
xor rbx, rsi
movabs rax, 0xaaaaaaaaaaaaaaab
mul rdi
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rdx, rdi
sub rdx, rax
mov rax, rbx
imul rax, r12
lea r12, [0x14031d060]
mov r11, qword [r12 + rdx*8]
and r11, rax
xor r11, rdi
and dil, 0x3f
mov cl, dil
ror r11, cl
imul r11, r8
not r9
imul r9, r10
movabs rax, 0x7cd8a7de7ba6e79a
imul r9, rax
mov rax, r11
imul rax, rsi
xor r9, rax
imul r8, r15, 0xfffffffffe893644
mov rdx, qword [0x14031d068]
sub r8, rdx
mov al, r9b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140021b42
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r8, cl
lea rcx, [r14 + r8]
movabs rax, 0xd99f875535cf17c4
imul rcx, rax
movabs rax, 0xa2187966d331f0
add rcx, rax
movabs rax, 0xd99f875535cf17c3
sub rax, r14
imul rcx, rax
imul rcx, rbx
movabs rax, 0xf5ed7e878c5ea78b
xor r10, rax
not r10
xor rcx, r10
xor r11, r9
imul r11, r15
sub rcx, r11
call fcn.14001d5fc
mov qword [0x140321f50], rax
mov edi, r13d
mov esi, 0xc4e6d7a6
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 0x140021c1b
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0xcbc15d7e
jmp 0x140021c0d
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 0x140021be7
cmp r10d, edi
jne 0x140021d3a
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 0x140021d3a
mov r14d, dword [rbx + 0x18]
test r14d, r14d
je 0x140021d3a
mov r13d, dword [rbx + 0x20]
dec r14d
lea rdx, [r14*4]
add rdx, r13
mov r11d, dword [rdx + r10]
add r11, r10
mov r15d, 0xcbc15d7e
jmp 0x140021c8e
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 0x140021c6b
cmp r15d, esi
je 0x140021caa
test r14d, r14d
jne 0x140021c4e
xor r13d, r13d
jmp 0x140021d3a
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov eax, dword [rbx + 0x24]
add rax, r10
movzx eax, word [rax + r14*2]
mov r9d, dword [rdx + rax*4]
add r9, r10
cmp r9, rbx
jbe 0x140021d42
lea rax, [rbx + rcx]
cmp r9, rax
jae 0x140021d42
mov edi, 0xcbc15d7e
mov esi, edi
jmp 0x140021cf6
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 r9
mov al, byte [r9]
cmp al, 0x2e
jne 0x140021cd9
inc r9
xor r13d, r13d
jmp 0x140021d22
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 r9
mov al, byte [r9]
test al, al
jne 0x140021d05
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140021bbb
xor r14d, r14d
mov dword [rbp - 0x34], r14d
mov dword [rbp - 0x34], 0x57291dd3
mov eax, 0xaa3e41ab
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
xor eax, 0x47efd044
sub eax, dword [0x14031d048]
mov rdx, qword [0x14031d040]
lea ecx, [rdx + 0x2f76140]
add ecx, eax
xor ecx, 0x10b6d2e6
sub ecx, 0x7dde39d5
xor ecx, 0x4ab9169f
mov r8d, dword [0x14031d030]
xor r8d, 0x234c25f5
sub r8d, ecx
mov eax, dword [0x14031d038]
xor eax, 0xdcb3da0a
sub r8d, eax
sub r8d, edx
sub r8d, 0x69e3cf05
xor r8d, 0x4f9b1d92
mov dword [rbp - 0x34], r8d
mov dword [rbp - 0x38], r14d
mov dword [rbp - 0x38], 0x67c238be
mov eax, 0x6d9effce
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
xor eax, 0x415bd16f
sub eax, dword [0x14031d048]
mov rcx, qword [0x14031d040]
add eax, 0x10540a32
add eax, ecx
xor eax, 0x28d58961
add eax, 0x451a5cb9
xor eax, 0x198b988d
lea edx, [rcx + 0x10e6ba03]
add edx, eax
not edx
mov eax, dword [0x14031d038]
xor eax, 0xd8dd8360
sub edx, eax
mov ecx, dword [0x14031d030]
xor ecx, 0x27227c9f
add ecx, 0x5e3796fa
add ecx, edx
xor ecx, 0xff718a0
mov dword [rbp - 0x38], ecx
movsxd rdx, ecx
lea rcx, str.win32u.dll
call r9
mov rsi, rax
mov dword [rbp - 0x38], r14d
mov dword [rbp - 0x34], r14d
mov qword [rbp - 0x18], r14
movabs rax, 0xb51d417ba8a190b0
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x20], r14
movabs rax, 0x9e6dc1374a869930
mov qword [rbp - 0x20], rax
movabs rax, 0xb51e21106e4665a1
sub rax, qword [0x14031d050]
sub rax, qword [0x14031d058]
movabs rcx, 0xf8f8cd9827462bf9
xor rax, rcx
sub rax, qword [0x14031d048]
movabs rcx, 0x47d654b92d771bd4
add rcx, rax
mov rdi, qword [0x14031d040]
add rcx, rdi
movabs rax, 0x5a9179a80b8a06b1
xor rcx, rax
movabs rax, 0x5f627dc6b6e08d64
sub rcx, rax
movabs rax, 0x763b3cd238b3562e
xor rcx, rax
movabs rdx, 0x3483ce4477eb989b
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94ad9443f08
mov r10, qword [0x14031d038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b526bbc0f7
mov r11, qword [0x14031d030]
mov rcx, r11
xor rcx, rax
movabs rax, 0xe0b56d8ec519f25d
add rdx, rax
add rdx, rcx
movabs rax, 0xb8dd51080af6d0b8
xor rdx, rax
mov qword [rbp - 0x20], rdx
movabs rax, 0xaea39dcf3bd4c4cb
sub rax, qword [0x14031d050]
sub rax, qword [0x14031d058]
movabs rcx, 0xf8f8cd9d5fc29b6b
xor rax, rcx
sub rax, qword [0x14031d048]
movabs rcx, 0x7d654c027baf5b3
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179ade8840db3
xor rcx, rax
movabs rax, 0x5f627dc655e20dc6
sub rcx, rax
movabs rax, 0x5a3b3cd4cad2d3d4
xor rcx, rax
movabs rax, 0xb483ce4977dcdbf4
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94ac4b48c16
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b53b4b73e9
xor r11, rax
movabs rax, 0xe0b56d7a60d9556b
add rcx, rax
add rcx, r11
movabs rax, 0x6e9d18263fb36206
xor rcx, rax
mov qword [rbp - 0x18], rcx
and rcx, rdx
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], r14
cmp rsi, rcx
jne 0x140022086
mov dword [rbp + 0x60], r14d
mov dword [rbp + 0x60], 0xfd405990
mov eax, 0x734273db
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
xor eax, 0xc45bfacd
sub eax, dword [0x14031d048]
mov r8, qword [0x14031d040]
lea ecx, [r8 - 0x56bcf998]
add ecx, eax
xor ecx, 0x9c7341af
add ecx, 0x1fab3833
xor ecx, 0x97fdfbb0
mov edx, dword [0x14031d030]
xor edx, 0x25362e7d
sub edx, ecx
mov eax, dword [0x14031d038]
xor eax, 0xdac9d182
sub edx, eax
sub edx, r8d
lea eax, [rdx + 0x33410d5e]
xor eax, 0x139ca87a
mov dword [rbp + 0x60], eax
mov dword [rbp + 0x60], r14d
jmp 0x14002274a
movabs rdi, 0x7561227d96f9d066
movabs rax, 0x23d870fcfe200000
movabs r14, 0x8c6e7f1d40439b4b
mov r11, qword [0x14031d070]
imul r11, rax
movabs rax, 0x9dcdff99e1300000
xor r11, rax
mov rcx, r11
imul rcx, r14
mov qword [rbp - 0x10], rcx
movabs r10, 0xaaaaaaaaaaaaaaab
mov rax, r10
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r11
and r9, r14
lea r15, [0x14031d060]
imul r9, qword [r15 + rcx*8]
movabs rax, 0x7eafa3451aa85b48
imul r9, rax
movabs rax, 0x120284aabd21ddc0
xor r9, rax
shr r9, 3
movabs rax, 0xffffff57cb95ef3f
mov rsi, r11
imul rsi, rax
sub rsi, 0x7f8b834
xor rsi, qword [0x14031d060]
xor rsi, r9
mov rax, r9
imul rax, qword [0x14031d070]
movabs rcx, 0xb9de928bc226501e
imul rax, rcx
not rax
and rsi, rax
ror rsi, 0x24
shr rsi, 8
movabs r8, 0x739180e2bfbc64b5
lea rcx, [r11 + r8]
xor rcx, 0xfffffffffca85b13
mov rax, r10
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x8d3a331efa92c58
mov rbx, qword [r15 + rcx*8]
imul rbx, rax
sub rbx, r8
movabs rcx, 0xf1dd48f61c3f3f88
mov rax, r9
imul rax, rcx
xor rbx, rax
shr rbx, 0x1f
not rbx
mov r12, rbx
xor r12, r11
lea rcx, [rbx + r8]
mov rax, r10
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, bl
movzx ecx, byte [r15 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xf
mov eax, 0x8000003f
and ecx, eax
jge 0x1400221f7
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r12, cl
not r12
imul r12, r9
imul r13, r12, 0xfffffffff80747cc
lea r10, [r8 + r13]
mov r8, rbx
imul r8, rsi
sub r8, r10
xor r8, rdi
movzx r15d, r10b
mov ecx, r15d
and ecx, 0xf
and ecx, eax
jge 0x14002222e
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r8, cl
mov rax, r10
sub rax, qword [0x14031d078]
xor r8, rax
movabs rax, 0x1d190d20dcfe8cc4
imul r12, rax
movabs rax, 0x2ffb787e2775e7f9
sub r12, rax
xor r8, r12
xor r8, r9
xor r8, r11
mov rax, r8
and eax, 3
je 0x1400225b6
sub rax, 1
je 0x140022476
sub rax, 1
je 0x14002237d
cmp rax, 1
jne 0x140022669
mov rdi, r10
imul rdi, rbx
movabs rax, 0x996c7a8f90482d8b
add rax, r8
xor rdi, rax
ror rdi, 0x1c
shr rdi, 0xc
xor rdi, r11
not rdi
movabs rcx, 0x835720d75e1c
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0x7313059ad4701a2b
xor rdx, rax
movzx eax, dil
movzx ecx, r8b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db97837b2e7
sub rax, rbx
mov rbx, rdx
xor rbx, rax
mov rcx, rbx
imul rcx, r14
mov eax, 0xa9ec600d
add rcx, rax
movabs r15, 0xaaaaaaaaaaaaaaab
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r12, [0x14031d060]
mov cl, byte [r12 + rcx*8]
and cl, 0xf
movabs r14, 0xf85b74345529d2ec
sub r14, rdi
shr r14, cl
movabs rcx, 0x7399a56b1b247577
add rcx, r13
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r8
imul rax, qword [r12 + rcx*8]
imul rax, r8
sub rax, rsi
xor r14, rax
jmp 0x140022670
movabs rax, 0xaaaaaa1aa9f59d33
mov rcx, r8
xor rcx, rax
movabs rax, 0x1206ed6bf8417f
imul rcx, rax
movabs rdx, 0xfff17ca87e97ab4f
mov rax, r9
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8a8fe5afef
imul r13, rax
movabs rbx, 0x4bf2a68a886fea
add rbx, rcx
add rbx, r13
movabs rax, 0x277cd7be7b254a53
mov rcx, rbx
xor rcx, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, rbx
not r10
lea r12, [0x14031d060]
imul r10, qword [r12 + rcx*8]
xor r10, 0xfffffffffca04be3
lea ecx, [r8 - 0xf]
and cl, 0x3f
rol r10, cl
movabs rcx, 0xcfa5c7fb6a58bead
mov rax, qword [rbp - 0x10]
xor rax, rcx
movabs rcx, 0x7c7a7dc695a74152
and rax, rcx
imul r10, rax
mov rcx, r10
ror rcx, 8
not rcx
movabs rax, 0x9b2de6b2d32721d0
imul rcx, rax
mov rax, rbx
sub rax, r10
lea rdx, [rcx + rax*4]
mov cl, sil
and cl, 0x3f
ror rdx, cl
mov rax, r14
mov r14, rdx
imul r14, rax
jmp 0x140022670
movabs rax, 0xc9f10defd582dd4b
imul r8, rax
movabs rax, 0xd79435e50d79435f
mul r8
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r8b
sub cl, dl
movabs rdx, 0x739180e2bfbc64b4
mov rax, r11
imul rax, rdx
xor rax, rdi
not rax
shl rax, cl
xor r9, rax
and r15d, 0x8000003f
jge 0x1400224d0
dec r15d
or r15d, 0xffffffc0
inc r15d
mov cl, r15b
rol r9, cl
movabs rcx, 0x739180e2bfbc64b5
add rcx, r8
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xffffff1d40439b4b
lea r12, [0x14031d060]
mov rax, qword [r12 + rcx*8]
imul rax, rdx
xor r9, rax
movabs rax, 0xffffc7a7f531eb1e
or r9, rax
mov r14, qword [0x14031d070]
imul r14, rdi
sub r14, r10
mov rax, rsi
sub rax, r9
xor r14, rax
movabs rax, 0xc7a7c6a6a439eb13
xor r14, rax
movabs rax, 0xcccccccccccccccd
mul r11
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, r11
sub rcx, rax
or rcx, 1
xor edx, edx
mov rax, r14
div rcx
mov rcx, rdx
mov rdx, r8
imul rdx, r10
imul rdx, r14
shr rdx, cl
mov rax, rbx
sub rax, rdx
sub rax, r11
movabs r11, 0x78958946b6ba709
add r11, rax
xor r11, rsi
movzx eax, bl
imul ecx, eax, 0xf6
and cl, 0x3f
rol r11, cl
not r11
jmp 0x140022670
movabs rax, 0xaaaaaaaaaaaaaaab
mul r9
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r9
sub rcx, rax
mov rax, r8
imul rax, qword [0x14031d080]
lea r12, [0x14031d060]
mov rdx, qword [r12 + rcx*8]
and rdx, rax
xor rdx, r9
and r9b, 0x3f
mov cl, r9b
mov r9, rdx
ror r9, cl
imul r9, r10
not rsi
imul rsi, rbx
movabs rax, 0x7cd8a7de79c8baf2
imul rsi, rax
mov rax, r9
imul rax, r11
mov r11, rsi
xor r11, rax
imul rsi, qword [0x14031d060], 0xfffffffff80747cc
mov rdx, qword [0x14031d068]
sub rsi, rdx
mov al, r11b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140022654
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rsi, cl
movabs rax, 0x739180e2bfbc64b5
add rsi, rax
add rsi, r13
jmp 0x140022670
lea r12, [0x14031d060]
movabs rcx, 0xff055d7b8983b03f
xor rdi, rcx
movabs rax, 0xaaaaaaaaaaaaaaab
mul rdi
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rdi, rax
xor r9, r11
imul r9, qword [r12 + rdi*8]
not r10
imul r10, r8
imul r10, rsi
imul r10, r14
movabs rcx, 0xf5ed7e878e30fae3
xor rcx, rbx
not rcx
xor rcx, r10
sub rcx, r9
call fcn.14001d620
mov qword [0x140321f70], rax
and dword [rbp + 0x60], 0
mov dword [rbp + 0x60], 0x956b1483
mov eax, 0xd34c3e87
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
xor eax, 0x3bb05655
sub eax, dword [0x14031d048]
mov rcx, qword [0x14031d040]
add eax, 0x48c0146f
add eax, ecx
xor eax, 0x22776977
add eax, 0x4a61d9db
xor eax, 0xe2c0d8a4
lea edx, [rcx - 0x7487586f]
add edx, eax
not edx
mov eax, dword [0x14031d038]
xor eax, 0xd8f3d7fa
sub edx, eax
mov eax, dword [0x14031d030]
xor eax, 0x270c2805
add eax, 0x74623d94
add eax, edx
xor eax, 0x8c3a47e2
mov dword [rbp + 0x60], eax
and dword [rbp + 0x60], 0
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret