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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x118
mov qword [rsp + 0xa8], r9
mov qword [rsp + 0x88], r8
mov qword [rsp + 0xa0], rdx
mov rdi, rcx
mov rbx, qword [rsp + 0x190]
mov r15, qword [rsp + 0x188]
mov rax, qword [rsp + 0x180]
mov eax, dword [rax]
mov rcx, qword [rcx + 0xb8]
mov qword [rsp + 0x90], rcx
xor esi, esi
xor r14d, r14d
mov dword [rsp + 0x58], 0
mov dword [rsp + 0x9c], eax
mov dword [rsp + 0x3c], eax
xor r12d, r12d
xor eax, eax
mov qword [rsp + 0x78], rax
test rbx, rbx
je 0x14007f6ab
cmp r14, qword [rbx]
jae 0x14007f6b7
mov rax, qword [rbx + 8]
mov rbp, qword [rax + r14*8]
mov eax, dword [rbp + 0x30]
test al, 2
jne 0x14007ef3c
mov r13d, dword [r15]
mov rcx, qword [rdi + 0x20]
test byte [rcx + 0x15], 0x10
mov ecx, r13d
not ecx
jne 0x14007eefe
test al, 0x60
jne 0x14007ef3c
jmp 0x14007ef10
test al, 0x40
jne 0x14007ef0b
cmp qword [rbp + 0x40], 0
jne 0x14007ef3c
jmp 0x14007ef10
test dword [rbp + 0x34], ecx
je 0x14007ef3c
mov dword [rsp + 0x64], ecx
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
mov rcx, qword [rax + 0x18]
mov rax, qword [rbp]
mov rdx, qword [rax + 0x10]
call fcn.1400820ae
test eax, eax
je 0x14007ef4a
xor eax, eax
test byte [rbp + 0x30], 0x20
jne 0x14007ef4f
mov r13, rsi
inc r14
mov rsi, r13
jmp 0x14007eec5
mov eax, 0x20
mov ebx, dword [rbp + 0x1c]
shr ebx, 1
mov ecx, 0x100
and ebx, ecx
or ebx, eax
xor ebx, ecx
mov rcx, rdi
mov rdx, rbp
xor r8d, r8d
call fcn.14007ed4d
lea ecx, [rbx + 0x40]
test eax, eax
cmove ecx, ebx
mov dword [rsp + 0x38], ecx
mov rax, qword [rdi + 0x98]
test rax, rax
mov qword [rsp + 0x40], r12
je 0x14007ef8f
mov r15, qword [rax]
jmp 0x14007ef92
xor r15d, r15d
mov rcx, qword [rbp]
mov r12, qword [rcx + 0x10]
movsxd rbx, dword [rdi + 0xac]
dec r15
xor ecx, ecx
cmp r15, rbx
setne dl
test rax, rax
mov dword [rsp + 0x5c], r13d
je 0x14007efcc
mov cl, dl
add ecx, ebx
movsxd rcx, ecx
cmp qword [rax], rcx
jbe 0x14007efcc
mov rax, qword [rax + 8]
mov r13, qword [rax + rcx*8]
jmp 0x14007efcf
xor r13d, r13d
mov rdx, qword [rbp + 0x20]
mov rcx, r13
call fcn.1400ea513
test eax, eax
jne 0x14007eff4
mov eax, dword [rsp + 0x38]
and eax, 0x20
je 0x14007eff4
mov eax, dword [rsp + 0x38]
or eax, 0x1c
jmp 0x14007f0f3
xor eax, eax
cmp r15, rbx
setne al
lea r15, [rbx + rax]
inc r15
mov rax, qword [rdi + 0x98]
test rax, rax
je 0x14007f026
movsxd rcx, dword [rax]
cmp r15, rcx
jge 0x14007f05b
cmp qword [rax], r15
jbe 0x14007f02b
mov rax, qword [rax + 8]
mov r13, qword [rax + r15*8]
jmp 0x14007f02e
test r15, r15
jns 0x14007f05b
xor r13d, r13d
mov rax, qword [r13]
mov rcx, qword [rax + 0x28]
mov rdx, r12
call fcn.1400820ae
test eax, eax
jne 0x14007f056
mov rdx, qword [rbp + 0x20]
mov rcx, r13
call fcn.1400ea513
test eax, eax
je 0x14007f0ec
inc r15
jmp 0x14007f003
mov rax, qword [rdi + 0x20]
test byte [rax + 0x15], 0x10
jne 0x14007f07f
mov r13, rsi
mov rbx, qword [rsp + 0x190]
mov r12, qword [rsp + 0x40]
mov r15, qword [rsp + 0x188]
jmp 0x14007f0e6
xor ebx, ebx
mov r15, qword [rsp + 0x188]
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x14007f0d6
cmp rbx, qword [rax]
jae 0x14007f0d6
cmp qword [rax], rbx
jbe 0x14007f0a6
mov rax, qword [rax + 8]
mov r13, qword [rax + rbx*8]
jmp 0x14007f0a9
xor r13d, r13d
mov rax, qword [r13]
mov rcx, qword [rax + 0x28]
mov rdx, r12
call fcn.1400820ae
test eax, eax
jne 0x14007f0d1
mov rdx, qword [rbp + 0x20]
mov rcx, r13
call fcn.1400ea513
test eax, eax
je 0x14007f664
inc rbx
jmp 0x14007f089
mov r13, rsi
mov rbx, qword [rsp + 0x190]
mov r12, qword [rsp + 0x40]
mov eax, dword [rsp + 0x38]
jmp 0x14007f108
mov eax, dword [rsp + 0x38]
or eax, 0xc
mov rbx, qword [rsp + 0x190]
mov r12, qword [rsp + 0x40]
mov r15, qword [rsp + 0x188]
test al, 4
je 0x14007ef3f
mov dword [rsp + 0x38], eax
mov eax, dword [rbp + 0x30]
test al, 0x10
jne 0x14007f4de
mov rcx, qword [rsp + 0x90]
test byte [rcx + 0x30], 0x10
jne 0x14007f136
test al, 8
je 0x14007f13e
jmp 0x14007f4de
test al, 4
jne 0x14007f4de
mov edx, dword [rbp + 0x34]
xor ecx, ecx
mov dword [rsp + 0x60], edx
mov rax, qword [rsp + 0x90]
mov rax, qword [rax + 0x58]
test rax, rax
je 0x14007f4a5
cmp rcx, qword [rax]
jae 0x14007f4a5
cmp qword [rax], rcx
jbe 0x14007f174
mov rax, qword [rax + 8]
mov rsi, qword [rax + rcx*8]
jmp 0x14007f176
xor esi, esi
mov rax, qword [rsi + 0x10]
test rax, rax
mov qword [rsp + 0xb0], rcx
je 0x14007f1cc
mov rcx, qword [rbp]
mov r12, qword [rcx + 0x10]
xor ebx, ebx
test rax, rax
je 0x14007f19b
mov rcx, qword [rax]
jmp 0x14007f19d
xor ecx, ecx
cmp rbx, rcx
jae 0x14007f23e
mov rcx, qword [rax + 8]
mov rcx, qword [rcx + rbx*8]
cmp dword [rcx], 4
jne 0x14007f1c7
mov rcx, qword [rcx + 8]
mov rdx, r12
call fcn.1400820ae
test eax, eax
je 0x14007f1d3
mov rax, qword [rsi + 0x10]
inc rbx
jmp 0x14007f191
test byte [rsp + 0x38], 0x20
je 0x14007f23e
mov rax, qword [rbp + 0x28]
test rax, rax
je 0x14007f46e
mov r8, qword [rsi]
test r8, r8
je 0x14007f46e
mov r9, qword [rax]
test r9, r9
je 0x14007f46e
cmp dword [r8], 1
jne 0x14007f22b
mov r12, qword [r8 + 0x10]
test r12, r12
je 0x14007f23e
cmp dword [r9], 1
jne 0x14007f430
mov rdx, qword [r9 + 0x10]
test rdx, rdx
je 0x14007f23e
mov rcx, r12
call fcn.1400820ae
test eax, eax
jne 0x14007f23e
jmp 0x14007f46e
cmp dword [r9], 1
jne 0x14007f252
mov r12, qword [r9 + 0x10]
test r12, r12
jne 0x14007f433
mov rcx, qword [rsp + 0xb0]
inc rcx
mov edx, dword [rsp + 0x60]
jmp 0x14007f147
xor r10d, r10d
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x48], r9
mov rax, qword [r8 + 8]
test rax, rax
je 0x14007f23e
cmp r10, qword [rax]
jae 0x14007f23e
cmp qword [rax], r10
jbe 0x14007f27c
mov rax, qword [rax + 8]
mov r11, qword [rax + r10*8]
jmp 0x14007f27f
xor r11d, r11d
xor r15d, r15d
mov rax, qword [r9 + 8]
test rax, rax
je 0x14007f428
cmp r15, qword [rax]
jae 0x14007f428
mov r12d, 0xffffffff
cmp qword [rax], r15
jbe case.default.0x14007f2d1
test r11, r11
je case.default.0x14007f2d1
mov rax, qword [rax + 8]
mov rax, qword [rax + r15*8]
test rax, rax
je case.default.0x14007f2d1
mov ecx, dword [r11]
cmp ecx, dword [rax]
jne case.default.0x14007f2d1
cmp ecx, 8
ja case.default.0x14007f2d1
mov ecx, ecx
lea rdx, [0x14007f834]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
mov rcx, qword [r11 + 8]
mov rdx, qword [rax + 8]
mov rbx, r10
mov r12, r11
call fcn.1400ef3d8
mov r11, r12
mov r10, rbx
mov r9, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
mov r12d, eax
inc r15
test r12d, r12d
jne 0x14007f282
jmp 0x14007f46e
mov rbx, qword [r11 + 8]
test rbx, rbx
je case.default.0x14007f2d1
mov rax, qword [rax + 8]
test rax, rax
je case.default.0x14007f2d1
mov rcx, qword [rbx]
mov rdx, qword [rax]
mov qword [rsp + 0x70], r10
mov qword [rsp + 0x68], r11
mov qword [rsp + 0x80], rax
call fcn.1400eb9aa
mov r11, qword [rsp + 0x68]
mov r10, qword [rsp + 0x70]
mov r9, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
mov r12d, eax
mov rax, qword [rsp + 0x80]
test r12d, r12d
jne case.default.0x14007f2d1
mov rcx, qword [rbx + 8]
mov rdx, qword [rax + 8]
call fcn.1400eefa0
mov r11, qword [rsp + 0x68]
mov r10, qword [rsp + 0x70]
jmp 0x14007f2ec
mov rcx, qword [r11 + 8]
mov rdx, qword [rax + 8]
mov rbx, r10
mov r12, r11
call fcn.1400eefa0
jmp 0x14007f2e6
mov rcx, qword [r11 + 8]
mov rdx, qword [rax + 8]
mov rbx, r10
mov r12, r11
call fcn.1400820ae
jmp 0x14007f2e6
mov rbx, qword [r11 + 8]
mov rax, qword [rax + 8]
mov rcx, qword [rbx]
mov rdx, qword [rax]
test rcx, rcx
je 0x14007f416
test rdx, rdx
je case.default.0x14007f2d1
mov qword [rsp + 0x70], r10
mov qword [rsp + 0x68], r11
mov qword [rsp + 0x80], rax
call fcn.1400ef3d8
mov r11, qword [rsp + 0x68]
mov r10, qword [rsp + 0x70]
mov r9, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
test eax, eax
mov rax, qword [rsp + 0x80]
jne case.default.0x14007f2d1
jmp 0x14007f41f
mov rcx, qword [r11 + 8]
mov rdx, qword [rax + 8]
mov rbx, r10
mov r12, r11
call fcn.1400eb9aa
jmp 0x14007f2e6
test rdx, rdx
jne case.default.0x14007f2d1
mov rcx, qword [rbx + 8]
jmp 0x14007f2d7
inc r10
jmp 0x14007f25f
mov r8, r9
mov rbx, qword [r8 + 8]
xor r15d, r15d
test rbx, rbx
je 0x14007f23e
cmp r15, qword [rbx]
jae 0x14007f23e
mov rax, qword [rbx + 8]
mov rax, qword [rax + r15*8]
cmp dword [rax], 4
jne 0x14007f469
mov rdx, qword [rax + 8]
mov rcx, r12
call fcn.1400820ae
test eax, eax
je 0x14007f46e
inc r15
jmp 0x14007f43a
mov edx, dword [rsp + 0x60]
and edx, dword [rsi + 0x18]
mov rbx, qword [rsp + 0x190]
mov r12, qword [rsp + 0x40]
mov r15, qword [rsp + 0x188]
mov ecx, dword [rsp + 0x64]
mov eax, dword [rsp + 0x38]
test edx, ecx
je 0x14007ef3f
or dword [rsp + 0x5c], edx
or eax, 0x80
jmp 0x14007f4e2
mov rax, qword [rbp + 0x28]
test rax, rax
mov rbx, qword [rsp + 0x190]
mov r12, qword [rsp + 0x40]
mov r15, qword [rsp + 0x188]
mov ecx, dword [rsp + 0x64]
je 0x14007f67d
test byte [rsp + 0x38], 0x20
je 0x14007f4de
cmp qword [rax], 0
mov eax, dword [rsp + 0x38]
je 0x14007f492
jmp 0x14007f4e2
mov eax, dword [rsp + 0x38]
cmp eax, dword [rsp + 0x3c]
jl 0x14007ef3f
test eax, eax
je 0x14007ef3f
cmp eax, dword [rsp + 0x3c]
jne 0x14007f649
test r12, r12
je 0x14007f649
mov rax, qword [r12]
mov rdx, qword [rax + 0x18]
mov rax, qword [rbp]
mov r12, qword [rax + 0x18]
lea rcx, [rsp + 0xf0]
mov r8d, 1
call fcn.1400e99b2
test eax, eax
je 0x14007f637
lea rcx, [rsp + 0xc8]
mov rdx, r12
mov r8d, 1
call fcn.1400e99b2
test eax, eax
je 0x14007f637
mov ecx, dword [rsp + 0xdc]
mov esi, 0x76c
add ecx, esi
mov edx, dword [rsp + 0xd8]
inc edx
mov r8d, dword [rsp + 0xd4]
mov r9d, dword [rsp + 0xd0]
mov eax, dword [rsp + 0xc8]
mov r10d, dword [rsp + 0xcc]
lea r11, [rsp + 0xc0]
mov qword [rsp + 0x30], r11
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r10d
call fcn.14010da03
test eax, eax
je 0x14007f637
mov ecx, dword [rsp + 0x104]
add ecx, esi
mov edx, dword [rsp + 0x100]
inc edx
mov r8d, dword [rsp + 0xfc]
mov r9d, dword [rsp + 0xf8]
mov eax, dword [rsp + 0xf0]
mov r10d, dword [rsp + 0xf4]
lea r11, [rsp + 0xb8]
mov qword [rsp + 0x30], r11
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r10d
call fcn.14010da03
test eax, eax
je 0x14007f637
mov rax, qword [rsp + 0xc0]
sub rax, qword [rsp + 0xb8]
movabs rcx, 0xffff574000000000
add rcx, rax
movabs rdx, 0xfffeae7ffffeae81
cmp rcx, rdx
jb 0x14007f637
cqo
mov ecx, 0x15180
idiv rcx
test eax, eax
jg 0x14007f68e
test edx, edx
jg 0x14007f68e
mov rbx, qword [rsp + 0x190]
mov r12, qword [rsp + 0x40]
jmp 0x14007ef3f
mov ecx, eax
mov eax, dword [rsp + 0x5c]
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x3c], ecx
mov r12, rbp
mov qword [rsp + 0x78], r13
jmp 0x14007ef3f
mov eax, dword [rsp + 0x38]
or eax, 4
mov rbx, qword [rsp + 0x190]
mov r12, qword [rsp + 0x40]
jmp 0x14007f108
mov eax, dword [rsp + 0x38]
test al, 0x20
jne 0x14007f492
jmp 0x14007f4e2
mov eax, dword [rsp + 0x5c]
mov dword [rsp + 0x58], eax
mov r12, rbp
mov qword [rsp + 0x78], r13
mov rbx, qword [rsp + 0x190]
jmp 0x14007ef3f
mov ecx, dword [rsp + 0x9c]
jmp 0x14007f73f
test r12, r12
je 0x14007f73b
mov rsi, qword [rsp + 0xa0]
mov rcx, qword [rsi]
test rcx, rcx
je 0x14007f6d1
call fcn.1400e425b
mov qword [rsi], r12
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x78]
mov qword [rax], rcx
mov eax, dword [rsp + 0x3c]
mov rcx, qword [rsp + 0x180]
mov dword [rcx], eax
mov eax, dword [rsp + 0x58]
mov dword [r15], eax
lea rcx, [r12 + 0x18]
call fcn.1400cd29c
mov rsi, qword [rsp + 0x88]
mov rcx, qword [rsi]
test rcx, rcx
je 0x14007f71c
call fcn.1400e425b
and qword [rsi], 0
mov rax, qword [rdi + 0x20]
test byte [rax + 0x15], 0x20
je 0x14007f73b
mov rax, qword [rdi + 0xb8]
mov ecx, dword [r12 + 0x1c]
or ecx, dword [rax + 0x30]
bt ecx, 0xc
jb 0x14007f75e
mov ecx, dword [rsp + 0x3c]
xor eax, eax
cmp ecx, 0x1c0
setge al
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor esi, esi
cmp rsi, qword [rbx]
jae 0x14007f81c
mov rax, qword [rbx + 8]
mov r14, qword [rax + rsi*8]
cmp qword [r14 + 0x40], 0
je 0x14007f798
cmp qword [r12 + 0x38], 0
je 0x14007f798
mov rax, qword [r12]
mov rcx, qword [rax + 0x10]
mov rax, qword [r14]
mov rdx, qword [rax + 0x10]
call fcn.1400820ae
test eax, eax
je 0x14007f79d
inc rsi
jmp 0x14007f760
mov rcx, r14
mov rdx, r12
mov r8d, 0x5a
call fcn.14007f861
test eax, eax
je 0x14007f798
mov rcx, r14
mov rdx, r12
mov r8d, 0x302
call fcn.14007f861
test eax, eax
je 0x14007f798
mov rcx, qword [r14 + 0x40]
mov r15, qword [r12 + 0x38]
mov rdx, r15
call fcn.1400e9a66
test eax, eax
jg 0x14007f798
mov rcx, qword [r14 + 0x38]
mov rdx, r15
call fcn.1400e9a66
test eax, eax
jle 0x14007f798
mov rcx, rdi
mov rdx, r14
xor r8d, r8d
call fcn.14007ed4d
test eax, eax
mov rsi, qword [rsp + 0x88]
je 0x14007f811
mov rax, qword [rsp + 0x180]
or byte [rax], 2
lea rcx, [r14 + 0x18]
call fcn.1400cd29c
jmp 0x14007f827
xor r14d, r14d
mov rsi, qword [rsp + 0x88]
mov ecx, dword [rsp + 0x3c]
mov qword [rsi], r14
jmp 0x14007f73f