Function at 0x14001c9f0
Capabilities:
Check for time delay via queryperformancecounter
Print debug messages

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x9e8]
sub rsp, 0xab0
mov qword [rbp - 0x10], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
movaps xmmword [rax - 0x48], xmm6
mov rdi, r9
mov r13, rdx
mov r14, rcx
lea rax, vtable.CPluggableEnterExitProcessRuleFunction.0
mov qword [rbp], rax
mov qword [rbp + 8], rcx
mov qword [rbp + 0x10], r9
xor r12d, r12d
test byte [rcx + 0x23f0], 8
je 0x14001ca98
mov rbx, qword [r9 + 0x19]
test rbx, rbx
jne 0x14001ca8a
mov ecx, 0x1a8
call fcn.14018ef40
mov qword [rbp - 0x78], rax
test rax, rax
je 0x14001ca75
mov rcx, rax
call fcn.14000cb90
mov rbx, rax
jmp 0x14001ca78
mov rbx, r12
mov r8, rdi
mov rdx, rbx
mov rcx, r14
call fcn.14003cc40
mov qword [rdi + 0x19], rbx
lea rcx, [rbx + 0x150]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
nop
mov rax, qword [r14 + 0xd48]
mov rcx, qword [rax + 8]
mov qword [rsp + 0x58], rcx
mov eax, dword [r14 + 0x23f0]
movabs r15, 0xaaaaaaaaaaaaaa9
test al, 4
je 0x14001cb3b
test byte [rdi + 8], 2
je 0x14001cb33
cmp dword [rbp + 0xa10], 0
je 0x14001cb33
lea rax, str.FILEDATAMD5__ac6ad5d9b99757c3a878f2d275ace198_:0:2
mov qword [rsp + 0x48], rax
mov rdi, qword [r14 + 0x2450]
mov rsi, qword [rdi + 8]
lea r9, [rsp + 0x48]
mov r8, rsi
mov rdx, rdi
lea rcx, [r14 + 0x2450]
call fcn.140009370
mov rdx, rax
mov rax, qword [r14 + 0x2458]
mov rcx, r15
sub rcx, rax
cmp rcx, 1
jb 0x14001d988
inc rax
mov qword [r14 + 0x2458], rax
mov qword [rdi + 8], rdx
mov qword [rsi], rdx
mov rdi, qword [rbp + 0xa08]
mov rcx, qword [rsp + 0x58]
jmp 0x14001cb3b
test al, 2
je 0x14001d8c7
mov r10d, dword [rbp + 0xa28]
test r10d, r10d
je 0x14001cc16
test byte [rdi + 8], 0x40
jne 0x14001cc16
mov eax, dword [rdi + 0x25]
test eax, eax
je 0x14001d8c7
mov r9, qword [r13 + 0x68]
mov ebx, eax
nop word [rax + rax]
mov ebx, eax
add rbx, rcx
lea rax, [rbx + 4]
mov qword [rsp + 0x48], rax
mov r8, r9
sub r8, rax
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14001cb97
inc rax
test ecx, ecx
jne 0x14001cb84
test edx, edx
je 0x14001cbab
mov ebx, dword [rbx]
mov eax, ebx
test rbx, rbx
mov rcx, qword [rsp + 0x58]
jne 0x14001cb70
jmp 0x14001cc0d
test byte [r14 + 0x23f0], 4
je 0x14001cc0d
lea rdi, [r14 + 0x2430]
mov rsi, qword [rdi]
mov r14, qword [rsi + 8]
lea r9, [rsp + 0x48]
mov r8, r14
mov rdx, rsi
mov rcx, rdi
call fcn.140009370
mov rcx, rax
mov rax, qword [rdi + 8]
sub r15, rax
cmp r15, 1
jb 0x14001d97b
inc rax
mov qword [rdi + 8], rax
mov qword [rsi + 8], rcx
mov qword [r14], rcx
mov r14, qword [rbp + 0x9f0]
mov rdi, qword [rbp + 0xa08]
mov r10d, dword [rbp + 0xa28]
test rbx, rbx
je 0x14001d8c7
mov r8d, dword [rdi + 8]
mov r9d, r8d
and r9d, 1
jne 0x14001cc5c
mov rcx, qword [rbp + 0xa48]
test rcx, rcx
je 0x14001d8c7
mov rcx, qword [rcx + 8]
mov rax, qword [rcx]
cmp rax, rcx
je 0x14001d8c7
mov edx, dword [rdi + 4]
cmp dword [rax + 0x10], edx
je 0x14001cc53
mov rax, qword [rax]
cmp rax, rcx
jne 0x14001cc46
cmp rax, rcx
je 0x14001d8c7
mov edx, dword [rdi + 0x29]
mov eax, r8d
test edx, edx
jne 0x14001cc6f
and eax, 0x400
je 0x14001cc8c
jmp 0x14001cc74
and eax, 0x400
cmp dword [r13 + 0x158], 0
jne 0x14001cc8c
cmp dword [r13 + 0x90], 0
je 0x14001d8c7
test r10d, r10d
jne 0x14001cca2
test r9d, r9d
je 0x14001cca2
test edx, edx
jne 0x14001cca2
test eax, eax
je 0x14001d8c7
test eax, eax
je 0x14001ccc9
movzx eax, word [r13 + 0x634]
and ax, word [rdi + 0x17]
cmp ax, word [rdi + 0x17]
jne 0x14001d8c7
test edx, edx
jne 0x14001ccc9
lea r12d, [rdx + 1]
jmp 0x14001d8c7
mov ebx, 1
mov r11d, ebx
mov dword [rsp + 0x38], ebx
test edx, edx
je 0x14001d8a9
movss xmm6, dword [0x14028a8e4]
test r11d, r11d
je 0x14001d8c7
mov eax, edx
mov rdx, qword [rsp + 0x58]
lea r9, [rax + rdx]
mov qword [rbp - 0x78], r9
movsx esi, word [r9 + 4]
movzx eax, byte [r9 + 6]
cmp al, 0x21
ja 0x14001d952
movzx eax, al
dec eax
imul rax, rax, 0x210
add rax, qword [rbp + 0xa40]
mov qword [rbp - 0x80], rax
mov r10, qword [rax]
mov qword [rsp + 0x40], r10
mov r8d, r9d
add r8, 7
mov qword [rsp + 0x48], r8
mov ecx, dword [r8]
test ecx, ecx
je 0x14001d85d
nop word [rax + rax]
mov r11d, ecx
add r11, rdx
mov qword [rsp + 0x30], r11
mov edx, dword [r11 + 2]
mov rax, qword [r14 + 0xca0]
add rdx, qword [rax + 8]
cmp byte [rdx], 0
je 0x14001cd81
lea eax, [rsi - 1]
cmp byte [r11 + 6], 0
cmovne eax, esi
mov esi, eax
jmp 0x14001ce75
mov byte [rdx], 1
mov dword [rsp + 0x60], esi
movzx eax, byte [r11 + 9]
lea r15, [r11 + 0xa]
test al, al
cmove r15, r12
mov rdi, r12
mov r8d, r12d
movzx r9d, word [r11 + 7]
test r9w, r9w
je 0x14001cdb6
movsx rax, al
lea rdi, [r11 + 0xa]
add rdi, rax
mov r8d, dword [rdi]
movzx ebx, byte [r11 + 1]
lea eax, [rbx - 1]
cmp eax, 0x18
ja case.0x14001cde1.17
cdqe
lea rcx, [0x140000000]
mov ecx, dword [rcx + rax*4 + 0x1d998]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
mov r11d, r12d
mov rcx, qword [r13 + 0x448]
mov rax, qword [rcx]
cmp rax, rcx
je 0x14001ce3e
mov r10d, dword [r15]
cmp dword [rax + 0x10], r10d
je 0x14001ce04
cmp r10d, 0xffffffff
jne 0x14001ce2a
lea r9, [r15 + 4]
lea rcx, [rax + 0x14]
sub r9, rcx
nop
movzx r8d, byte [rcx]
movzx edx, byte [rcx + r9]
sub r8d, edx
jne 0x14001ce25
inc rcx
test edx, edx
jne 0x14001ce10
test r8d, r8d
je 0x14001ce38
mov rax, qword [rax]
cmp rax, qword [r13 + 0x448]
jne 0x14001cdf8
jmp 0x14001ce3e
mov r11d, 1
lea eax, [rsi - 1]
test r11d, r11d
cmovne eax, esi
mov esi, eax
mov r11, qword [rsp + 0x30]
cmp dword [rsp + 0x60], esi
sete al
mov byte [r11 + 6], al
mov r10, qword [rsp + 0x40]
mov r14, qword [rbp + 0x9f0]
mov r8, qword [rsp + 0x48]
mov r9, qword [rbp - 0x78]
mov rdi, qword [rbp + 0xa08]
test byte [rdi + 8], 8
je 0x14001d830
movsx eax, word [r9 + 4]
cmp esi, eax
je 0x14001d837
test byte [r14 + 0x23f0], 2
je 0x14001d8c7
jmp 0x14001d837
mov byte [rdx], 0
jmp 0x14001ce4e
mov byte [rdx], 0
dec esi
jmp 0x14001ce4e
mov ecx, dword [r10 + 0x10]
test ecx, ecx
je case.0x14001cde1.17
movzx eax, r9w
cmp eax, ecx
ja 0x14001ced5
mov rdx, rdi
mov rcx, qword [r10 + 8]
call fcn.140248db4
test rax, rax
jne 0x14001ce49
mov r11, qword [rsp + 0x30]
dec esi
jmp 0x14001ce4e
test r10, r10
je 0x14001ce4e
cmp dword [r10 + 0x10], 0
je 0x14001ce4e
dec esi
jmp 0x14001ce4e
test r10, r10
je 0x14001ce4e
cmp dword [r10 + 0x10], 0
jne 0x14001ce4e
dec esi
jmp 0x14001ce4e
test r10, r10
je case.0x14001cde1.17
mov rax, qword [r10 + 8]
cmp byte [rax], 0
je case.0x14001cde1.17
cmp qword [r15], 0
jne 0x14001d02a
mov ecx, 0x38
call fcn.14018ef40
test rax, rax
je 0x14001cf5d
mov qword [rax + 8], r12
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], r12
mov dword [rax + 0x20], r12d
mov qword [rax + 0x28], 0
mov dword [rax + 0x30], 1
mov dword [rax], r12d
jmp 0x14001cf60
mov rax, r12
mov qword [r15], rax
lea rbx, vtable.CSABString.0
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], r12
mov dword [rsp + 0x78], r12d
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
call fcn.140247068
mov qword [rsp + 0x70], rax
xor ecx, ecx
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov dword [rsp + 0x7c], 1
lea r8, [rsp + 0x68]
mov rdx, rdi
mov rcx, r14
call fcn.14003eea0
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.14018ef40
mov qword [rbp - 8], rax
test rax, rax
je 0x14001cfc6
mov rcx, rax
call fcn.14000ce10
jmp 0x14001cfc9
mov rax, r12
mov qword [r15 + 8], rax
mov dword [rsp + 0x50], r12d
lea r9, [rsp + 0x50]
mov r8, rax
mov rdx, qword [rsp + 0x70]
mov rcx, r14
call fcn.14003da30
cmp dword [rsp + 0x50], 0
je 0x14001cff3
or byte [r15 + 0x14], 1
mov r8d, 1
mov rdx, qword [rsp + 0x70]
mov rcx, qword [r15]
call fcn.140019d70
mov dword [r15 + 0x10], eax
mov qword [rsp + 0x68], rbx
add dword [rsp + 0x7c], 0xffffffff
jne 0x14001d025
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x14001d025
call fcn.140247060
mov r11, qword [rsp + 0x30]
cmp dword [r15 + 0x10], 0
jne case.0x14001cde1.17
mov qword [rbp - 0x48], r12
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x28], r12
mov dword [rbp - 0x20], r12d
mov dword [rbp - 0x60], r12d
mov qword [rbp - 0x18], r12
mov edx, 0x100
lea rcx, [rbp - 0x38]
call fcn.1400174b0
mov rbx, qword [rbp - 0x38]
test al, al
je 0x14001d088
mov edx, 0x100
mov rax, qword [rbp - 0x30]
sub rdx, rax
lea rcx, [rbx + rax*8]
call fcn.14000f1b0
mov qword [rbp - 0x30], 0x100
mov qword [rbp - 0x58], r12
mov qword [rbp - 0x50], r12
mov rdx, qword [r15 + 8]
mov eax, dword [rdx + 0x10]
mov rdi, qword [rsp + 0x40]
cmp eax, 1
jbe 0x14001d0da
test byte [r15 + 0x14], 1
je 0x14001d0c8
mov ecx, dword [rdi + 0x10]
cmp ecx, eax
jb 0x14001d0f5
mov r8d, eax
sub rcx, rax
add rcx, qword [rdi + 8]
mov rdx, qword [rdx + 8]
call fcn.140249ce0
test eax, eax
jne 0x14001d0f5
jmp 0x14001d0da
mov rdx, qword [rdx + 8]
mov rcx, qword [rdi + 8]
call fcn.140248db4
test rax, rax
je 0x14001d0f5
xor r9d, r9d
lea r8, [rbp - 0x60]
mov rdx, qword [rdi + 8]
mov rcx, qword [r15]
call fcn.140017f50
mov rbx, qword [rbp - 0x38]
test eax, eax
jne 0x14001d0f7
dec esi
test rbx, rbx
je 0x14001d104
mov rcx, rbx
call fcn.14024c3e8
mov rcx, qword [rbp - 0x40]
call fcn.140247060
mov rcx, qword [rbp - 0x48]
call fcn.140247060
jmp 0x14001ce49
cmp byte [r11], 0x1c
jne 0x14001d13b
mov edx, dword [r15]
mov rcx, r13
call fcn.1400152c0
test dword [r15 + 4], eax
lea eax, [rsi - 1]
cmove eax, esi
jmp 0x14001ce47
cmp dword [r13 + 0x7c], r8d
je 0x14001ce4e
dec esi
jmp 0x14001ce4e
cmp byte [r11], 0x1c
jne 0x14001d13b
mov edx, dword [r15]
mov rcx, r13
call fcn.1400152c0
test dword [r15 + 4], eax
lea eax, [rsi - 1]
jmp 0x14001ce44
mov r15d, r12d
mov r14d, dword [r10 + 0x10]
inc r14d
movzx ebx, word [rdi]
mov eax, 0xffff
cmp bx, ax
je 0x14001d1c5
add rdi, 2
movzx eax, bx
cmp r14d, eax
jne 0x14001d1a5
movzx r8d, bx
mov rdx, rdi
mov rcx, qword [r10 + 8]
call fcn.140249ce0
test eax, eax
je 0x14001d1ba
mov r10, qword [rsp + 0x40]
movzx eax, bx
add rdi, rax
movzx ebx, word [rdi]
mov eax, 0xffff
cmp bx, ax
je 0x14001d1c0
jmp 0x14001d180
mov r15d, 1
mov r11, qword [rsp + 0x30]
lea eax, [rsi - 1]
test r15d, r15d
cmovne eax, esi
mov esi, eax
jmp 0x14001ce4e
test r9w, r9w
je 0x14001d231
mov ecx, dword [r10 + 0x10]
movzx eax, r9w
dec eax
cmp eax, ecx
jne case.0x14001cde1.17
cmp ecx, 4
jb 0x14001d203
mov rcx, qword [r10 + 8]
mov eax, dword [rdi]
cmp dword [rcx], eax
je 0x14001d203
dec esi
jmp 0x14001ce4e
mov rax, qword [r10 + 8]
sub rdi, rax
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + rdi]
sub edx, ecx
jne 0x14001d222
inc rax
test ecx, ecx
jne 0x14001d210
test edx, edx
je 0x14001ce4e
dec esi
jmp 0x14001ce4e
movzx eax, byte [r11]
cmp al, 0x1c
jne 0x14001d255
mov edx, dword [r15]
mov rcx, r13
call fcn.1400152c0
lea ecx, [rsi - 1]
cmp dword [r15 + 4], eax
cmove ecx, esi
mov esi, ecx
jmp 0x14001ce49
cmp al, 0x21
jne 0x14001d13b
mov eax, dword [r15]
movzx ecx, byte [r15 + 4]
lea edx, [rsi - 1]
cmp cl, byte [rax + r13 + 0x458]
cmove edx, esi
mov esi, edx
jmp 0x14001ce4e
test r9w, r9w
je 0x14001d2b1
mov rax, qword [r10 + 8]
test rax, rax
je 0x14001ce4e
sub rdi, rax
movzx edx, byte [rax]
movzx ecx, byte [rax + rdi]
sub edx, ecx
jne 0x14001d2a2
inc rax
test ecx, ecx
jne 0x14001d290
test edx, edx
jne 0x14001ce4e
dec esi
jmp 0x14001ce4e
movzx eax, byte [r11]
cmp al, 0x1c
jne 0x14001d2d5
mov edx, dword [r15]
mov rcx, r13
call fcn.1400152c0
lea ecx, [rsi - 1]
cmp dword [r15 + 4], eax
cmovne ecx, esi
mov esi, ecx
jmp 0x14001ce49
cmp al, 0x21
jne 0x14001d2f6
mov eax, dword [r15]
movzx ecx, byte [r15 + 4]
lea edx, [rsi - 1]
cmp cl, byte [rax + r13 + 0x458]
cmovne edx, esi
mov esi, edx
jmp 0x14001ce4e
cmp dword [r13 + 0x7c], r8d
jne 0x14001ce4e
dec esi
jmp 0x14001ce4e
movzx ecx, byte [r11]
sub ecx, 1
je 0x14001d351
sub ecx, 0x1b
je 0x14001d335
cmp ecx, 5
jne 0x14001d32e
mov eax, dword [r15]
movzx ecx, byte [rax + r13 + 0x458]
cmp byte [r15 + 4], cl
jb 0x14001d32e
dec esi
dec esi
jmp 0x14001ce4e
mov edx, dword [r15]
mov rcx, r13
call fcn.1400152c0
lea ecx, [rsi - 1]
cmp dword [r15 + 4], eax
cmovb ecx, esi
mov esi, ecx
jmp 0x14001ce49
cmp dword [r13 + 0x7c], r8d
jbe 0x14001ce4e
dec esi
jmp 0x14001ce4e
movzx ecx, byte [r11]
sub ecx, 1
je 0x14001d3ac
sub ecx, 0x1b
je 0x14001d390
cmp ecx, 5
jne 0x14001d32e
mov eax, dword [r15]
movzx ecx, byte [rax + r13 + 0x458]
cmp byte [r15 + 4], cl
ja 0x14001d32e
dec esi
dec esi
jmp 0x14001ce4e
mov edx, dword [r15]
mov rcx, r13
call fcn.1400152c0
lea ecx, [rsi - 1]
cmp dword [r15 + 4], eax
cmova ecx, esi
mov esi, ecx
jmp 0x14001ce49
cmp dword [r13 + 0x7c], r8d
jae 0x14001ce4e
dec esi
jmp 0x14001ce4e
mov rax, qword [r10 + 8]
cmp byte [rax], 0
jne 0x14001d3cd
dec esi
jmp 0x14001ce4e
mov r15d, dword [r10 + 0x10]
lea r14d, [r15 + 1]
movzx ebx, word [rdi]
mov eax, 0xffff
cmp bx, ax
je 0x14001d433
add rdi, 2
movzx r9d, bx
cmp r14d, r9d
jb 0x14001d413
dec r9d
mov rax, qword [rbp - 0x80]
mov qword [rsp + 0x20], rax
mov r8d, r15d
mov rdx, rdi
mov rcx, qword [r10 + 8]
call fcn.140019460
test eax, eax
jne 0x14001d428
mov r10, qword [rsp + 0x40]
movzx eax, bx
add rdi, rax
movzx ebx, word [rdi]
mov eax, 0xffff
cmp bx, ax
je 0x14001d42e
jmp 0x14001d3e2
mov r12d, 1
mov r11, qword [rsp + 0x30]
lea eax, [rsi - 1]
test r12d, r12d
cmovne eax, esi
mov esi, eax
xor r12d, r12d
jmp 0x14001ce4e
cmp byte [r11], 0x1d
je 0x14001d4a0
mov r8d, dword [r10 + 0x10]
test r8d, r8d
je case.0x14001cde1.17
test r9w, r9w
je case.0x14001cde1.17
movzx r9d, r9w
lea eax, [r8 + 1]
cmp eax, r9d
jb case.0x14001cde1.17
dec r9d
mov rax, qword [rbp - 0x80]
mov qword [rsp + 0x20], rax
mov rdx, rdi
mov rcx, qword [r10 + 8]
call fcn.140019460
mov r11, qword [rsp + 0x30]
test eax, eax
jne 0x14001ce4e
dec esi
jmp 0x14001ce4e
cmp dword [r13 + 0x40], 0
je case.0x14001cde1.17
test r9w, r9w
je case.0x14001cde1.17
xor edx, edx
mov r8d, 0x410
lea rcx, [rbp + 0x180]
call fcn.140249b10
mov rdx, qword [r13 + 0x38]
lea rcx, [rbp + 0x180]
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
lea rcx, [rbp + 0x180]
call fcn.1400fca30
lea r8, [rbp + 0x180]
mov rdx, rdi
mov rcx, r14
call fcn.140017b00
mov r11, qword [rsp + 0x30]
test eax, eax
jne 0x14001ce4e
dec esi
jmp 0x14001ce4e
cmp byte [r11], 0x1d
je 0x14001d546
test r9w, r9w
je 0x14001ce4e
mov rcx, qword [r10 + 8]
test rcx, rcx
je 0x14001ce4e
mov rdx, rdi
call fcn.140248db4
mov r11, qword [rsp + 0x30]
test rax, rax
je 0x14001ce4e
dec esi
jmp 0x14001ce4e
cmp dword [r13 + 0x40], 0
je 0x14001ce4e
test r9w, r9w
je 0x14001ce4e
xor edx, edx
mov r8d, 0x410
lea rcx, [rbp + 0x590]
call fcn.140249b10
mov rdx, qword [r13 + 0x38]
lea rcx, [rbp + 0x590]
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
lea rcx, [rbp + 0x590]
call fcn.1400fca30
lea r8, [rbp + 0x590]
mov rdx, rdi
mov rcx, r14
call fcn.140017b00
mov r11, qword [rsp + 0x30]
test eax, eax
je 0x14001ce4e
dec esi
jmp 0x14001ce4e
cmp dword [r13 + 0x80], 0
je case.0x14001cde1.17
mov rcx, qword [r13 + 0x88]
test rcx, rcx
je case.0x14001cde1.17
movzx eax, byte [r15 + 4]
cmp al, 0xff
jne 0x14001d5e9
mov edx, dword [r15]
mov r8d, dword [r13 + 0x7c]
test edx, edx
jns 0x14001d60f
add edx, r8d
jmp 0x14001d60f
movzx eax, al
movd xmm1, eax
cvtdq2ps xmm1, xmm1
divss xmm1, xmm6
mov eax, dword [r13 + 0x7c]
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm1
cvttss2si rdx, xmm0
mov r8d, eax
cmp edx, r8d
jb 0x14001d61b
dec esi
jmp 0x14001ce4e
mov r11d, edx
add r11, rcx
movzx r10d, r9w
dec r10d
mov r9d, r8d
sub r9d, r10d
sub r9d, edx
add r9, r11
mov eax, dword [r15 + 9]
test eax, eax
je 0x14001d647
lea rcx, [r11 + rax]
cmp rcx, r9
cmovb r9, rcx
lea eax, [r10 + rdx]
cmp eax, r8d
jb 0x14001d657
dec esi
jmp 0x14001ce49
mov eax, dword [rbp + 0xa50]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r10d
mov r8, r11
mov rdx, rdi
mov rcx, r14
call fcn.14001b6e0
mov r11, qword [rsp + 0x30]
test eax, eax
jne 0x14001d68d
cmp bl, 7
jne 0x14001ce4e
dec esi
jmp 0x14001ce4e
cmp bl, 0xd
jne 0x14001ce4e
dec esi
jmp 0x14001ce4e
cmp dword [r13 + 0x80], 0
je case.0x14001cde1.17
mov r10, qword [r13 + 0x88]
test r10, r10
je case.0x14001cde1.17
movzx eax, byte [r15 + 4]
cmp al, 0xff
jne 0x14001d6d3
mov ecx, dword [r15]
mov edx, dword [r13 + 0x7c]
test ecx, ecx
jns 0x14001d6f8
add ecx, edx
jmp 0x14001d6f8
movzx eax, al
movd xmm1, eax
cvtdq2ps xmm1, xmm1
divss xmm1, xmm6
mov eax, dword [r13 + 0x7c]
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm1
cvttss2si rcx, xmm0
mov edx, eax
cmp ecx, edx
jb 0x14001d703
dec esi
jmp 0x14001ce4e
mov r8d, ecx
add r8, r10
movzx r10d, r9w
mov r9d, edx
sub r9d, r10d
sub r9d, ecx
add r9, r8
lea eax, [r10 + rcx]
cmp eax, edx
jb 0x14001d728
dec esi
jmp 0x14001ce4e
mov eax, dword [r15 + 9]
test eax, eax
je 0x14001d73b
lea rcx, [r8 + rax]
cmp rcx, r9
cmovb r9, rcx
mov eax, dword [rbp + 0xa50]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r10d
mov rdx, rdi
mov rcx, r14
call fcn.14001b6e0
mov r11, qword [rsp + 0x30]
test eax, eax
jne 0x14001d76e
cmp bl, 9
jne 0x14001ce4e
dec esi
jmp 0x14001ce4e
cmp bl, 0xe
jne 0x14001ce4e
dec esi
jmp 0x14001ce4e
cmp dword [r13 + 0x80], 0
je case.0x14001cde1.17
mov r14, qword [r13 + 0x88]
test r14, r14
je case.0x14001cde1.17
cmp byte [r15 + 4], 0xff
jne case.0x14001cde1.17
mov ebx, dword [r15]
mov ecx, dword [r13 + 0x7c]
test ebx, ebx
jns 0x14001d7b4
add ebx, ecx
mov eax, dword [r15 + 5]
cmp eax, ecx
jbe 0x14001d7c3
dec esi
jmp 0x14001ce4e
add eax, ebx
cmp eax, ecx
jbe 0x14001d7d0
dec esi
jmp 0x14001ce4e
xor edx, edx
lea r8d, [rdx + 0x58]
lea rcx, [rbp + 0x20]
call fcn.140249b10
xor eax, eax
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], rax
add rbx, r14
lea rcx, [rbp + 0x20]
call fcn.1400e2150
mov r8d, dword [r15 + 5]
mov rdx, rbx
lea rcx, [rbp + 0x20]
call fcn.1400e1e70
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0x20]
call fcn.1400e1f70
mov rax, qword [rbp - 0x70]
cmp rax, qword [rdi]
jne 0x14001d829
mov rax, qword [rbp - 0x68]
cmp rax, qword [rdi + 8]
je 0x14001ce49
dec esi
jmp 0x14001ce49
cmp byte [r11 + 6], 0
jne 0x14001d853
add r8, 4
mov qword [rsp + 0x48], r8
mov eax, dword [r8]
mov ecx, eax
test rax, rax
mov rdx, qword [rsp + 0x58]
jne 0x14001cd50
mov ebx, 1
mov r11d, dword [rsp + 0x38]
mov r8d, dword [rdi + 8]
test r8b, 4
je 0x14001d875
mov eax, r12d
test esi, esi
cmovg eax, r11d
mov r11d, eax
jmp 0x14001d880
movsx eax, word [r9 + 4]
cmp esi, eax
cmovne r11d, r12d
test byte [r14 + 0x23f0], 2
cmovne r11d, ebx
mov dword [rsp + 0x38], r11d
mov edx, dword [r9]
test rdx, rdx
jne 0x14001cce5
test r11d, r11d
je 0x14001d8c7
mov r10d, dword [rbp + 0xa28]
test byte [r14 + 0x23f0], 2
jne 0x14001d8c7
test r10d, r10d
jne 0x14001d8c4
test r8b, 1
je 0x14001d8c4
cmp dword [rdi + 0x29], r10d
je 0x14001d8c7
mov r12d, ebx
test byte [r14 + 0x23f0], 8
je 0x14001d92c
mov rsi, qword [rdi + 0x19]
lea rcx, [rsi + 0x158]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea rcx, [rsi + 0x160]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov rcx, qword [rsi + 0x158]
sub rcx, qword [rsi + 0x150]
mov qword [rsi + 0x148], rcx
xorps xmm1, xmm1
cvtsi2sd xmm1, rcx
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rsi + 0x160]
divsd xmm1, xmm0
addsd xmm1, qword [rsi + 0x168]
movsd qword [rsi + 0x168], xmm1
mov eax, r12d
mov rbx, qword [rsp + 0xaf8]
movaps xmm6, xmmword [rsp + 0xaa0]
add rsp, 0xab0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
movzx r8d, al
lea rdx, [0x140286ae4]
lea rcx, [rbp + 0x80]
call fcn.140006bc0
lea rcx, [rbp + 0x80]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x14001d8c7
lea rcx, str.list_T__too_long
call fcn.1402453d0
int3
lea rcx, str.list_T__too_long
call fcn.1402453d0
int3