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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xb8]
sub rsp, 0x1b8
mov r9, qword [r8 + 8]
xor eax, eax
add r9, 4
mov r12, r8
mov r14, rdx
mov r13, rcx
sub eax, dword [r9]
movsxd rdi, dword [r9]
add rdi, r9
neg eax
sbb rax, rax
and rdi, rax
movsxd rax, dword [rdx + 0x38]
cmp byte [0x14008eab8], 0
mov dword [rsp + 0x58], eax
je 0x14002ea39
mov rbx, rax
shl rbx, 6
add rbx, qword [0x1400b70a0]
cmp dword [rbx + 0x38], 0x8000
mov byte [rbx + 0x3c], 1
jb 0x14002e8d9
lea rsi, str.CheckInputSignature
mov r9d, eax
mov r8d, 0x8000
mov qword [rsp + 0x20], rsi
lea rdx, str.profiler:_max_events___d__reached_on_thread__i___s_and_later_wont_be_recorded
mov ecx, 2
call fcn.140013a20
jmp 0x14002ea39
movsxd rax, dword [rbx + 0x38]
inc dword [rbx + 0x38]
lea rcx, [rax + rax*4]
mov rax, qword [rbx + 0x30]
lea r14, [rax + rcx*8]
lea rcx, [rbp + 0x118]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x14002f291
mov rax, qword [rbp + 0x118]
lea rsi, str.CheckInputSignature
sub rax, qword [0x14008eac8]
xor edx, edx
imul rax, rax, 0xf4240
mov rcx, rsi
div qword [0x14008eac0]
mov edx, 0x20
add rax, qword [0x14008ead0]
mov qword [r14], rax
mov qword [r14 + 0x20], 0
call fcn.140048fbc
mov r15, rax
test rax, rax
je 0x14002e989
test rdi, rdi
jne 0x14002e989
mov r8, rax
mov rdx, rsi
sub r8, rsi
mov rcx, rbx
call fcn.14001e6c0
mov qword [r14 + 0x10], rax
lea rdx, [r15 + 1]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x14002e972
mov rcx, rbx
call fcn.14001e6c0
jmp 0x14002ea2e
mov rax, qword [rbx + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
lea rax, [rdx + 0x14]
cmp rax, qword [rcx + 0x10]
jbe 0x14002e9ad
mov edx, 0x14
mov rcx, rbx
call fcn.140038a30
xor edx, edx
mov rax, qword [rbx + 8]
lea rcx, [rdx + 0x14]
mov r8, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add r8, rdx
mov rax, qword [rbx + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov qword [rbx + 0x10], rdx
movups xmm0, xmmword [str.CheckInputSignature]
movups xmmword [r8], xmm0
movzx eax, word [0x140081030]
mov word [r8 + 0x10], ax
movzx eax, byte [0x140081032]
mov byte [r8 + 0x12], al
mov byte [r8 + 0x13], 0
mov qword [r14 + 0x10], r8
test rdi, rdi
je 0x14002ea27
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rdi + r8], 0
jne 0x14002ea10
mov rdx, rdi
mov rcx, rbx
call fcn.14001e6c0
jmp 0x14002ea2e
lea rax, [0x14007d7e6]
mov qword [r14 + 0x18], rax
mov r14, qword [rbp + 0x108]
mov rcx, qword [r12 + 8]
mov rax, qword [r13 + 0x190]
mov qword [rsp + 0x60], rax
mov rax, qword [r13 + 0x198]
mov qword [rsp + 0x70], rax
xor eax, eax
mov qword [rbp - 0x30], 0
mov qword [rbp - 0x28], 0
mov qword [rbp + 0x20], 0
mov dword [rbp - 0x70], 0xadee3562
mov dword [rbp - 0x6c], 0xfb6bbb1
mov dword [rbp - 0x68], 0x89caf13a
mov dword [rbp - 0x64], 0xeb937789
mov dword [rbp - 0x60], 0x3bc2e95c
mov dword [rbp - 0x5c], 0x9d8b6fab
mov dword [rbp - 0x58], 0x179fa534
mov dword [rbp - 0x54], 0x79682b83
mov dword [rbp - 0x50], 0x75bcf3f4
mov dword [rbp - 0x4c], 0xd7857a43
mov dword [rbp - 0x48], 0x5199afcc
mov dword [rbp - 0x44], 0xb362361b
mov dword [rbp - 0x40], 0x13b3573d
mov dword [rbp - 0x3c], 0x757bdd8c
mov dword [rbp - 0x38], 0xef901315
mov dword [rbp - 0x34], 0x51589964
sub eax, dword [rcx]
movsxd rdx, dword [rcx]
add rdx, rcx
neg eax
sbb rax, rax
and rdx, rax
je 0x14002eb0c
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x14002eb00
jmp 0x14002eb0f
xor r8d, r8d
lea rcx, [rbp - 0x70]
call fcn.14002be50
mov r8d, 1
mov byte [rbp + 0x118], 0
lea rdx, [rbp + 0x118]
lea rcx, [rbp - 0x70]
call fcn.14002be50
mov rax, qword [r12 + 8]
cmp dword [rax + 0x5c], 0xffffffff
jne 0x14002eb49
xor esi, esi
mov qword [rsp + 0x68], rsi
jmp 0x14002ebbd
mov rcx, qword [r13 + 0xe0]
xor eax, eax
add rcx, 0x58
sub eax, dword [rcx]
movsxd rdx, dword [rcx]
add rdx, rcx
neg eax
sbb rax, rax
and rdx, rax
mov rax, qword [r12 + 8]
movsxd rcx, dword [rax + 0x5c]
xor eax, eax
sub eax, dword [rdx + rcx*4]
lea rdx, [rdx + rcx*4]
movsxd rsi, dword [rdx]
add rsi, rdx
neg eax
sbb rax, rax
and rsi, rax
mov qword [rsp + 0x68], rsi
je 0x14002ebbd
mov rax, qword [r13 + 0xd0]
mov qword [r12 + 0x60], rax
mov qword [r12 + 0x40], 0
mov qword [r12 + 0x48], 0
mov qword [r12 + 0x50], 0
mov dword [r12 + 0x58], 0
mov r8, qword [r12 + 8]
mov rax, qword [r12 + 8]
lea rcx, [r8 + 0x20]
movsxd rdx, dword [rcx]
lea r9, [r8 + 0x20]
movsxd r15, dword [r9]
add rdx, rcx
mov eax, dword [rax + 0x88]
shr eax, 0xc
and al, 1
mov dword [rsp + 0x54], eax
mov rax, qword [r14 + 0x18]
mov qword [rbp - 0x80], rax
xor eax, eax
sub eax, dword [rcx]
neg eax
sbb rax, rax
add r15, r9
and rdx, rax
movsxd rax, dword [r8 + 0x1c]
lea rcx, [rdx + rax*8]
xor eax, eax
sub eax, dword [r9]
neg eax
mov qword [rsp + 0x78], rcx
sbb rax, rax
and r15, rax
cmp r15, rcx
je 0x14002eea5
movsxd rbx, dword [r15]
xor eax, eax
sub eax, dword [r15]
add rbx, r15
neg eax
sbb rax, rax
and rbx, rax
movzx eax, byte [rbx]
inc rbx
test al, al
je 0x14002ec7e
nop
movsx ecx, al
movzx edx, cl
lea r8d, [rcx - 0x41]
lea eax, [rcx + 0x20]
cmp r8d, 0x1a
movzx eax, al
lea rcx, [rbp - 0x70]
cmovb edx, eax
mov r8d, 1
mov byte [rbp + 0x118], dl
lea rdx, [rbp + 0x118]
call fcn.14002be50
movzx eax, byte [rbx]
lea rbx, [rbx + 1]
test al, al
jne 0x14002ec40
movsxd rbx, dword [r15]
xor eax, eax
sub eax, dword [r15]
add rbx, r15
mov edi, dword [r15 + 4]
neg eax
sbb rax, rax
and rbx, rax
cmp byte [rsp + 0x54], 0
jne 0x14002ecec
mov r8d, dword [r13 + 0x1a0]
mov rcx, rbx
mov rdx, qword [r13 + 0x1a8]
call fcn.140028500
test al, al
je 0x14002ecec
mov r8, qword [rsp + 0x70]
lea rcx, [rbp + 0x98]
mov r9, rbx
mov dword [rsp + 0x20], edi
mov rbx, qword [rsp + 0x60]
mov rdx, rbx
call fcn.140028160
mov r8d, 0x10
lea rdx, [rbp + 0x40]
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x40], xmm0
jmp 0x14002ed83
mov r8, rbx
lea rcx, [rbp + 0x58]
mov rbx, qword [rsp + 0x60]
mov r9d, edi
mov rdx, rbx
call fcn.140045a80
mov r8d, 8
movsd xmm0, qword [rax + 0x10]
mov eax, dword [rax]
movsd qword [rbp + 0x50], xmm0
test al, 1
je 0x14002ed75
mov rcx, qword [rbp + 0x50]
lea rdx, [rsp + 0x40]
mov rax, rcx
mov byte [rsp + 0x47], cl
shr rax, 0x38
mov byte [rsp + 0x40], al
mov rax, rcx
shr rax, 0x30
mov byte [rsp + 0x41], al
mov rax, rcx
shr rax, 0x28
mov byte [rsp + 0x42], al
mov rax, rcx
shr rax, 0x20
mov byte [rsp + 0x43], al
mov rax, rcx
shr rax, 0x18
mov byte [rsp + 0x44], al
mov rax, rcx
shr rax, 0x10
mov byte [rsp + 0x45], al
mov rax, rcx
shr rax, 8
mov byte [rsp + 0x46], al
jmp 0x14002ed83
mov qword [rsp + 0x48], 0xffffffffffffffff
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x70]
call fcn.14002be50
test rsi, rsi
je 0x14002ee96
movsxd rcx, dword [r15]
lea rax, [r14 + 8]
mov qword [rbp + 0x68], rax
lea r8, [rbp + 0x30]
xor eax, eax
mov qword [rbp + 0x58], rsi
sub eax, dword [r15]
lea rdx, [rbp + 0x58]
add rcx, r15
mov qword [rbp + 0x70], r14
neg eax
mov byte [rbp + 0x60], 0
sbb rax, rax
xor r9d, r9d
and rcx, rax
mov rax, qword [r13 + 0x188]
mov qword [rbp + 0x78], rcx
mov rcx, rbx
mov qword [rbp + 0x80], rax
call fcn.140044f50
test al, al
je 0x14002ee96
movsxd r14, dword [rbp + 0x30]
test r14, r14
jle 0x14002ee8f
mov rdi, qword [rbp + 0x38]
lea rbx, [r12 + 0x40]
nop
mov r8, qword [rdi]
mov rcx, rbx
mov edx, dword [rdi + 8]
call fcn.140015f50
cmp eax, 0xffffffff
jne 0x14002ee72
mov r13d, dword [rbx + 0x18]
mov ecx, dword [rbx + 0x14]
mov r12, qword [rdi]
mov esi, dword [rdi + 8]
mov r8d, dword [rbx + 0x10]
lea edx, [r13 + 1]
shl rdx, 8
shr rdx, cl
cmp rdx, 0x50
jbe 0x14002ee41
mov rcx, rbx
call fcn.140010b00
mov r8d, dword [rbx + 0x10]
mov rdx, qword [rbx]
lea eax, [r8 - 1]
and eax, esi
cmp dword [rdx + rax*4], 0
je 0x14002ee5e
dec r8d
inc eax
and eax, r8d
cmp dword [rdx + rax*4], 0
jne 0x14002ee53
mov dword [rdx + rax*4], esi
mov ecx, eax
mov rax, qword [rbx + 8]
mov qword [rax + rcx*8], r12
lea eax, [r13 + 1]
mov dword [rbx + 0x18], eax
add rdi, 0x10
sub r14, 1
jne 0x14002ee00
mov r13, qword [rbp + 0x100]
mov rsi, qword [rsp + 0x68]
mov r12, qword [rbp + 0x110]
mov r14, qword [rbp + 0x108]
add r15, 8
cmp r15, qword [rsp + 0x78]
jne 0x14002ec21
test rsi, rsi
je 0x14002ef81
mov eax, dword [r12 + 0x50]
mov rsi, qword [r12 + 0x40]
mov r14, qword [r12 + 0x48]
test eax, eax
je 0x14002ef81
mov r12d, eax
nop dword [rax + rax]
mov r15d, dword [rsi]
test r15d, r15d
je 0x14002ef68
mov rdi, qword [r14]
movzx eax, byte [rdi]
lea rbx, [rdi + 1]
test al, al
je 0x14002ef2e
nop word [rax + rax]
movsx ecx, al
movzx edx, cl
lea r8d, [rcx - 0x41]
lea eax, [rcx + 0x20]
cmp r8d, 0x1a
movzx eax, al
lea rcx, [rbp - 0x70]
cmovb edx, eax
mov r8d, 1
mov byte [rbp + 0x118], dl
lea rdx, [rbp + 0x118]
call fcn.14002be50
movzx eax, byte [rbx]
lea rbx, [rbx + 1]
test al, al
jne 0x14002eef0
mov eax, dword [rsp + 0x54]
lea rcx, [rbp - 0x70]
mov r8, qword [rsp + 0x70]
mov r9, rdi
mov rdx, qword [rsp + 0x60]
mov byte [rsp + 0x38], al
mov eax, dword [r13 + 0x1a0]
mov dword [rsp + 0x30], eax
mov rax, qword [r13 + 0x1a8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r15d
call fcn.1400285a0
add rsi, 4
add r14, 8
sub r12, 1
jne 0x14002eed0
mov r12, qword [rbp + 0x110]
mov rax, qword [r12 + 8]
lea rdx, [rbp + 0x110]
mov r8d, 8
movzx ecx, byte [rax + 0x88]
mov eax, ecx
mov byte [rbp + 0x117], cl
shr rax, 0x38
mov byte [rbp + 0x110], al
mov eax, ecx
shr rax, 0x30
mov byte [rbp + 0x111], al
mov eax, ecx
shr rax, 0x28
mov byte [rbp + 0x112], al
mov eax, ecx
shr rax, 0x20
mov byte [rbp + 0x113], al
mov eax, ecx
shr rax, 0x18
mov byte [rbp + 0x114], al
mov eax, ecx
shr rax, 0x10
mov byte [rbp + 0x115], al
mov eax, ecx
shr rax, 8
lea rcx, [rbp - 0x70]
mov byte [rbp + 0x116], al
call fcn.14002be50
mov r8, qword [r12 + 8]
xor eax, eax
sub eax, dword [r8 + 0x50]
lea rcx, [r8 + 0x50]
movsxd rdx, dword [rcx]
lea r9, [r8 + 0x50]
movsxd rbx, dword [r9]
add rdx, rcx
neg eax
sbb rax, rax
add rbx, r9
and rdx, rax
movsxd rax, dword [r8 + 0x4c]
lea rdi, [rdx + rax*4]
xor eax, eax
sub eax, dword [r9]
neg eax
sbb rax, rax
and rbx, rax
cmp rbx, rdi
je 0x14002f081
nop
movsxd rdx, dword [rbx]
xor eax, eax
sub eax, dword [rbx]
add rdx, rbx
neg eax
sbb rax, rax
and rdx, rax
je 0x14002f06c
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x14002f060
jmp 0x14002f06f
xor r8d, r8d
lea rcx, [rbp - 0x70]
call fcn.14002be50
add rbx, 4
cmp rbx, rdi
jne 0x14002f040
mov rax, qword [r12 + 8]
lea rdx, [rbp + 0x110]
mov r8d, 8
mov ecx, dword [rax + 0x88]
shr rcx, 0xa
and ecx, 1
mov eax, ecx
mov byte [rbp + 0x117], cl
shr rax, 0x38
mov byte [rbp + 0x110], al
mov byte [rbp + 0x111], al
mov byte [rbp + 0x112], al
mov byte [rbp + 0x113], al
mov eax, ecx
shr rax, 0x18
mov byte [rbp + 0x114], al
mov eax, ecx
shr rax, 0x10
mov byte [rbp + 0x115], al
mov eax, ecx
shr rax, 8
lea rcx, [rbp - 0x70]
mov byte [rbp + 0x116], al
call fcn.14002be50
mov rax, qword [r12 + 8]
lea rdx, [rbp + 0x110]
mov r8d, 8
mov ecx, dword [rax + 0x88]
shr rcx, 0xb
and ecx, 1
mov eax, ecx
mov byte [rbp + 0x117], cl
shr rax, 0x38
mov byte [rbp + 0x110], al
mov byte [rbp + 0x111], al
mov byte [rbp + 0x112], al
mov byte [rbp + 0x113], al
mov eax, ecx
shr rax, 0x18
mov byte [rbp + 0x114], al
mov eax, ecx
shr rax, 0x10
mov byte [rbp + 0x115], al
mov eax, ecx
shr rax, 8
lea rcx, [rbp - 0x70]
mov byte [rbp + 0x116], al
call fcn.14002be50
mov rcx, qword [rbp - 0x30]
lea rdx, [rbp + 0x110]
mov rax, rcx
mov byte [rbp + 0x11f], cl
shr rax, 0x38
mov r8d, 1
mov byte [rbp + 0x118], al
mov rax, rcx
shr rax, 0x30
mov byte [rbp + 0x119], al
mov rax, rcx
shr rax, 0x28
mov byte [rbp + 0x11a], al
mov rax, rcx
shr rax, 0x20
mov byte [rbp + 0x11b], al
mov rax, rcx
shr rax, 0x18
mov byte [rbp + 0x11c], al
mov rax, rcx
shr rax, 0x10
mov byte [rbp + 0x11d], al
mov rax, rcx
shr rax, 8
lea rcx, [rbp - 0x70]
mov byte [rbp + 0x11e], al
mov byte [rbp + 0x110], 0x80
call fcn.14002be50
mov eax, dword [rbp - 0x28]
add eax, 0xffffffc8
jns 0x14002f1f2
neg eax
movsxd r8, eax
jmp 0x14002f1fd
cdqe
mov r8d, 0x40
sub r8, rax
lea rdx, [0x140080eb0]
lea rcx, [rbp - 0x70]
call fcn.14002be50
mov r8d, 8
lea rdx, [rbp + 0x118]
lea rcx, [rbp - 0x70]
call fcn.14002be50
lea rdx, [r12 + 0x20]
lea rcx, [rbp - 0x70]
call fcn.14002c7b0
mov rdx, qword [rbp + 0x108]
mov rcx, qword [rbp - 0x80]
mov rax, qword [rdx + 0x10]
mov qword [rdx + 0x18], rcx
cmp qword [rax + 0x20], rcx
jbe 0x14002f25d
nop word [rax + rax]
mov rax, qword [rax]
mov qword [rdx + 0x10], rax
cmp qword [rax + 0x20], rcx
ja 0x14002f250
mov rax, qword [rdx + 0x10]
sub rcx, qword [rax + 0x20]
cmp byte [0x14008eab8], 0
mov qword [rax + 0x18], rcx
je 0x14002f27b
mov ecx, dword [rsp + 0x58]
call fcn.14003df60
mov al, 1
add rsp, 0x1b8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea rcx, str.QueryPerformanceCounter_failed
call fcn.1400139a0
int3