Function at 0x14005109c
Capabilities:
Access peb ldr_data
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, 0x58
mov rsi, rcx
xor r14d, r14d
mov qword [rbp - 0x38], r14
movabs rax, 0xfec7227a2d505806
mov qword [rbp - 0x38], rax
mov qword [rbp + 0x60], r14
movabs rax, 0x1a88081f6bc935b7
mov qword [rbp + 0x60], rax
movabs rax, 0x36b8683536d872c7
sub rax, qword [0x14031d050]
sub rax, qword [0x14031d058]
movabs rcx, 0xf8f8cd97189b3221
xor rax, rcx
sub rax, qword [0x14031d048]
movabs rcx, 0x47d654b7c3b50de7
add rcx, rax
mov rdi, qword [0x14031d040]
add rcx, rdi
movabs rax, 0x5a9179a6db8eee19
xor rcx, rax
movabs rax, 0x5f627dc67569faec
sub rcx, rax
movabs rax, 0xc63b3cd1b36a8727
xor rcx, rax
movabs rdx, 0x3483ce4374b42955
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94add6e42e0
mov r10, qword [0x14031d038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b52291bd1f
mov r11, qword [0x14031d030]
mov rcx, r11
xor rcx, rax
movabs rax, 0xe0b56d92f347d5b5
add rdx, rax
add rdx, rcx
movabs rax, 0x9e311e40d8997920
xor rdx, rax
mov qword [rbp + 0x60], rdx
movabs rax, 0xc2f53ed33ed448b8
sub rax, qword [0x14031d050]
sub rax, qword [0x14031d058]
movabs rcx, 0xf8f8cd97db754133
xor rax, rcx
sub rax, qword [0x14031d048]
movabs rcx, 0x7d654b8c8225832
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179a7b66451bb
xor rcx, rax
movabs rax, 0x5f627dc6e063177e
sub rcx, rax
movabs rax, 0xea3b3cd2135dd83c
xor rcx, rax
movabs rax, 0xb483ce442f4fd356
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94ada6ed84e
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b5259127b1
xor r11, rax
movabs rax, 0xe0b56d8ff0df9123
add rcx, rax
add rcx, r11
movabs rax, 0xd3af1539b3c56fee
xor rcx, rax
mov qword [rbp - 0x38], rcx
and rcx, rdx
mov qword [rbp + 0x60], r14
mov qword [rbp - 0x38], r14
cmp rsi, rcx
je 0x140052241
movabs rsi, 0xf142fa8146647e77
movabs rax, 0x2ed4000000000000
movabs r14, 0x1211396901bcd8cc
mov rbx, qword [0x14031d060]
imul rbx, rax
movabs rax, 0x8d75000000000000
xor rbx, rax
mov rcx, rbx
imul rcx, r14
mov qword [rbp + 0x50], rcx
movabs r10, 0xaaaaaaaaaaaaaaab
mov rax, r10
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r12, [0x14031d060]
mov r8, rbx
and r8, r14
imul r8, qword [r12 + rcx*8]
movabs rax, 0x23f0c9150e682422
imul r8, rax
shr r8, 3
movabs rax, 0xa0f99b428daa7eb8
xor r8, rax
movabs rax, 0xffffff57cf0efc59
mov rdi, rbx
imul rdi, rax
sub rdi, 0xe392492
xor rdi, r8
xor rdi, qword [0x14031d060]
mov rax, r8
imul rax, qword [0x14031d070]
movabs rcx, 0xb9de928bc6bd4378
imul rax, rcx
not rax
and rdi, rax
ror rdi, 5
shr rdi, 8
movabs r9, 0xedeec696fe432734
lea rcx, [rbx + r9]
xor rcx, 0xfffffffff8334875
mov rax, r10
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x3fb6610b15d90c10
mov r11, qword [r12 + rcx*8]
imul r11, rax
add r11, r14
movabs rcx, 0xe89a0ce4b4bb50
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, r10
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
movzx ecx, byte [r12 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x69
mov eax, 0x8000003f
and ecx, eax
jge 0x1400513e7
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r15, cl
not r15
imul r15, r8
imul r13, r15, 0xfffffffff1c6db6e
lea r10, [r9 + r13]
mov r9, r11
imul r9, rdi
sub r9, r10
xor r9, rsi
movzx ecx, r10b
xor ecx, 6
and ecx, 0xf
and ecx, eax
jge 0x14005141e
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r9, cl
mov rax, r10
sub rax, qword [0x14031d078]
xor r9, rax
movabs rax, 0xbfa0c6f70663aba8
imul r15, rax
movabs rax, 0x8fb458bb38e290
sub r15, rax
xor r9, r15
xor r9, r8
xor r9, rbx
mov eax, 2
dec rax
sub rax, 1
movabs r15, 0xaaaaaaaaaaaaaaab
je 0x14005155f
cmp rax, 1
jne 0x14005164e
mov rsi, r10
imul rsi, r11
movabs rax, 0x843d36e4bc9c8914
add rax, r9
xor rsi, rax
ror rsi, 0x3e
shr rsi, 0xc
xor rsi, rbx
not rsi
movabs rcx, 0x8357244c4d7e
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0xed6c43ee91144aca
xor rdx, rax
movzx eax, r9b
movzx ecx, sil
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db97caca181
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
imul rcx, r14
mov eax, 0xad77736b
add rcx, rax
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, 0x8761ebf1504d48ad
sub r14, rsi
shr r14, cl
movabs rcx, 0xedf6eb1f5e362adc
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, rdi
xor r14, rax
jmp 0x140051655
movabs rax, 0xaaaaaa1aad6e8e55
mov rcx, r9
xor rcx, rax
movabs rax, 0x1206ed6f635219
imul rcx, rax
movabs rdx, 0xfff17ca87a0cb829
mov rax, r8
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8a8b7ebc89
imul r13, rax
movabs r11, 0x5f48fd7075d0e75d
add r11, rcx
add r11, r13
movabs rax, 0x277cd7be7fbe5935
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 r10, r11
not r10
lea r12, [0x14031d060]
imul r10, qword [r12 + rcx*8]
xor r10, 0xfffffffff83b5885
lea ecx, [r9 + 0x17]
and cl, 0x3f
rol r10, cl
movabs rcx, 0xd7b7f2396ec3adcb
mov rax, qword [rbp + 0x50]
xor rax, rcx
movabs rcx, 0x7c7a7dc6913c5234
and rax, rcx
imul r10, rax
mov rcx, r10
ror rcx, 0x3f
not rcx
movabs rax, 0x9b2de6b2c14b6c48
imul rcx, rax
mov rax, r11
sub rax, r10
lea rdx, [rcx + rax*4]
mov cl, dil
and cl, 0x3f
ror rdx, cl
mov rax, r14
mov r14, rdx
imul r14, rax
jmp 0x140051655
lea r12, [0x14031d060]
movabs rax, 0xff055d7b8d18a359
xor rsi, rax
mov rax, r15
mul rsi
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rsi, rax
xor r8, rbx
imul r8, qword [r12 + rsi*8]
not r10
imul r10, r9
imul r10, rdi
imul r10, r14
movabs rcx, 0xf5ed7e878aabe985
xor rcx, r11
not rcx
xor rcx, r10
sub rcx, r8
call fcn.14003f6e0
mov qword [0x140321f88], rax
xor r13d, r13d
mov ebx, r13d
mov esi, 0x4dff6ea6
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 0x14005172b
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0xe4766674
jmp 0x14005171d
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 0x1400516f7
cmp r10d, ebx
jne 0x140051834
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 0x140051834
mov edi, dword [r11 + 0x18]
test edi, edi
je 0x140051834
mov r12d, dword [r11 + 0x20]
dec edi
lea rdx, [r9 + rdi*4]
mov r10d, dword [rdx + r12]
add r10, r9
mov r14d, 0xe4766674
jmp 0x140051791
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 0x140051773
cmp r14d, esi
je 0x1400517a9
test edi, edi
jne 0x14005175e
jmp 0x140051834
mov edx, dword [r11 + 0x1c]
add rdx, r9
mov eax, dword [r11 + 0x24]
add rax, r9
movzx eax, word [rax + rdi*2]
mov r10d, dword [rdx + rax*4]
add r10, r9
cmp r10, r11
jbe 0x14005183c
lea rax, [r11 + rcx]
cmp r10, rax
jae 0x14005183c
mov ebx, 0xe4766674
mov esi, ebx
jmp 0x1400517f6
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 r10
mov al, byte [r10]
cmp al, 0x2e
jne 0x1400517d9
jmp 0x140051819
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 r10
mov al, byte [r10]
test al, al
jne 0x1400517ff
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x1400516cb
mov dword [rbp + 0x58], r13d
mov dword [rbp + 0x58], 0xa84246d4
mov eax, 0xa44bfcc0
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
xor eax, 0x24de4f54
sub eax, dword [0x14031d048]
mov rcx, qword [0x14031d040]
add eax, 0x9904e89e
add eax, ecx
xor eax, 0xa6603647
sub eax, 0x2a35642b
xor eax, 0x41d2d69b
lea edx, [rcx - 0x40899840]
add edx, eax
not edx
mov eax, dword [0x14031d038]
xor eax, 0xc59c7d80
sub edx, eax
mov r8d, dword [0x14031d030]
xor r8d, 0x3a63827f
add r8d, 0x49f2a987
add r8d, edx
xor r8d, 0x8dd4280
mov dword [rbp + 0x58], r8d
mov dword [rbp + 0x50], r13d
mov dword [rbp + 0x50], 0x929510fc
mov eax, 0x4ffad784
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
xor eax, 0xf45d7260
sub eax, dword [0x14031d048]
mov rdx, qword [0x14031d040]
lea ecx, [rdx + 0x1344fc60]
add ecx, eax
xor ecx, 0xb2db4de2
add ecx, 0x53f1322f
xor ecx, 0x5991e7d6
mov r9d, dword [0x14031d030]
xor r9d, 0x22030111
sub r9d, ecx
mov eax, dword [0x14031d038]
xor eax, 0xddfcfeee
sub r9d, eax
sub r9d, edx
add r9d, 0x3095a9d1
xor r9d, 0x5395dbce
mov dword [rbp + 0x50], r9d
movsxd rdx, r9d
mov rcx, qword [rbp + 0x48]
call r10
mov rsi, rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x10], rax
mov dword [rbp + 0x50], r13d
mov dword [rbp + 0x58], r13d
mov qword [rbp - 0x28], r13
movabs rax, 0x5d1acb0bf8185ce2
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x30], r13
movabs rax, 0x8bdc5dfdd7e07546
mov qword [rbp - 0x30], rax
movabs rax, 0xf3e48256abbe8eea
sub rax, qword [0x14031d050]
sub rax, qword [0x14031d058]
movabs rcx, 0xf8f8cd97f9ece5cb
xor rax, rcx
sub rax, qword [0x14031d048]
movabs rcx, 0x7d654b8f0dade07
add rcx, rax
mov rdi, qword [0x14031d040]
add rcx, rdi
movabs rax, 0x5a9179a7d89beb13
xor rcx, rax
movabs rax, 0x5f627dc6e87b48a6
sub rcx, rax
movabs rax, 0x1a3b3cd2225e9b39
xor rcx, rax
movabs rdx, 0xb483ce444c7d7bcc
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94ad9f6d9b6
mov r10, qword [0x14031d038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b526092649
mov r11, qword [0x14031d030]
mov rcx, r11
xor rcx, rax
movabs rax, 0xe0b56d8f7869030b
add rdx, rax
add rdx, rcx
movabs rax, 0xd98b825f771b18e6
xor rdx, rax
mov qword [rbp - 0x30], rdx
movabs rax, 0x58212720b1eaa369
sub rax, qword [0x14031d050]
sub rax, qword [0x14031d058]
movabs rcx, 0xf8f8cd981085ab65
xor rax, rcx
sub rax, qword [0x14031d048]
movabs rcx, 0xc7d654b90f0e6ffa
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179a7f1fca97d
xor rcx, rax
movabs rax, 0x5f627dc6f6202f30
sub rcx, rax
movabs rax, 0x4e3b3cd22d7f3077
xor rcx, rax
movabs rax, 0x3483ce44622183de
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94ad99dda9c
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b526622563
xor r11, rax
movabs rax, 0xe0b56d8f1f4ee9f1
add rcx, rax
add rcx, r11
movabs rax, 0x7b63be92d05c1654
xor rcx, rax
mov qword [rbp - 0x28], rcx
and rcx, rdx
mov qword [rbp - 0x30], r13
mov qword [rbp - 0x28], r13
cmp rsi, rcx
je 0x140052241
mov rax, qword [0x140322020]
mov rcx, qword [0x140322028]
jmp 0x140051b2b
cmp qword [rax], rsi
je 0x140051e2d
add rax, 0x10
cmp rax, rcx
jne 0x140051b1e
movabs rdi, 0x9544ae28d9688418
movabs rsi, 0x6cb7d340233a9149
movabs rax, 0xe2687670f42d8000
mov r11, qword [0x14031d070]
imul r11, rax
movabs rax, 0x8a9dcde8401c7000
xor r11, rax
mov rcx, r11
imul rcx, rsi
mov qword [rbp - 0x18], 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, rsi
lea r15, [0x14031d060]
imul r9, qword [r15 + rcx*8]
movabs rax, 0x45a47e2553c8d840
imul r9, rax
shr r9, 3
movabs rax, 0x210b72933380bf9e
xor r9, rax
movabs rax, 0xffffff57cae870eb
mov r14, r11
imul r14, rax
sub r14, 0x22085a8
xor r14, r9
xor r14, qword [0x14031d060]
mov rax, r9
imul rax, qword [0x14031d070]
movabs rcx, 0xb9de928bc35bcfca
imul rax, rcx
not rax
and r14, rax
ror r14, 0x32
shr r14, 8
movabs r8, 0x93482cbfdcc56eb7
lea rcx, [r11 + r8]
xor rcx, 0xfffffffffdd5c4c7
mov rax, r10
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x849d8a0baef96150
mov rbx, qword [r15 + rcx*8]
imul rbx, rax
add rbx, rsi
movabs rcx, 0x39789a1d9c3d0b60
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, 0xdb
mov eax, 0x8000003f
and ecx, eax
jge 0x140051ca4
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r12, cl
not r12
imul r12, r9
imul r13, r12, 0xfffffffffddf7a58
lea r10, [r8 + r13]
mov r8, rbx
imul r8, r14
sub r8, r10
xor r8, rdi
movzx r15d, r10b
mov ecx, r15d
xor ecx, 4
and ecx, 0xf
and ecx, eax
jge 0x140051cde
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r8, cl
mov rax, r10
sub rax, qword [0x14031d078]
xor r8, rax
movabs rax, 0x3e522f26b8f5bb18
imul r12, rax
movabs rax, 0x7bfe0ba01d87c6d1
sub r12, rax
xor r8, r12
xor r8, r9
xor r8, r11
mov rax, r8
and eax, 1
je 0x14005206d
sub rax, 1
je 0x140051f2a
sub rax, 1
movabs r15, 0xaaaaaaaaaaaaaaab
je 0x140051e38
cmp rax, 1
jne 0x140052123
mov rdi, r10
imul rdi, rbx
movabs rax, 0x22a3cfcb4a7b43fd
add rax, r8
xor rdi, rax
ror rdi, 8
shr rdi, 0xc
xor rdi, r11
not rdi
movabs rcx, 0x835721aac1d0
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0x93caa9c7b6748ffd
xor rdx, rax
movzx eax, dil
movzx ecx, r8b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db9794a2d33
sub rax, rbx
mov rbx, rdx
xor rbx, rax
mov rcx, rbx
imul rcx, rsi
mov eax, 0xa891ffd9
add rcx, rax
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 rsi, 0x41533dfb04ac3506
sub rsi, rdi
shr rsi, cl
movabs rcx, 0x9350514836dafdcd
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, r14
xor rsi, rax
jmp 0x14005212a
inc dword [rax + 8]
mov rax, rsi
jmp 0x140052243
movabs rax, 0xaaaaaa1aa88802e7
mov rcx, r8
xor rcx, rax
movabs rax, 0x1206ed6a85deab
imul rcx, rax
movabs rdx, 0xfff17ca87fea349b
mov rax, r9
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8a8e98303b
imul r13, rax
movabs rbx, 0x389b2170b3830468
add rbx, rcx
add rbx, r13
movabs rax, 0x277cd7be7a58d587
mov rcx, rbx
xor rcx, rax
mov rax, r15
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, 0xfffffffffdddd437
lea ecx, [r8 - 0x1b]
and cl, 0x3f
rol r10, cl
movabs rcx, 0xe7d7ef7deb252179
mov rax, qword [rbp - 0x18]
xor rax, rcx
movabs rcx, 0x7c7a7dc694dade86
and rax, rcx
imul r10, rax
mov rcx, r10
ror rcx, 0x22
not rcx
movabs rax, 0x9b2de6b2d6d15e80
imul rcx, rax
mov rax, rbx
sub rax, r10
lea rdx, [rcx + rax*4]
mov cl, r14b
and cl, 0x3f
ror rdx, cl
mov rax, rsi
mov rsi, rdx
imul rsi, rax
jmp 0x14005212a
movabs rax, 0x5752932ae9288e63
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, 0x93482cbfdcc56eb6
mov rax, r11
imul rax, rdx
xor rax, rdi
not rax
shl rax, cl
xor r9, rax
and r15d, 0x8000003f
jge 0x140051f84
dec r15d
or r15d, 0xffffffc0
inc r15d
mov cl, r15b
rol r9, cl
movabs rcx, 0x93482cbfdcc56eb7
add rcx, r8
movabs r15, 0xaaaaaaaaaaaaaaab
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x1340233a9149
lea r12, [0x14031d060]
mov rax, qword [r12 + rcx*8]
imul rax, rdx
xor r9, rax
movabs rax, 0xffffc7a7f44c74ca
or r9, rax
mov rsi, qword [0x14031d070]
imul rsi, rdi
sub rsi, r10
mov rax, r14
sub rax, r9
xor rsi, rax
movabs rax, 0xc7a7c6a6a54474c7
xor rsi, 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, rsi
div rcx
mov rcx, rdx
mov rdx, r8
imul rdx, r10
imul rdx, rsi
shr rdx, cl
mov rax, rbx
sub rax, rdx
sub rax, r11
movabs r11, 0x78958946a1638dd
add r11, rax
xor r11, r14
movzx eax, bl
imul ecx, eax, 0xe2
and cl, 0x3f
rol r11, cl
not r11
jmp 0x14005212a
movabs r15, 0xaaaaaaaaaaaaaaab
mov rax, r15
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 r14
imul r14, rbx
movabs rax, 0x7cd8a7de78b52526
imul r14, rax
mov rax, r9
imul rax, r11
mov r11, r14
xor r11, rax
imul r14, qword [0x14031d060], 0xfffffffffddf7a58
mov rdx, qword [0x14031d068]
sub r14, rdx
mov al, r11b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14005210e
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r14, cl
movabs rax, 0x93482cbfdcc56eb7
add r14, rax
add r14, r13
jmp 0x14005212a
lea r12, [0x14031d060]
movabs rcx, 0xff055d7b88fe2feb
xor rdi, rcx
mov rax, r15
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, r14
imul r10, rsi
movabs rcx, 0xf5ed7e878f4d6537
xor rcx, rbx
not rcx
xor rcx, r10
sub rcx, r9
call fcn.1400011ac
mov qword [0x140321f78], rax
and dword [rbp + 0x48], 0
mov dword [rbp + 0x48], 0x7fb12ae8
mov eax, 0x587f9695
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
xor eax, 0x16c59e09
sub eax, dword [0x14031d048]
mov rcx, qword [0x14031d040]
add eax, 0x9768d444
add eax, ecx
xor eax, 0xf90186cb
add eax, 0x548e5827
xor eax, 0x38930c59
lea edx, [rcx + 0x681dc5d6]
add edx, eax
not edx
mov eax, dword [0x14031d038]
xor eax, 0xd9853d46
sub edx, eax
mov ecx, dword [0x14031d030]
xor ecx, 0x267ac2b9
add ecx, 0x65b2ee1
add ecx, edx
xor ecx, 0xc1145396
mov dword [rbp + 0x48], ecx
mov dword [rbp + 0x60], ecx
mov rdx, qword [0x140322028]
cmp rdx, qword [0x140322030]
je 0x140052223
mov rax, qword [rbp - 0x20]
mov qword [rdx], rax
mov dword [rdx + 8], ecx
add qword [0x140322028], 0x10
jmp 0x14005223b
lea r9, [rbp + 0x60]
lea r8, [rbp - 0x10]
lea rcx, [0x140322020]
call fcn.14003f1e8
mov rax, qword [rbp - 0x20]
and dword [rbp + 0x48], 0
jmp 0x140052243
xor eax, eax
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret