Function at 0x14001a330
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
mov eax, 0x1b38
call fcn.140093bc0
sub rsp, rax
lea rbp, [rsp + 0x80]
and rsp, 0xffffffffffffffc0
mov dword [rsp + 0x3c], r9d
mov esi, r8d
mov r12, rdx
mov r14, rcx
mov eax, dword [rcx + 0x264]
mov qword [rsp + 0xa8], rax
lea rax, [rsp + 0x520]
mov qword [rdx + 0x40], rax
mov rax, qword [rdx]
mov dword [rax], 0
mov rax, qword [rcx + 0x250]
mov qword [rsp + 0x88], rax
mov rax, qword [rcx + 0x258]
mov rcx, qword [rax + 0x30]
or rcx, qword [rax + 0x38]
setne byte [rdx + 0x30]
mov r8d, dword [rdx + 0x10]
lea rdx, [rsp + 0x74]
mov rcx, r14
call fcn.140004570
test al, al
jne 0x14001b06d
mov r8d, dword [r12 + 0x10]
movzx eax, byte [r12 + 0x30]
cmp r8d, 0xf6
jge 0x14001b0b0
mov dword [rsp + 0x30], esi
mov ecx, dword [rbp + 0x1b20]
test al, al
sete byte [rsp + 0x28]
test ecx, ecx
sets r13b
mov rcx, qword [r14 + 0x258]
mov r15, qword [rcx + 0x20]
mov esi, dword [rcx + 0x14]
cmp esi, 0xe
jge 0x14001af98
mov r9, qword [0x142209580]
mov rdx, r15
mulx r10, r10, qword [0x142209578]
shl r10, 5
lea rdx, [r9 + r10]
cmp word [r9 + r10], r15w
mov qword [rsp + 0x40], r12
je 0x14001a51c
movzx r11d, byte [rdx + 2]
test r11d, r11d
je 0x14001a51c
lea rdi, [rdx + 0xa]
mov r10d, 1
cmp word [rdx + 0xa], r15w
je 0x14001a522
movzx ebx, byte [rdx + 0xc]
test ebx, ebx
je 0x14001a522
lea r9, [rdx + 0x14]
mov r10d, 2
cmp word [rdx + 0x14], r15w
je 0x14001af48
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x50], rdi
movzx r9d, byte [rdx + 0x16]
test r9d, r9d
je 0x14001af3e
movzx r8d, byte [0x142209588]
add r8d, 0x107
movzx r10d, byte [rdx + 3]
mov r12, r15
mov r15d, r8d
sub r15d, r10d
and r15d, 0xf8
sub r11d, r15d
movzx r10d, byte [rdx + 0xd]
mov r15d, r8d
sub r15d, r10d
and r15d, 0xf8
sub ebx, r15d
mov r15, r12
mov r12, qword [rsp + 0x40]
cmp r11d, ebx
mov rdi, qword [rsp + 0x50]
cmovle rdi, rdx
movzx r10d, byte [rdi + 2]
movzx r11d, byte [rdi + 3]
mov ebx, r8d
sub ebx, r11d
and ebx, 0xf8
sub r10d, ebx
movzx edx, byte [rdx + 0x17]
sub r8d, edx
and r8d, 0xf8
sub r9d, r8d
cmp r10d, r9d
cmovg rdi, qword [rsp + 0x58]
mov byte [r12 + 0x32], 0
jmp 0x14001acdc
xor r10d, r10d
mov rdi, rdx
lea r9, [r10 + r10*4]
movzx r10d, byte [rdx + r9*2 + 3]
and r10b, 7
or r10b, byte [0x142209588]
mov byte [rdx + r9*2 + 3], r10b
cmp byte [rdx + r9*2 + 2], 0
setne byte [r12 + 0x32]
je 0x14001acdc
movsx ebx, word [rdi + 6]
cmp ebx, 0x7d02
je 0x14001acd2
cmp ebx, 0x7c0a
jge 0x14001afc1
cmp ebx, 0xffff83f6
jle 0x14001b076
movzx ecx, byte [rdi + 3]
and cl, 4
shr cl, 2
mov dword [rsp + 0x34], ecx
movzx esi, word [rdi + 4]
test al, al
jne 0x14001aeb9
movsx eax, word [rdi + 8]
mov dword [r12 + 0x24], eax
cmp eax, 0x7d02
je 0x14001b0c9
cmp ebx, 0x7d02
je 0x14001aeb2
movzx edx, byte [rdi + 3]
xor ecx, ecx
cmp ebx, eax
setg cl
inc ecx
test edx, ecx
cmove ebx, eax
cmp ebx, dword [rsp + 0x3c]
jge 0x14001ac59
mov ecx, dword [rsp + 0x30]
cmp ebx, ecx
cmovg ecx, ebx
mov dword [rsp + 0x30], ecx
add eax, 0x68
movzx ecx, byte [rsp + 0x28]
mov dword [rsp + 0x58], eax
and r13b, cl
mov rax, qword [r12 - 0x38]
mov qword [rsp + 0x90], rax
mov rax, qword [r12 - 0x78]
mov qword [rsp + 0x98], rax
mov eax, dword [r12 - 0x2c]
mov dword [rsp + 0x28], 0x5a
test eax, eax
mov qword [rsp + 0x80], r15
mov qword [rsp + 0x50], rdi
je 0x14001a62e
cmp eax, 0x81
je 0x14001a62e
and eax, 0x7f
mov dword [rsp + 0x28], eax
movzx r13d, r13b
mov rdx, qword [rsp + 0x88]
lea rax, [rdx + 0x6ce8]
lea rcx, [rdx + 0x16ce8]
add rdx, 0xfee6e8
mov qword [rsp + 0xb0], r14
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], rcx
lea rax, [rsp + 0x90]
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], rdx
mov dword [rsp + 0xd8], esi
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x114], eax
mov eax, dword [rbp + 0x1b20]
mov dword [rsp + 0x11c], eax
mov rax, qword [r14 + 0x258]
mov rdi, qword [rax + 0x30]
mov r15, qword [rax + 0x38]
mov eax, 1
test esi, esi
jne 0x14001af75
lea rcx, [r12 + 0x40]
mov qword [rsp + 0xa0], rcx
neg r13d
mov qword [rsp + 0x78], r13
lea ecx, [rax + 7]
add eax, 0xd
or rdi, r15
cmovne eax, ecx
mov dword [rsp + 0x110], eax
xor esi, esi
mov dword [rsp + 0x4c], 0
mov dword [rsp + 0x64], 0
mov r12d, ebx
lea rcx, [rsp + 0xb0]
xor edx, edx
call fcn.140007c90
test eax, eax
je 0x14001ab8f
mov r13d, eax
mov rcx, r14
mov edx, eax
call fcn.14001a050
mov ebx, r12d
test al, al
je 0x14001a6f4
mov rcx, r14
mov edx, r13d
call fcn.140019d60
mov r10d, eax
mov r15d, r13d
and r15d, 0x7f
mov r11d, dword [r14 + r15*4]
lea r9d, [rsi + 1]
mov rdi, qword [r14 + 0x258]
cmp r12d, 0xffff83f7
jl 0x14001a859
mov rax, qword [rsp + 0xa8]
cmp dword [rdi + rax*4 + 8], 0
je 0x14001a859
cmp r15d, dword [rsp + 0x28]
je 0x14001a7f5
mov eax, r10d
xor al, 1
je 0x14001a7f5
cmp dword [rsp + 0x58], 0xffff83f7
jl 0x14001a7f5
mov ebx, r12d
cmp esi, 1
mov esi, r9d
jg 0x14001a6f4
lea rax, [0x1400d93e0]
mov ebx, dword [rax + r11*4]
mov eax, dword [rsp + 0x58]
add ebx, eax
mov esi, dword [rsp + 0x30]
cmp ebx, esi
jle 0x14001af2f
mov qword [rsp + 0x68], r11
mov byte [rsp + 0x2c], r10b
mov dword [rsp + 0x38], r9d
mov r8d, esi
sub r8d, eax
jge 0x14001aec8
shl r8d, 2
mov rcx, r14
mov edx, r13d
call fcn.14000d670
mov ebx, esi
mov r9d, dword [rsp + 0x38]
mov esi, r9d
test al, al
movzx r10d, byte [rsp + 0x2c]
mov r11, qword [rsp + 0x68]
je 0x14001a6f4
cmp dword [rsp + 0x64], 1
jg 0x14001b013
test r11, r11
je 0x14001ab17
mov rcx, r14
mov edx, r13d
mov r8d, 0xffffff81
mov esi, r9d
mov ebx, r10d
mov dword [rsp + 0x2c], r13d
mov r13d, r12d
mov r12, r15
mov r15, r14
mov r14, rdi
mov rdi, r11
call fcn.14000d670
mov r11, rdi
mov rdi, r14
mov r14, r15
mov r15, r12
mov r12d, r13d
mov r13d, dword [rsp + 0x2c]
mov r10d, ebx
mov r9d, esi
mov ebx, r12d
test al, al
je 0x14001a6f4
mov eax, r13d
sar eax, 7
movsxd rsi, eax
mov eax, dword [r14 + rsi*4]
mov rcx, qword [0x142239e70]
xor rcx, qword [rdi + 0x20]
test r11, r11
mov dword [rsp + 0x38], r9d
mov qword [rsp + 0x68], rsi
jne 0x14001ab60
imul r8, rax, 0x2d0
lea rdx, [0x142237170]
add r8, rdx
mov rdx, qword [r8 + r15*8]
mov rbx, rdi
xor rdx, qword [r8 + rsi*8]
xor rdx, rcx
mov ecx, dword [rdi + 0x14]
cmp ecx, 0xd
jge 0x14001b047
xor ecx, ecx
test r11, r11
sete byte [rsp + 0x2c]
setne cl
mov ebx, dword [rsp + 0x3c]
neg ebx
mov r8d, dword [rbp + 0x1b20]
lea esi, [r8 - 1]
mulx rdx, rdx, qword [0x142209578]
mov r8, qword [0x142209580]
shl rdx, 5
prefetcht0 byte [r8 + rdx]
mov r8, qword [rsp + 0x40]
mov dword [r8 + 0x14], r13d
movzx edx, byte [r8 + 0x30]
test rdx, rdx
setne dil
imul rdx, rdx, 0x7e9000
add rdx, qword [rsp + 0x88]
imul rcx, rcx, 0x3f4800
imul rax, rax, 0x3f480
add rax, rdx
add rax, rcx
imul rcx, r15, 0xb40
add rax, rcx
add rax, 0x1c6e8
mov qword [r8 + 8], rax
mov rcx, r14
mov edx, r13d
lea r8, [rsp + 0x900]
mov r9d, r10d
call fcn.140004e60
mov r9d, dword [rsp + 0x30]
neg r9d
mov dword [rsp + 0x20], esi
mov rcx, r14
mov rdx, qword [rsp + 0xa0]
mov r8d, ebx
call fcn.14001a330
xor byte [r14 + 0x264], 1
mov r8d, dword [r14 + r15*4]
mov rdx, r15
shl rdx, 4
lea r11, [0x142239e80]
mov rcx, qword [rdx + r11]
mov rdx, qword [rdx + r11 + 8]
mov rsi, qword [rsp + 0x68]
mov r9, rsi
shl r9, 4
mov r10, qword [r9 + r11]
mov r9, qword [r9 + r11 + 8]
or r9, rdx
xor qword [r14 + 0x178], r9
or r10, rcx
xor qword [r14 + 0x170], r10
mov r11d, r8d
and r11d, 7
shl r11, 4
xor qword [r14 + r11 + 0x178], r9
xor qword [r14 + r11 + 0x170], r10
mov r11d, r8d
sar r11d, 3
shl r11, 4
xor qword [r14 + r11 + 0x1f8], r9
xor qword [r14 + r11 + 0x1f0], r10
mov dword [r14 + r15*4], 0
mov dword [r14 + rsi*4], r8d
mov r8, qword [r14 + 0x258]
mov r9d, dword [r8 + 0x114]
test r9, r9
je 0x14001aa7a
mov dword [r14 + r15*4], r9d
mov r10d, r9d
and r10d, 7
shl r10, 4
mov r11, qword [r14 + r10 + 0x178]
or r11, rdx
mov rsi, qword [r14 + r10 + 0x170]
or rsi, rcx
mov qword [r14 + r10 + 0x170], rsi
mov qword [r14 + r10 + 0x178], r11
or qword [r14 + 0x170], rsi
or qword [r14 + 0x178], r11
mov r10d, r9d
sar r10d, 3
shl r10, 4
or qword [r14 + r10 + 0x1f0], rcx
or qword [r14 + r10 + 0x1f8], rdx
inc dword [r14 + r9*4 + 0x210]
and r9d, 0xfffffff8
inc dword [r14 + r9*4 + 0x210]
and dil, byte [rsp + 0x2c]
movzx ecx, dil
add dword [rsp + 0x64], ecx
mov rcx, qword [r8 + 0x40]
mov qword [r14 + 0x258], rcx
dec dword [r14 + 0x260]
mov rcx, qword [rcx + 0x20]
and ecx, 0x3fff
dec byte [r14 + rcx + 0x268]
neg eax
mov ebx, r12d
mov r10d, dword [rsp + 0x38]
mov esi, r10d
cmp r12d, eax
jge 0x14001a6f4
mov ebx, eax
mov esi, r10d
cmp dword [rsp + 0x30], eax
jge 0x14001a6f4
mov rcx, qword [rsp + 0x40]
mov r8, qword [rcx]
mov rcx, qword [rcx + 0x40]
mov dword [r8], r13d
lea rdx, [r8 + 4]
test rcx, rcx
je 0x14001aaf4
mov r9d, dword [rcx]
test r9d, r9d
jne 0x14001af07
mov dword [rdx], 0
mov ebx, eax
mov esi, r10d
mov dword [rsp + 0x4c], r13d
mov dword [rsp + 0x30], eax
cmp eax, dword [rsp + 0x3c]
jge 0x14001ab97
jmp 0x14001a6f4
mov eax, r13d
sar eax, 7
cdqe
mov eax, dword [r14 + rax*4]
imul rax, rax, 0xb4
mov rcx, qword [rsp + 0x90]
add rcx, rax
cmp word [rcx + r15*2], 0
jns 0x14001a809
add rax, qword [rsp + 0x98]
cmp word [rax + r15*2], 0
mov ebx, r12d
mov esi, r9d
js 0x14001a6f4
jmp 0x14001a809
imul rdx, r11, 0x2d0
lea r9, [0x142237170]
add rdx, r9
mov rdx, qword [rdx + r15*8]
imul r8, rax, 0x2d0
add r8, r9
xor rdx, qword [r8 + r15*8]
xor rdx, qword [r8 + rsi*8]
xor rdx, rcx
jmp 0x14001a8af
mov eax, r12d
mov r13d, dword [rsp + 0x4c]
mov r12d, eax
cmp eax, 0xffff82ff
je 0x14001afff
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0x10]
cmp r12d, 0x7c0a
jge 0x14001afdf
mov eax, r12d
cmp r12d, 0xffff83f6
mov r10, qword [rsp + 0x80]
mov r11, qword [rsp + 0x50]
mov esi, dword [rsp + 0x34]
mov rdi, qword [rsp + 0x78]
jle 0x14001b03d
cmp r12d, dword [rsp + 0x3c]
setl dl
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx + 0x24]
movzx r8d, word [r11]
test r13d, r13d
jne 0x14001abff
cmp r8w, r10w
je 0x14001ac04
mov word [r11 + 4], r13w
cmp r8w, r10w
je 0x14001acaf
mov r8b, 2
sub r8b, dl
mov word [r11], r10w
and dil, 1
xor dil, 7
mov byte [r11 + 2], dil
shl sil, 2
or sil, byte [0x142209588]
or sil, r8b
mov byte [r11 + 3], sil
mov word [r11 + 6], ax
mov word [r11 + 8], cx
mov ebx, r12d
mov eax, ebx
lea rsp, [rbp + 0x1ab8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
cmp byte [r12 + 0x32], 0
jne 0x14001ac43
mov ecx, dword [r12 + 0x10]
cmp ebx, 0x7c0a
jge 0x14001b092
mov edx, ebx
cmp ebx, 0xffff83f6
jle 0x14001b09b
cmp word [rdi], r15w
je 0x14001af89
mov word [rdi + 4], 0
mov word [rdi], r15w
mov byte [rdi + 2], 1
movzx ecx, byte [0x142209588]
or cl, 2
mov byte [rdi + 3], cl
mov word [rdi + 6], dx
mov word [rdi + 8], ax
jmp 0x14001ac43
movzx r8d, sil
lea r8d, [rdi + r8*2]
add r8d, 7
movzx r9d, byte [r11 + 2]
add r9d, 0xfffffffc
cmp r8d, r9d
jg 0x14001ac0e
jmp 0x14001ac40
mov ebx, 0x7d02
jmp 0x14001a576
test al, al
jne 0x14001af5c
cmp dword [r12 - 0x2c], 0x81
je 0x14001b0a4
mov qword [rsp + 0x50], rdi
mov edi, dword [r14 + 0x264]
lea eax, [rdi*8 + 4]
mov edx, dword [r14 + rax*4 + 0x210]
mov rax, rdi
xor rax, 1
lea r8d, [rax*8 + 4]
sub edx, dword [r14 + r8*4 + 0x210]
mov r8d, edx
shl r8d, 7
sub r8d, edx
lea edx, [rdi*8 + 2]
mov edx, dword [r14 + rdx*4 + 0x210]
lea r9d, [rax*8 + 2]
sub edx, dword [r14 + r9*4 + 0x210]
imul ebx, edx, 0xf5
add ebx, r8d
lea edx, [rdi*8 + 6]
mov edx, dword [r14 + rdx*4 + 0x210]
lea r8d, [rax*8 + 6]
sub edx, dword [r14 + r8*4 + 0x210]
imul edx, edx, 0xcc
mov r12, r15
mov r15d, dword [rcx + rax*4 + 8]
add ebx, dword [rcx + rdi*4 + 8]
add ebx, edx
lea r8, [rsp + 0x900]
mov rcx, r14
mov dl, 1
call fcn.1400072f0
mov rcx, qword [r14 + 0x250]
mov rdx, qword [r14 + 0x258]
add r15d, eax
sub ebx, r15d
mov r15, r12
mov r12, qword [rsp + 0x40]
mov r8d, ebx
neg r8d
cmovs r8d, ebx
add r8d, dword [rsp + 0x900]
mov r9d, dword [rcx + rdi*4 + 0x64]
mov rdi, qword [rsp + 0x50]
mov ecx, r8d
imul ecx, r9d
movsxd rcx, ecx
imul r10, rcx, 0xffffffffb92143fb
shr r10, 0x20
add ecx, r10d
mov r10d, ecx
shr r10d, 0x1f
sar ecx, 9
add ecx, r10d
add ecx, r9d
imul r8d, eax
movsxd r8, r8d
imul r8, r8, 0xffffffffe0167039
mov r9, r8
shr r9, 0x3f
sar r8, 0x2c
add r8d, r9d
add r8d, eax
mov eax, dword [rdx + 0xc]
add eax, dword [rdx + 8]
cdqe
imul rax, rax, 0x30c30c31
mov rdx, rax
sar rdx, 0x23
shr rax, 0x3f
lea r9d, [rdx + rax]
add r9d, 0x221
imul r9d, r8d
add eax, edx
add eax, 0x80
imul eax, ecx
add eax, r9d
cdqe
imul rax, rax, 0x63e7063f
mov rcx, rax
shr rcx, 0x3f
sar rax, 0x29
add eax, ecx
mov ecx, 0x107
sub ecx, esi
imul ecx, eax
movsxd rax, ecx
imul rcx, rax, 0x2aaaaaab
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x25
add ecx, edx
cmp ecx, 0x7c09
mov edx, 0x7c09
cmovl edx, ecx
cmp eax, 0xffa2f881
mov eax, 0xffff83f7
cmovge eax, edx
mov dword [r12 + 0x24], eax
xor esi, esi
mov dword [rsp + 0x34], 0
mov ebx, eax
jmp 0x14001a5c2
mov ebx, 0xffff82ff
mov eax, 0xffff82ff
jmp 0x14001a5dc
mov rcx, r14
mov edx, r13d
mov r8d, 1
call fcn.14000d670
test al, al
mov r9d, dword [rsp + 0x38]
movzx r10d, byte [rsp + 0x2c]
mov r11, qword [rsp + 0x68]
jne 0x14001a7f5
mov eax, dword [rsp + 0x58]
cmp r12d, eax
cmovle r12d, eax
mov ebx, r12d
mov esi, r9d
jmp 0x14001a6f4
mov dword [r8 + 4], r9d
mov edx, dword [rcx + 4]
test edx, edx
je 0x14001af50
mov dword [r8 + 8], edx
add r8, 0xc
mov r9d, dword [rcx + 8]
test r9d, r9d
jne 0x14001b01d
mov rdx, r8
jmp 0x14001aaf4
cmp r12d, ebx
cmovg ebx, r12d
mov esi, r9d
jmp 0x14001a6f4
mov rdi, qword [rsp + 0x58]
jmp 0x14001a522
mov rdi, r9
jmp 0x14001a522
add r8, 8
mov rdx, r8
jmp 0x14001aaf4
mov ebx, 0xffff82ff
mov dword [rsp + 0x34], 0
xor esi, esi
mov eax, 0xffff82ff
jmp 0x14001a5dc
mov rcx, r14
mov edx, esi
call fcn.14000d500
xor al, 1
movzx eax, al
jmp 0x14001a6ba
cmp byte [rdi + 2], 4
jbe 0x14001ac90
jmp 0x14001ac43
lea edx, [rsi - 0xe]
shr edx, 3
movabs r9, 0x5851f42d4c957f2d
imul r9, rdx
movabs rdx, 0x14057b7ef767814f
add rdx, r9
xor r15, rdx
jmp 0x14001a407
mov ecx, 0x7d00
sub ecx, ebx
mov edx, pe_nt_image_headers64
sub edx, esi
cmp ecx, edx
jg 0x14001b0db
sub ebx, r8d
jmp 0x14001a576
add ecx, r12d
mov eax, ecx
mov r10, qword [rsp + 0x80]
mov r11, qword [rsp + 0x50]
mov esi, dword [rsp + 0x34]
mov rdi, qword [rsp + 0x78]
jmp 0x14001abe0
mov r12d, 0xffff8300
mov rax, qword [rsp + 0x40]
add r12d, dword [rax + 0x10]
jmp 0x14001ac40
mov r13d, dword [rsp + 0x4c]
jmp 0x14001aba5
add rcx, 0xc
mov rdx, r8
mov dword [rdx], r9d
add rdx, 4
mov r9d, dword [rcx]
add rcx, 4
test r9d, r9d
je 0x14001aaf4
jmp 0x14001b024
mov eax, r12d
sub eax, ecx
jmp 0x14001abe0
add ecx, 0xfffffff3
shr ecx, 3
movabs r8, 0x5851f42d4c957f2d
imul r8, rcx
movabs rcx, 0x14057b7ef767814f
add rcx, r8
jmp 0x14001ab87
mov ebx, dword [rsp + 0x74]
jmp 0x14001ac43
lea ecx, [rbx + 0x7d00]
mov edx, pe_nt_image_headers64
sub edx, esi
cmp ecx, edx
jg 0x14001b0e5
add r8d, ebx
mov ebx, r8d
jmp 0x14001a576
add ecx, ebx
mov edx, ecx
jmp 0x14001ac80
mov edx, ebx
sub edx, ecx
jmp 0x14001ac80
xor eax, eax
sub eax, dword [r12 - 0x1c]
jmp 0x14001aea3
xor ebx, ebx
test al, al
jne 0x14001ac43
mov rcx, r14
call fcn.140021670
mov ebx, eax
jmp 0x14001ac43
mov rcx, r14
call fcn.140021670
mov dword [r12 + 0x24], eax
jmp 0x14001a5a4
mov ebx, 0x7c09
jmp 0x14001a576
mov ebx, 0xffff83f7
jmp 0x14001a576