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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov eax, dword [rcx + 0x30]
mov rdi, rcx
cmp eax, 1
jne 0x10007a576
xor r12d, r12d
movabs rdx, 0x8000000000000001
cmp dword [0x1000e2d3c], r12d
je 0x10007a1e7
mov al, byte [0x1000e2d40]
cmp byte [0x1000e2d00], r12b
je 0x10007a1a9
cmp al, 4
jae 0x10007a19e
cmp al, r12b
jne 0x10007a1e7
test byte [0x1000e2d38], 1
jne 0x10007a1cd
jmp 0x10007a1e7
cmp al, 4
jae 0x10007a1b2
cmp al, r12b
jne 0x10007a1e7
test qword [0x1000e2d28], rdx
je 0x10007a1e7
mov rcx, qword [0x1000e2d30]
mov rax, rcx
and rax, rdx
cmp rax, rcx
jne 0x10007a1e7
mov rcx, qword [0x1000e2d10]
lea r8, [0x10000d2d8]
lea rdx, [0x10000d578]
call fcn.1000531fc
inc dword [rdi + 0x4c]
mov byte [rdi + 0x34], 1
mov r14b, r12b
or r13d, 0xffffffff
mov r15, r12
mov rcx, qword [rdi + 8]
mov edx, dword [rdi + 0x38]
inc r15
mov eax, dword [rcx]
inc edx
and eax, 0xfffffff
cmp edx, eax
jge 0x10007a255
mov dword [rdi + 0x38], edx
bt dword [rcx], 0x1c
jae 0x10007a21e
mov rcx, qword [rcx + 8]
jmp 0x10007a222
add rcx, 8
mov ebx, edx
shl rbx, 4
add rbx, rcx
cmp qword [rbx], r12
je 0x10007a481
add dword [rdi + 0x54], r13d
jne 0x10007a242
mov rcx, rdi
call fcn.10007a114
mov rax, qword [rbx]
xor r8d, r8d
mov dword [rax + 0x20], r13d
movzx edx, word [rbx + 8]
jmp 0x10007a473
mov rcx, qword [rdi + 0x28]
mov edx, r12d
mov r8d, dword [rcx + 8]
cmp r8d, r12d
jbe 0x10007a28b
mov rcx, qword [rcx + 0x10]
mov rax, qword [rcx]
jmp 0x10007a27b
cmp byte [rax], r12b
jne 0x10007a3b5
mov rax, qword [rax + 0x18]
cmp rax, r12
jne 0x10007a26e
inc edx
add rcx, 8
cmp edx, r8d
jb 0x10007a269
mov rbp, r12
cmp rbp, r12
je 0x10007a3be
mov rsi, qword [rbp]
test byte [rsi + 0x8b], 8
je 0x10007a3ab
cmp qword [rsi + 0x48], r12
je 0x10007a2b8
cmp dword [rsi + 0x70], 0xfffffffe
jne 0x10007a3ab
lea rdx, [0x1000071d0]
xor r8d, r8d
mov rcx, rsi
call fcn.100055880
mov edx, dword [rax]
mov r13d, dword [rax + 8]
mov ecx, edx
and ecx, 0xffffff80
cmp ecx, 0xffffff80
je 0x10007a2fa
mov ecx, edx
not edx
and ecx, 0xffffff80
and edx, 0x7f
dec ecx
xor ecx, edx
mov dword [rax], ecx
test ecx, 0xffffff80
jne 0x10007a2fa
mov rcx, rax
call fcn.100059224
lea rdx, [0x100007208]
xor r8d, r8d
mov rcx, rsi
call fcn.100055880
mov edx, dword [rax]
mov r12d, dword [rax + 8]
mov ecx, edx
and ecx, 0xffffff80
cmp ecx, 0xffffff80
je 0x10007a33c
mov ecx, edx
not edx
and ecx, 0xffffff80
and edx, 0x7f
dec ecx
xor ecx, edx
mov dword [rax], ecx
test ecx, 0xffffff80
jne 0x10007a33c
mov rcx, rax
call fcn.100059224
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetDC]
cmp r12d, 0xffffffff
lea rdx, [rsp + 0x80]
mov rbx, rax
lea rax, [0x10000ff90]
mov rcx, rsi
mov qword [rsp + 0x30], rax
mov eax, 0x7fff
mov qword [rsp + 0x38], rbx
cmove r12d, eax
cmp r13d, 0xffffffff
cmove r13d, eax
lea rax, [rsp + 0x30]
mov r9d, r12d
mov r8d, r13d
mov qword [rsp + 0x20], rax
call fcn.10005ae94
lea r11, [0x10000ff80]
mov rdx, rbx
xor ecx, ecx
mov qword [rsp + 0x30], r11
call qword [sym.imp.USER32.dll_ReleaseDC]
xor r12d, r12d
or r13d, 0xffffffff
mov rdx, qword [rbp]
mov rcx, qword [rdi + 0x28]
jmp 0x10007a40a
lea rbp, [rax + 8]
jmp 0x10007a28e
mov rcx, qword [rdi + 0x20]
mov edx, r12d
mov r8d, dword [rcx + 8]
cmp r8d, r12d
jbe 0x10007a3f0
mov rcx, qword [rcx + 0x10]
mov rax, qword [rcx]
jmp 0x10007a3e0
cmp byte [rax], r12b
jne 0x10007a417
mov rax, qword [rax + 0x18]
cmp rax, r12
jne 0x10007a3d7
inc edx
add rcx, 8
cmp edx, r8d
jb 0x10007a3d2
mov rbx, r12
cmp rbx, r12
je 0x10007a41d
mov rcx, qword [rbx]
mov rdx, rdi
call fcn.10005aba4
mov rdx, qword [rbx]
mov rcx, qword [rdi + 0x20]
xor r8d, r8d
mov r9b, 1
call fcn.10005862c
jmp 0x10007a481
lea rbx, [rax + 8]
jmp 0x10007a3f3
mov rcx, qword [rdi + 0x10]
mov edx, dword [rdi + 0x3c]
mov eax, dword [rcx]
inc edx
and eax, 0xfffffff
cmp edx, eax
jge 0x10007a47e
mov dword [rdi + 0x3c], edx
bt dword [rcx], 0x1c
jae 0x10007a440
mov rcx, qword [rcx + 8]
jmp 0x10007a444
add rcx, 8
mov ebx, edx
shl rbx, 4
add rbx, rcx
cmp qword [rbx], r12
je 0x10007a481
add dword [rdi + 0x54], r13d
jne 0x10007a460
mov rcx, rdi
call fcn.10007a114
mov rax, qword [rbx]
mov r8b, 1
mov dword [rax + 0x24], r13d
mov edx, dword [rbx + 8]
and edx, 0xffff0000
mov rcx, qword [rbx]
mov rax, qword [rcx]
call qword [rax + 0x40]
jmp 0x10007a481
mov r14b, 1
cmp r14b, r12b
je 0x10007a1f8
mov rcx, qword [rdi + 8]
mov rax, qword [rdi + 0x10]
mov ebx, dword [rcx]
mov esi, dword [rax]
mov byte [rdi + 0x34], r12b
and ebx, 0xfffffff
and esi, 0xfffffff
mov dword [rdi + 0x38], r13d
cmp rcx, r12
je 0x10007a4b4
call fcn.10007b208
mov rcx, qword [rdi + 0x10]
mov dword [rdi + 0x3c], r13d
cmp rcx, r12
je 0x10007a4c6
call fcn.10007b208
mov rcx, qword [rsp + 0x88]
call fcn.1000a0ad0
cmp al, r12b
je 0x10007a4f1
call fcn.1000a27c4
cmp eax, r12d
jl 0x10007a4f1
call fcn.1000a366c
cmp eax, r12d
jl 0x10007a4f1
call fcn.1000a2ce0
add dword [rdi + 0x30], r13d
cmp dword [0x1000e2d3c], r12d
je 0x10007a57b
mov al, byte [0x1000e2d40]
cmp byte [0x1000e2d00], r12b
je 0x10007a521
cmp al, 4
jae 0x10007a516
cmp al, r12b
jne 0x10007a57b
test byte [0x1000e2d38], 1
jne 0x10007a54f
jmp 0x10007a57b
cmp al, 4
jae 0x10007a52a
cmp al, r12b
jne 0x10007a57b
movabs rdx, 0x8000000000000001
test qword [0x1000e2d28], rdx
je 0x10007a57b
mov rcx, qword [0x1000e2d30]
mov rax, rcx
and rax, rdx
cmp rax, rcx
jne 0x10007a57b
mov rcx, qword [0x1000e2d10]
lea r8, [0x10000d2d8]
lea rdx, [0x10000d588]
mov r9d, r15d
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], ebx
call fcn.100079c2c
jmp 0x10007a57b
dec eax
mov dword [rcx + 0x30], eax
mov rbx, qword [rsp + 0x90]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret