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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
sub rsp, 0xd0
mov rbp, rdx
test rdx, rdx
je 0x140069910
cmp dword [rcx + 0x38], 9
mov qword [rax + 0x18], rbx
mov rbx, rcx
jne 0x140069908
mov qword [rax + 0x20], rsi
mov qword [rax - 0x10], rdi
mov qword [rax - 0x18], r12
xor r12d, r12d
mov esi, r12d
mov rdi, r12
test rdi, rdi
js 0x140069919
cmp esi, dword [rbx + 0x38]
jge 0x140069919
mov rax, qword [rbx + 0x30]
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x34], r12d
mov rcx, qword [rdi + rax]
test rcx, rcx
je 0x14006955a
mov rcx, qword [rcx + 8]
test rcx, rcx
je 0x14006955a
xor eax, eax
lea r8, [rsp + 0x38]
mov dword [rsp + 0x38], r12d
lea edx, [rax + 0x20]
mov dword [rsp + 0x3c], eax
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x44], eax
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x4c], eax
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x54], eax
call qword [sym.imp.GDI32.dll_GetObjectW]
mov r11d, dword [rsp + 0x3c]
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x30], r11d
mov dword [rsp + 0x34], eax
mov rax, qword [rsp + 0x30]
add rdi, 8
inc esi
cmp rdi, 0x48
mov qword [rsp + rdi + 0x58], rax
jl 0x1400694e5
cmp dword [rbx + 0x38], r12d
jg 0x140069590
xor r9d, r9d
xor r8d, r8d
mov ecx, 0xc000008c
lea edx, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_RaiseException]
mov rax, qword [rbx + 0x30]
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x34], r12d
mov r8, qword [rax]
test r8, r8
je 0x1400695be
mov eax, dword [rbx + 0xc]
mov r9d, dword [rbx + 8]
lea rdx, [rsp + 0x30]
mov rcx, rbp
mov dword [rsp + 0x20], eax
call fcn.140055470
mov edx, dword [rbx + 0x10]
sub edx, dword [rbx + 8]
cmp dword [rbx + 0x38], 1
jg 0x1400695e0
xor r9d, r9d
xor r8d, r8d
mov ecx, 0xc000008c
lea edx, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_RaiseException]
mov rax, qword [rbx + 0x30]
mov edi, dword [rsp + 0x70]
mov qword [rsp + 0xb8], r14
mov rcx, qword [rax + 8]
mov r14d, dword [rsp + 0x6c]
test rcx, rcx
je 0x14006962e
mov r10, qword [rcx + 8]
test r10, r10
je 0x14006962e
mov ecx, dword [rsp + 0x60]
mov eax, dword [rbx + 8]
mov r9d, dword [rbx + 0xc]
sub edx, edi
lea r8d, [rcx + rax]
mov dword [rsp + 0x28], r14d
sub edx, ecx
mov rcx, rbp
mov dword [rsp + 0x20], edx
mov rdx, r10
call fcn.140054940
cmp dword [rbx + 0x38], 2
jg 0x14006964a
xor r9d, r9d
xor r8d, r8d
mov ecx, 0xc000008c
lea edx, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_RaiseException]
mov rax, qword [rbx + 0x30]
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x34], r12d
mov r8, qword [rax + 0x10]
test r8, r8
je 0x14006967c
mov r9d, dword [rbx + 0x10]
mov eax, dword [rbx + 0xc]
lea rdx, [rsp + 0x30]
sub r9d, edi
mov rcx, rbp
mov dword [rsp + 0x20], eax
call fcn.140055470
mov ecx, dword [rbx + 0x14]
sub ecx, dword [rbx + 0xc]
cmp dword [rbx + 0x38], 3
jg 0x14006969e
xor r9d, r9d
xor r8d, r8d
mov ecx, 0xc000008c
lea edx, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_RaiseException]
mov rax, qword [rbx + 0x30]
mov esi, dword [rsp + 0x78]
mov edi, dword [rsp + 0x64]
mov rdx, qword [rax + 0x18]
test rdx, rdx
je 0x1400696e0
mov rdx, qword [rdx + 8]
test rdx, rdx
je 0x1400696e0
sub ecx, dword [rsp + 0x94]
mov eax, dword [rbx + 0xc]
mov r8d, dword [rbx + 8]
sub ecx, edi
lea r9d, [rdi + rax]
mov dword [rsp + 0x28], ecx
mov rcx, rbp
mov dword [rsp + 0x20], esi
call fcn.140054940
mov edx, dword [rbx + 0x14]
mov r10d, dword [rbx + 0x10]
sub edx, dword [rbx + 0xc]
sub r10d, dword [rbx + 8]
cmp dword [rbx + 0x38], 4
jg 0x14006970a
xor r9d, r9d
xor r8d, r8d
mov ecx, 0xc000008c
lea edx, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_RaiseException]
mov rax, qword [rbx + 0x30]
mov r12d, dword [rsp + 0x88]
mov qword [rsp + 0xb0], r15
mov rcx, qword [rax + 0x20]
mov r15d, dword [rsp + 0x9c]
test rcx, rcx
je 0x140069766
mov r11, qword [rcx + 8]
test r11, r11
je 0x140069766
mov eax, dword [rbx + 0xc]
sub edx, r15d
sub r10d, r12d
sub edx, r14d
lea r9d, [rdi + rax]
mov eax, dword [rbx + 8]
mov dword [rsp + 0x28], edx
sub r10d, esi
lea r8d, [rsi + rax]
mov rdx, r11
mov rcx, rbp
mov dword [rsp + 0x20], r10d
call fcn.140054940
mov edx, dword [rbx + 0x14]
sub edx, dword [rbx + 0xc]
cmp dword [rbx + 0x38], 5
jg 0x140069788
xor r9d, r9d
xor r8d, r8d
mov ecx, 0xc000008c
lea edx, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_RaiseException]
mov rax, qword [rbx + 0x30]
mov esi, dword [rsp + 0xa4]
mov rcx, qword [rax + 0x28]
test rcx, rcx
je 0x1400697cf
mov r10, qword [rcx + 8]
test r10, r10
je 0x1400697cf
mov ecx, dword [rsp + 0x74]
mov eax, dword [rbx + 0xc]
mov r8d, dword [rbx + 0x10]
sub edx, esi
lea r9d, [rcx + rax]
sub r8d, r12d
sub edx, ecx
mov rcx, rbp
mov dword [rsp + 0x28], edx
mov rdx, r10
mov dword [rsp + 0x20], r12d
call fcn.140054940
cmp dword [rbx + 0x38], 6
jg 0x1400697eb
xor r9d, r9d
xor r8d, r8d
mov ecx, 0xc000008c
lea edx, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_RaiseException]
mov rax, qword [rbx + 0x30]
xor r12d, r12d
mov r8, qword [rax + 0x30]
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x34], r12d
test r8, r8
je 0x140069824
mov eax, dword [rbx + 0x14]
mov r9d, dword [rbx + 8]
lea rdx, [rsp + 0x30]
sub eax, dword [rsp + 0x94]
mov rcx, rbp
mov dword [rsp + 0x20], eax
call fcn.140055470
mov edx, dword [rbx + 0x10]
sub edx, dword [rbx + 8]
cmp dword [rbx + 0x38], 7
jg 0x140069846
xor r9d, r9d
xor r8d, r8d
mov ecx, 0xc000008c
lea edx, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_RaiseException]
mov rax, qword [rbx + 0x30]
mov edi, dword [rsp + 0xa0]
mov rcx, qword [rax + 0x38]
test rcx, rcx
je 0x140069890
mov r10, qword [rcx + 8]
test r10, r10
je 0x140069890
mov ecx, dword [rsp + 0x90]
mov eax, dword [rbx + 8]
mov r9d, dword [rbx + 0x14]
sub edx, edi
lea r8d, [rcx + rax]
mov dword [rsp + 0x28], r15d
sub edx, ecx
sub r9d, r15d
mov rcx, rbp
mov dword [rsp + 0x20], edx
mov rdx, r10
call fcn.140054940
cmp dword [rbx + 0x38], 8
jg 0x1400698ac
xor r9d, r9d
xor r8d, r8d
mov ecx, 0xc000008c
lea edx, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_RaiseException]
mov rax, qword [rbx + 0x30]
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x34], r12d
mov r8, qword [rax + 0x40]
test r8, r8
je 0x1400698e0
mov eax, dword [rbx + 0x14]
mov r9d, dword [rbx + 0x10]
lea rdx, [rsp + 0x30]
sub eax, esi
sub r9d, edi
mov rcx, rbp
mov dword [rsp + 0x20], eax
call fcn.140055470
mov r15, qword [rsp + 0xb0]
mov r14, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0xf8]
mov r12, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0xf0]
add rsp, 0xd0
pop rbp
ret
xor r9d, r9d
xor r8d, r8d
mov ecx, 0xc000008c
lea edx, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_RaiseException]