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

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xd8
mov rbp, rsp
mov qword [rbp + 0x68], rbp
mov qword [rbp + 0x100], rcx
mov qword [rbp + 0x108], rdx
mov rax, qword [rbp + 0x100]
lea rcx, [rax + 0xc]
call fcn.00417ae0
test eax, eax
je 0x6d1fd3
mov rax, qword [rbp + 0x100]
lea rcx, [rax + 0xc]
call fcn.00417af0
test eax, eax
je 0x6d1fd3
call fcn.00659b50
mov qword [rbp + 0x88], rax
mov rcx, qword [rbp + 0x88]
mov rax, qword [rbp + 0x88]
mov rax, qword [rax]
call qword [rax + 0x90]
test al, al
je 0x6d1fd3
mov rcx, qword [rbp + 0x100]
call fcn.006d03b0
mov qword [rbp + 0xb0], rax
cmp qword [rbp + 0xb0], 0
je 0x6d1fd3
mov qword [rbp + 0xa8], 0
mov rax, qword [rbp + 0x100]
mov rcx, qword [rax + 0x20]
call fcn.006d47f0
mov rax, qword [rax + 0x4d0]
mov rax, qword [rax + 0x70]
mov rax, qword [rax + 0xc0]
mov qword [rbp + 0x80], rax
cmp qword [rbp + 0x80], 0
je 0x6d155c
mov rcx, qword [rbp + 0x80]
call fcn.006a1670
test eax, eax
jle 0x6d155c
mov rcx, qword [rbp + 0x80]
call fcn.006a1ff0
mov rcx, rax
mov rdx, qword [0x006980d0]
call fcn.0040b210
test al, al
je 0x6d155c
mov rcx, qword [rbp + 0x80]
call fcn.006a1ff0
mov qword [rbp + 0xa8], rax
mov rcx, qword [0x0057e380]
mov dl, 1
call fcn.0058cb00
mov qword [rbp + 0xc8], rax
nop
mov rax, qword [rbp + 0x100]
lea rcx, [rax + 0xc]
call fcn.00417ae0
mov ebx, eax
mov rax, qword [rbp + 0x100]
lea rcx, [rax + 0xc]
call fcn.00417af0
mov rcx, qword [rbp + 0xc8]
mov edx, ebx
mov r8d, eax
mov rax, qword [rbp + 0xc8]
mov rbx, qword [rax]
call qword [rbx + 0xd8]
mov rcx, qword [rbp + 0xc8]
call fcn.0058dd80
mov rcx, rax
call fcn.00584980
mov rcx, rax
call sub.gdi32.dll_SaveDC
mov dword [rbp + 0xc4], eax
nop
mov rcx, qword [rbp + 0x88]
lea rdx, [rbp + 0xb8]
mov r8b, 0xa
mov rax, qword [rbp + 0x88]
mov rbx, qword [rax]
call qword [rbx + 0x140]
mov rcx, qword [rbp + 0xc8]
call fcn.0058dd80
mov rcx, rax
call fcn.00584980
mov rbx, rax
mov rcx, qword [rbp + 0xc8]
mov rax, qword [rbp + 0xc8]
mov rax, qword [rax]
call qword [rax + 0x60]
mov esi, eax
mov rcx, qword [rbp + 0xc8]
mov rax, qword [rbp + 0xc8]
mov rax, qword [rax]
call qword [rax + 0x48]
lea rcx, [rbp + 0x58]
xor rdx, rdx
xor r8, r8
mov r9d, esi
mov dword [rsp + 0x20], eax
call fcn.00418350
mov rcx, qword [rbp + 0x88]
mov rdx, rbx
lea r8, [rbp + 0xb8]
lea r9, [rbp + 0x58]
mov qword [rsp + 0x20], 0
call fcn.0065a7d0
nop
mov rcx, qword [rbp + 0xc8]
call fcn.0058dd80
mov rcx, rax
call fcn.00584980
mov rcx, rax
mov edx, dword [rbp + 0xc4]
call sub.gdi32.dll_RestoreDC
mov rcx, qword [rbp + 0xc8]
call fcn.0058dd80
mov rax, qword [rax + 0x70]
mov rcx, rax
mov rdx, qword [0x007b4ae0]
mov rdx, qword [rdx + 0x100]
mov rbx, qword [rax]
call qword [rbx + 0x10]
mov rcx, qword [rbp + 0xc8]
call fcn.0058dd80
mov rcx, qword [rax + 0x80]
mov dl, 1
call fcn.00582b90
mov rax, qword [rbp + 0x100]
cmp byte [rax + 0xc1], 0
je 0x6d16f2
mov rcx, qword [rbp + 0x100]
call fcn.006cf210
test al, al
jne 0x6d16f7
xor rax, rax
jmp 0x6d16f9
mov al, 1
mov byte [rbp + 0x93], al
cmp byte [rbp + 0x93], 0
je 0x6d1774
mov rcx, qword [rbp + 0xc8]
call fcn.0058dd80
mov rcx, rax
call fcn.00584980
mov rbx, rax
mov rcx, qword [rbp + 0x100]
call fcn.006cf060
mov rcx, rax
call fcn.00590f30
mov rcx, rbx
mov edx, 2
mov r8d, 2
mov r9, rax
mov dword [rsp + 0x20], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x30], 0
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x40], 3
call sub.user32.dll_DrawIconEx
mov rcx, rbp
mov rdx, qword [rbp + 0xb0]
mov r8, qword [rbp + 0xa8]
call fcn.006d11d0
mov rcx, qword [rbp + 0x100]
mov dword [rcx + 0x3c], eax
mov rax, qword [rbp + 0x100]
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 0x10]
cmp byte [rax + 0xa1], 1
sete al
mov byte [rbp + 0x92], al
mov ecx, 0xf
call sub.user32.dll_GetSystemMetrics
mov dword [rbp + 0x94], eax
cmp byte [rbp + 0x92], 0
jne 0x6d17f0
cmp byte [rbp + 0x93], 0
je 0x6d17e4
mov eax, dword [rbp + 0x94]
mov dword [rbp + 0xa0], eax
jmp 0x6d183a
mov dword [rbp + 0xa0], 0
jmp 0x6d183a
mov rax, qword [rbp + 0x100]
cmp byte [rax + 0xc1], 0
je 0x6d1824
mov rax, qword [rbp + 0x100]
lea rcx, [rax + 0xc]
call fcn.00417ae0
mov ecx, dword [rbp + 0x94]
lea rcx, [rcx + rcx*2]
sub eax, ecx
mov dword [rbp + 0xa0], eax
jmp 0x6d183a
mov rax, qword [rbp + 0x100]
lea rcx, [rax + 0xc]
call fcn.00417ae0
mov dword [rbp + 0xa0], eax
mov dword [rbp + 0x9c], 0
xor rax, rax
mov rcx, qword [rbp + 0x100]
mov ebx, dword [rcx + 0x3c]
sub ebx, 1
mov dword [rbp + 0xa4], eax
cmp dword [rbp + 0xa4], ebx
jg 0x6d1c69
add ebx, 1
mov rax, qword [rbp + 0x100]
mov rax, qword [rax + 0x40]
movsxd rcx, dword [rbp + 0xa4]
add rcx, rcx
add rcx, rcx
mov edx, dword [rbp + 0xa4]
mov dword [rax + rcx*8], edx
mov rcx, qword [rbp + 0xc8]
call fcn.0058dd80
mov rcx, qword [rbp + 0x100]
mov rdx, qword [rbp + 0x100]
mov rdx, qword [rdx + 0x40]
movsxd r8, dword [rbp + 0xa4]
add r8, r8
add r8, r8
mov rdx, qword [rdx + r8*8 + 8]
mov r8, rax
call fcn.006d0aa0
mov dword [rbp + 0x98], eax
cmp dword [rbp + 0x98], 0
jne 0x6d1915
lea rcx, [rbp + 0x58]
xor rdx, rdx
xor r8, r8
xor r9, r9
mov dword [rsp + 0x20], 0
call fcn.00418350
mov rax, qword [rbp + 0x100]
mov rax, qword [rax + 0x40]
movsxd rcx, dword [rbp + 0xa4]
add rcx, rcx
add rcx, rcx
lea rdi, [rax + rcx*8 + 0x10]
lea rsi, [rbp + 0x58]
movsq qword [rdi], qword [rsi]
movsq qword [rdi], qword [rsi]
jmp 0x6d1c56
cmp byte [rbp + 0x92], 0
jne 0x6d1a34
mov rax, qword [rbp + 0x100]
mov rax, qword [rax + 0x40]
movsxd rcx, dword [rbp + 0xa4]
add rcx, rcx
add rcx, rcx
mov edx, dword [rbp + 0xa0]
mov dword [rax + rcx*8 + 0x10], edx
mov rax, qword [rbp + 0x100]
mov rax, qword [rax + 0x40]
movsxd rcx, dword [rbp + 0xa4]
add rcx, rcx
add rcx, rcx
mov rdx, qword [rbp + 0x100]
mov rdx, qword [rdx + 0x40]
movsxd r8, dword [rbp + 0xa4]
add r8, r8
add r8, r8
mov edx, dword [rdx + r8*8 + 0x10]
add edx, dword [rbp + 0x98]
mov dword [rax + rcx*8 + 0x18], edx
mov rax, qword [rbp + 0x100]
lea rcx, [rax + 0xc]
call fcn.00417ae0
mov rcx, qword [rbp + 0x100]
mov rcx, qword [rcx + 0x40]
movsxd rdx, dword [rbp + 0xa4]
add rdx, rdx
add rdx, rdx
cmp dword [rcx + rdx*8 + 0x18], eax
jle 0x6d1a0d
cmp dword [rbp + 0xa0], 0
je 0x6d1a0d
mov ecx, 0xf
call sub.user32.dll_GetSystemMetrics
add dword [rbp + 0x9c], eax
mov rax, qword [rbp + 0x100]
mov rax, qword [rax + 0x40]
movsxd rcx, dword [rbp + 0xa4]
add rcx, rcx
add rcx, rcx
mov dword [rax + rcx*8 + 0x10], 0
mov rax, qword [rbp + 0x100]
mov rax, qword [rax + 0x40]
movsxd rcx, dword [rbp + 0xa4]
add rcx, rcx
add rcx, rcx
mov edx, dword [rbp + 0x98]
mov dword [rax + rcx*8 + 0x18], edx
mov rax, qword [rbp + 0x100]
mov rax, qword [rax + 0x40]
movsxd rcx, dword [rbp + 0xa4]
add rcx, rcx
add rcx, rcx
mov eax, dword [rax + rcx*8 + 0x18]
mov dword [rbp + 0xa0], eax
jmp 0x6d1bb5
mov rax, qword [rbp + 0x100]
mov rax, qword [rax + 0x40]
movsxd rcx, dword [rbp + 0xa4]
add rcx, rcx
add rcx, rcx
mov edx, dword [rbp + 0xa0]
sub edx, dword [rbp + 0x98]
mov dword [rax + rcx*8 + 0x10], edx
mov rax, qword [rbp + 0x100]
mov rax, qword [rax + 0x40]
movsxd rcx, dword [rbp + 0xa4]
add rcx, rcx
add rcx, rcx
mov rdx, qword [rbp + 0x100]
mov rdx, qword [rdx + 0x40]
movsxd r8, dword [rbp + 0xa4]
add r8, r8
add r8, r8
mov edx, dword [rdx + r8*8 + 0x10]
add edx, dword [rbp + 0x98]
mov dword [rax + rcx*8 + 0x18], edx
mov rax, qword [rbp + 0x100]
mov rax, qword [rax + 0x40]
movsxd rcx, dword [rbp + 0xa4]
add rcx, rcx
add rcx, rcx
cmp dword [rax + rcx*8 + 0x10], 0
jge 0x6d1b93
cmp dword [rbp + 0xa0], 0
je 0x6d1b93
mov ecx, 0xf
call sub.user32.dll_GetSystemMetrics
add dword [rbp + 0x9c], eax
mov rax, qword [rbp + 0x100]
cmp byte [rax + 0xc1], 0
je 0x6d1b28
mov rax, qword [rbp + 0x100]
lea rcx, [rax + 0xc]
call fcn.00417ae0
mov rcx, qword [rbp + 0x100]
mov rcx, qword [rcx + 0x40]
movsxd rdx, dword [rbp + 0xa4]
add rdx, rdx
add rdx, rdx
mov r8d, dword [rbp + 0x94]
lea r8, [r8 + r8*2]
sub eax, r8d
mov dword [rcx + rdx*8 + 0x18], eax
jmp 0x6d1b54
mov rax, qword [rbp + 0x100]
lea rcx, [rax + 0xc]
call fcn.00417ae0
mov rcx, qword [rbp + 0x100]
mov rcx, qword [rcx + 0x40]
movsxd rdx, dword [rbp + 0xa4]
add rdx, rdx
add rdx, rdx
mov dword [rcx + rdx*8 + 0x18], eax
mov rax, qword [rbp + 0x100]
mov rax, qword [rax + 0x40]
movsxd rcx, dword [rbp + 0xa4]
add rcx, rcx
add rcx, rcx
mov rdx, qword [rbp + 0x100]
mov rdx, qword [rdx + 0x40]
movsxd r8, dword [rbp + 0xa4]
add r8, r8
add r8, r8
mov edx, dword [rdx + r8*8 + 0x18]
sub edx, dword [rbp + 0x98]
mov dword [rax + rcx*8 + 0x10], edx
mov rax, qword [rbp + 0x100]
mov rax, qword [rax + 0x40]
movsxd rcx, dword [rbp + 0xa4]
add rcx, rcx
add rcx, rcx
mov eax, dword [rax + rcx*8 + 0x10]
mov dword [rbp + 0xa0], eax
mov rax, qword [rbp + 0x100]
mov rax, qword [rax + 0x40]
movsxd rcx, dword [rbp + 0xa4]
add rcx, rcx
add rcx, rcx
mov edx, dword [rbp + 0x9c]
mov dword [rax + rcx*8 + 0x14], edx
mov ecx, 0xf
call sub.user32.dll_GetSystemMetrics
mov rcx, qword [rbp + 0x100]
mov rcx, qword [rcx + 0x40]
movsxd rdx, dword [rbp + 0xa4]
add rdx, rdx
add rdx, rdx
mov r8, qword [rbp + 0x100]
mov r8, qword [r8 + 0x40]
movsxd r9, dword [rbp + 0xa4]
add r9, r9
add r9, r9
mov r8d, dword [r8 + r9*8 + 0x14]
add r8d, eax
mov dword [rcx + rdx*8 + 0x1c], r8d
mov rcx, qword [rbp + 0xc8]
call fcn.0058dd80
mov rcx, qword [rbp + 0x100]
mov rdx, qword [rbp + 0x100]
mov rdx, qword [rdx + 0x40]
movsxd r8, dword [rbp + 0xa4]
add r8, r8
add r8, r8
lea rdx, [rdx + r8*8]
mov r8, rax
call fcn.006d0b90
add dword [rbp + 0xa4], 1
cmp dword [rbp + 0xa4], ebx
jne 0x6d1869
nop
mov rcx, qword [rbp + 0xc8]
mov rax, qword [rbp + 0xc8]
mov rax, qword [rax]
call qword [rax + 0x60]
mov dword [rbp + 0xa0], eax
mov rcx, qword [rbp + 0xc8]
mov rax, qword [rbp + 0xc8]
mov rax, qword [rax]
call qword [rax + 0x48]
sub eax, dword [rbp + 0x94]
mov dword [rbp + 0x9c], eax
mov rax, qword [rbp + 0x100]
cmp byte [rax + 0xc1], 0
je 0x6d1f93
mov dword [rbp + 0xa4], 0
mov rax, qword [rbp + 0x100]
movsxd rcx, dword [rbp + 0xa4]
lea rcx, [rcx + rcx*2]
mov edx, dword [rbp + 0xa4]
mov dword [rax + rcx*8 + 0x50], edx
mov eax, dword [rbp + 0xa4]
sub eax, 1
cmp eax, 0xffffffff
je 0x6d1d04
test eax, eax
je 0x6d1d91
sub eax, 1
test eax, eax
jne 0x6d1ea0
jmp 0x6d1e1e
mov rax, qword [rbp + 0x100]
mov ecx, dword [rbp + 0xa4]
cmp ecx, dword [rax + 0x48]
jne 0x6d1d47
mov rax, qword [rbp + 0x100]
mov ecx, dword [rbp + 0xa4]
cmp ecx, dword [rax + 0xbc]
jne 0x6d1d47
mov rax, qword [rbp + 0x100]
movsxd rcx, dword [rbp + 0xa4]
lea rcx, [rcx + rcx*2]
mov byte [rax + rcx*8 + 0x54], 0x3e
jmp 0x6d1ea0
mov rax, qword [rbp + 0x100]
mov ecx, dword [rbp + 0xa4]
cmp ecx, dword [rax + 0x48]
jne 0x6d1d75
mov rax, qword [rbp + 0x100]
movsxd rcx, dword [rbp + 0xa4]
lea rcx, [rcx + rcx*2]
mov byte [rax + rcx*8 + 0x54], 0x3d
jmp 0x6d1ea0
mov rax, qword [rbp + 0x100]
movsxd rcx, dword [rbp + 0xa4]
lea rcx, [rcx + rcx*2]
mov byte [rax + rcx*8 + 0x54], 0x3c
jmp 0x6d1ea0
mov rax, qword [rbp + 0x100]
mov ecx, dword [rbp + 0xa4]
cmp ecx, dword [rax + 0x48]
jne 0x6d1dd4
mov rax, qword [rbp + 0x100]
mov ecx, dword [rbp + 0xa4]
cmp ecx, dword [rax + 0xbc]
jne 0x6d1dd4
mov rax, qword [rbp + 0x100]
movsxd rcx, dword [rbp + 0xa4]
lea rcx, [rcx + rcx*2]
mov byte [rax + rcx*8 + 0x54], 0x46
jmp 0x6d1ea0
mov rax, qword [rbp + 0x100]
mov ecx, dword [rbp + 0xa4]
cmp ecx, dword [rax + 0x48]
jne 0x6d1e02
mov rax, qword [rbp + 0x100]
movsxd rcx, dword [rbp + 0xa4]
lea rcx, [rcx + rcx*2]
mov byte [rax + rcx*8 + 0x54], 0x45
jmp 0x6d1ea0
mov rax, qword [rbp + 0x100]
movsxd rcx, dword [rbp + 0xa4]
lea rcx, [rcx + rcx*2]
mov byte [rax + rcx*8 + 0x54], 0x44
jmp 0x6d1ea0
mov rax, qword [rbp + 0x100]
mov ecx, dword [rbp + 0xa4]
cmp ecx, dword [rax + 0x48]
jne 0x6d1e5e
mov rax, qword [rbp + 0x100]
mov ecx, dword [rbp + 0xa4]
cmp ecx, dword [rax + 0xbc]
jne 0x6d1e5e
mov rax, qword [rbp + 0x100]
movsxd rcx, dword [rbp + 0xa4]
lea rcx, [rcx + rcx*2]
mov byte [rax + rcx*8 + 0x54], 0x2e
jmp 0x6d1ea0
mov rax, qword [rbp + 0x100]
mov ecx, dword [rbp + 0xa4]
cmp ecx, dword [rax + 0x48]
jne 0x6d1e89
mov rax, qword [rbp + 0x100]
movsxd rcx, dword [rbp + 0xa4]
lea rcx, [rcx + rcx*2]
mov byte [rax + rcx*8 + 0x54], 0x2d
jmp 0x6d1ea0
mov rax, qword [rbp + 0x100]
movsxd rcx, dword [rbp + 0xa4]
lea rcx, [rcx + rcx*2]
mov byte [rax + rcx*8 + 0x54], 0x2c
lea rcx, [rbp + 0x58]
mov edx, dword [rbp + 0xa0]
sub edx, dword [rbp + 0x94]
mov r8d, dword [rbp + 0x9c]
mov r9d, dword [rbp + 0xa0]
mov eax, dword [rbp + 0x9c]
add eax, dword [rbp + 0x94]
mov dword [rsp + 0x20], eax
call fcn.00418350
mov rax, qword [rbp + 0x100]
movsxd rcx, dword [rbp + 0xa4]
lea rcx, [rcx + rcx*2]
lea rdi, [rax + rcx*8 + 0x58]
lea rsi, [rbp + 0x58]
movsq qword [rdi], qword [rsi]
movsq qword [rdi], qword [rsi]
mov rcx, qword [rbp + 0x88]
lea rdx, [rbp + 0xb8]
mov rax, qword [rbp + 0x100]
movsxd r8, dword [rbp + 0xa4]
lea r8, [r8 + r8*2]
movzx r8, byte [rax + r8*8 + 0x54]
mov rax, qword [rbp + 0x88]
mov rbx, qword [rax]
call qword [rbx + 0x200]
mov rcx, qword [rbp + 0xc8]
call fcn.0058dd80
mov rcx, rax
call fcn.00584980
mov rcx, qword [rbp + 0x88]
mov rdx, rax
lea r8, [rbp + 0xb8]
mov rax, qword [rbp + 0x100]
movsxd r9, dword [rbp + 0xa4]
lea r9, [r9 + r9*2]
lea r9, [rax + r9*8 + 0x58]
mov qword [rsp + 0x20], 0
call fcn.0065a7d0
mov eax, dword [rbp + 0x94]
sub dword [rbp + 0xa0], eax
add dword [rbp + 0xa4], 1
cmp dword [rbp + 0xa4], 3
jne 0x6d1cc2
nop
mov rcx, qword [rbp + 0x108]
mov rax, qword [rbp + 0x100]
mov edx, dword [rax + 0xc]
mov rax, qword [rbp + 0x100]
mov r8d, dword [rax + 0x10]
mov r9, qword [rbp + 0xc8]
mov rax, qword [rbp + 0x108]
mov rbx, qword [rax]
call qword [rbx + 0x88]
nop
mov rcx, qword [rbp + 0xc8]
call fcn.0040ad70
lea rsp, [rbp + 0xd8]
pop rbx
pop rsi
pop rdi
pop rbp
ret