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

Disassembly:
push rbp
push rbx
sub rsp, 0x48
mov rbp, rsp
mov qword [rbp + 0x28], rbp
mov qword [rbp + 0x60], rcx
mov byte [rbp + 0x68], dl
cmp byte [rbp + 0x68], 0
je 0xad849c
mov rcx, qword [rbp + 0x60]
movzx rdx, byte [rbp + 0x68]
call fcn.0040f450
mov qword [rbp + 0x60], rax
nop
mov rax, qword [rbp + 0x60]
mov byte [rax + 8], 0
mov rax, qword [rbp + 0x60]
mov dword [rax + 0xc], 0xffffffff
mov rax, qword [rbp + 0x60]
mov dword [rax + 0x10], 0x400
call fcn.00ac5cc0
mov rcx, qword [rbp + 0x60]
mov byte [rcx + 0x14], al
mov rax, qword [rbp + 0x60]
mov rcx, qword [rbp + 0x60]
cmp byte [rcx + 0x14], 2
seta cl
mov byte [rax + 0x15], cl
mov rax, qword [rbp + 0x60]
mov byte [rax + 0x16], 9
mov rax, qword [rbp + 0x60]
mov byte [rax + 0x17], 9
mov rax, qword [rbp + 0x60]
mov byte [rax + 0x18], 1
mov rax, qword [rbp + 0x60]
mov qword [rax + 0x20], 0
mov rax, qword [rbp + 0x60]
mov qword [rax + 0x28], 0
mov rax, qword [rbp + 0x60]
mov qword [rax + 0x30], 0xffffffffffffffff
mov rax, qword [rbp + 0x60]
mov byte [rax + 0x39], 1
mov rax, qword [rbp + 0x60]
mov byte [rax + 0x3a], 1
mov rax, qword [rbp + 0x60]
mov byte [rax + 0x3b], 1
mov rax, qword [rbp + 0x60]
mov byte [rax + 0x3c], 0
mov rax, qword [rbp + 0x60]
mov byte [rax + 0x3d], 0
mov rax, qword [rbp + 0x60]
mov dword [rax + 0x40], 0xff00000f
mov rax, qword [rbp + 0x60]
lea rcx, [rax + 0x48]
lea rdx, [0x00ad8c9c]
call fcn.00412500
mov cx, 0x4c
movzx rdx, word [0x00ad8cbe]
call fcn.00856f30
mov rcx, qword [rbp + 0x60]
mov word [rcx + 0x1a0], ax
mov cx, 0x45
movzx rdx, word [0x00ad8cbe]
call fcn.00856f30
mov rcx, qword [rbp + 0x60]
mov word [rcx + 0x1a2], ax
mov cx, 0x52
movzx rdx, word [0x00ad8cbe]
call fcn.00856f30
mov rcx, qword [rbp + 0x60]
mov word [rcx + 0x1a4], ax
mov cx, 0x4a
movzx rdx, word [0x00ad8cbe]
call fcn.00856f30
mov rcx, qword [rbp + 0x60]
mov word [rcx + 0x1a6], ax
mov cx, 0x43
movzx rdx, word [0x00ad8cbe]
call fcn.00856f30
mov rcx, qword [rbp + 0x60]
mov word [rcx + 0x1a8], ax
mov cx, 0x58
movzx rdx, word [0x00ad8cbe]
call fcn.00856f30
mov rcx, qword [rbp + 0x60]
mov word [rcx + 0x1aa], ax
mov cx, 0x56
movzx rdx, word [0x00ad8cbe]
call fcn.00856f30
mov rcx, qword [rbp + 0x60]
mov word [rcx + 0x1ac], ax
mov cx, 0x46
movzx rdx, word [0x00ad8cbe]
call fcn.00856f30
mov rcx, qword [rbp + 0x60]
mov word [rcx + 0x1ae], ax
mov cx, 0x42
movzx rdx, word [0x00ad8cbe]
call fcn.00856f30
mov rcx, qword [rbp + 0x60]
mov word [rcx + 0x1b0], ax
mov cx, 0x49
movzx rdx, word [0x00ad8cbe]
call fcn.00856f30
mov rcx, qword [rbp + 0x60]
mov word [rcx + 0x1b2], ax
mov cx, 0x55
movzx rdx, word [0x00ad8cbe]
call fcn.00856f30
mov rcx, qword [rbp + 0x60]
mov word [rcx + 0x1b4], ax
mov cx, 0x47
movzx rdx, word [0x00ad8cbe]
call fcn.00856f30
mov rcx, qword [rbp + 0x60]
mov word [rcx + 0x1b6], ax
mov rax, qword [rbp + 0x60]
lea rcx, [rax + 0x1b8]
lea rdx, [0x00ad8ccc]
call fcn.00412500
mov rax, qword [rbp + 0x60]
lea rcx, [rax + 0x1c0]
lea rdx, [0x00ad8ce8]
call fcn.00412500
mov rax, qword [rbp + 0x60]
lea rcx, [rax + 0x1c8]
lea rdx, [0x00ad8d04]
call fcn.00412500
mov rax, qword [rbp + 0x60]
lea rcx, [rax + 0x1d0]
lea rdx, [0x00ad8d18]
call fcn.00412500
mov rax, qword [rbp + 0x60]
lea rcx, [rax + 0x1d8]
lea rdx, [0x00ad8d28]
call fcn.00412500
mov rax, qword [rbp + 0x60]
lea rcx, [rax + 0x1e0]
lea rdx, [0x00ad8d3c]
call fcn.00412500
mov rax, qword [rbp + 0x60]
lea rcx, [rax + 0x1e8]
lea rdx, [0x00ad8d50]
call fcn.00412500
mov rax, qword [rbp + 0x60]
lea rcx, [rax + 0x1f0]
lea rdx, [0x00ad8d6c]
call fcn.00412500
mov rax, qword [rbp + 0x60]
lea rcx, [rax + 0x1f8]
lea rdx, [0x00ad8d90]
call fcn.00412500
mov rax, qword [rbp + 0x60]
lea rcx, [rax + 0x200]
lea rdx, [0x00ad8da8]
call fcn.00412500
mov rax, qword [rbp + 0x60]
lea rcx, [rax + 0x208]
lea rdx, [0x00ad8dc0]
call fcn.00412500
mov rax, qword [rbp + 0x60]
mov dword [rax + 0x18c], 2
xor rcx, rcx
call sub.user32.dll_GetDC
mov qword [rbp + 0x38], rax
mov rcx, qword [rbp + 0x38]
mov edx, 0xc
call sub.gdi32.dll_GetDeviceCaps
mov rcx, qword [rbp + 0x60]
mov dword [rcx + 0x50], eax
mov rcx, qword [rbp + 0x38]
mov edx, 0x58
call sub.gdi32.dll_GetDeviceCaps
mov rcx, qword [rbp + 0x60]
mov dword [rcx + 0x58], eax
mov rcx, qword [rbp + 0x38]
mov edx, 0x5a
call sub.gdi32.dll_GetDeviceCaps
mov rcx, qword [rbp + 0x60]
mov dword [rcx + 0x5c], eax
xor rcx, rcx
mov rdx, qword [rbp + 0x38]
call sub.user32.dll_ReleaseDC
mov rax, qword [rbp + 0x60]
mov dword [rax + 0x60], 0x12c
mov rax, qword [rbp + 0x60]
mov dword [rax + 0x64], 0x12c
call fcn.00acb760
mov rcx, qword [rbp + 0x60]
mov byte [rcx + 0x54], al
call fcn.00acd480
mov rcx, qword [rbp + 0x60]
test al, al
setne al
mov byte [rcx + 0x68], al
mov ecx, 0x2d
call sub.user32.dll_GetSystemMetrics
mov rcx, qword [rbp + 0x60]
mov dword [rcx + 0x6c], eax
mov ecx, 0x2e
call sub.user32.dll_GetSystemMetrics
mov rcx, qword [rbp + 0x60]
mov dword [rcx + 0x70], eax
mov ecx, 5
call sub.user32.dll_GetSystemMetrics
mov rcx, qword [rbp + 0x60]
mov dword [rcx + 0x74], eax
mov ecx, 6
call sub.user32.dll_GetSystemMetrics
mov rcx, qword [rbp + 0x60]
mov dword [rcx + 0x78], eax
mov ecx, 3
call sub.user32.dll_GetSystemMetrics
mov rcx, qword [rbp + 0x60]
mov dword [rcx + 0x7c], eax
mov ecx, 2
call sub.user32.dll_GetSystemMetrics
mov rcx, qword [rbp + 0x60]
mov dword [rcx + 0x80], eax
mov rax, qword [rbp + 0x60]
mov dword [rax + 0x84], 0x190
mov rcx, qword [0x0069aff8]
mov dl, 1
call fcn.006a4550
mov rcx, qword [rbp + 0x60]
mov qword [rcx + 0x98], rax
mov rax, qword [rbp + 0x60]
mov dword [rax + 0xa0], 0xa0a0a0
mov rax, qword [rbp + 0x60]
mov dword [rax + 0x8c], 0
mov rax, qword [rbp + 0x60]
mov dword [rax + 0x90], 5
mov rax, qword [rbp + 0x60]
mov dword [rax + 0x88], 0x2710
mov rax, qword [rbp + 0x60]
lea rcx, [rax + 0xa8]
lea rdx, [0x00ad8dd8]
call fcn.00412500
mov rax, qword [rbp + 0x60]
mov byte [rax + 0xd8], 1
mov rax, qword [rbp + 0x60]
mov byte [rax + 0xd9], 0
mov rax, qword [rbp + 0x60]
mov dword [rax + 0xdc], 0x1f40
mov rax, qword [rbp + 0x60]
lea rcx, [rax + 0xe0]
call fcn.00411eb0
mov rax, qword [rbp + 0x60]
lea rcx, [fcn.00c636c0]
mov qword [rax + 0xe8], rcx
mov rax, qword [rbp + 0x60]
mov byte [rax + 0xf0], 0
mov rax, qword [rbp + 0x60]
mov dword [rax + 0xf4], 0xffffffff
mov rax, qword [rbp + 0x60]
mov dword [rax + 0xf8], 0xffffffff
mov rax, qword [rbp + 0x60]
mov dword [rax + 0xfc], 0x9ca5
mov rax, qword [rbp + 0x60]
mov byte [rax + 0x100], 0
mov rax, qword [rbp + 0x60]
mov byte [rax + 0x101], 0
mov rax, qword [rbp + 0x60]
mov dword [rax + 0x104], 0x15
mov rax, qword [rbp + 0x60]
mov dword [rax + 0x108], 0x47
mov rax, qword [rbp + 0x60]
mov dword [rax + 0x10c], 8
mov rax, qword [rbp + 0x60]
mov byte [rax + 0x110], 2
mov rax, qword [rbp + 0x60]
mov byte [rax + 0x111], 1
mov rax, qword [rbp + 0x60]
movabs rcx, 0x3f847ae147ae147b
mov qword [rax + 0x118], rcx
mov rax, qword [rbp + 0x60]
mov qword [rax + 0x120], 0
mov rcx, qword [0x00ad57d0]
mov dl, 1
call fcn.0040e9f0
mov rcx, qword [rbp + 0x60]
mov qword [rcx + 0x128], rax
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x128]
lea rcx, [rax + 8]
lea rdx, [0x00ad8e98]
call fcn.00412500
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x128]
lea rcx, [rax + 0x10]
lea rdx, [0x00ad8ea8]
call fcn.00412500
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x128]
movzx rcx, byte [0x00ad8eb4]
mov byte [rax + 0x18], cl
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x128]
mov word [rax + 0x1a], 0xc8
mov rax, qword [rbp + 0x60]
mov byte [rax + 0x130], 0
mov rax, qword [rbp + 0x60]
mov byte [rax + 0x131], 0xf
mov rax, qword [rbp + 0x60]
mov byte [rax + 0x132], 1
mov rax, qword [rbp + 0x60]
mov byte [rax + 0x133], 0
mov rax, qword [rbp + 0x60]
mov byte [rax + 0x139], 0
mov rax, qword [rbp + 0x60]
mov byte [rax + 0x13a], 0
mov rax, qword [rbp + 0x60]
mov dword [rax + 0x134], 0x100000
mov rax, qword [rbp + 0x60]
mov byte [rax + 0x138], 1
mov rax, qword [rbp + 0x60]
mov dword [rax + 0x144], 4
mov rax, qword [rbp + 0x60]
mov qword [rax + 0x148], 0x10000
mov rax, qword [rbp + 0x60]
mov byte [rax + 0x151], 0
mov rax, qword [rbp + 0x60]
mov qword [rax + 0x158], 0
mov rax, qword [rbp + 0x60]
lea rcx, [rax + 0x160]
call fcn.00411eb0
mov rax, qword [rbp + 0x60]
lea rcx, [rax + 0x168]
call fcn.00411eb0
mov rax, qword [rbp + 0x60]
lea rcx, [rax + 0x170]
call fcn.00411eb0
mov rax, qword [rbp + 0x60]
mov byte [rax + 0x178], 0
mov rax, qword [rbp + 0x60]
mov dword [rax + 0x17c], 0xfa
mov rax, qword [rbp + 0x60]
lea rcx, [rax + 0x180]
call fcn.00411eb0
mov rax, qword [rbp + 0x60]
mov byte [rax + 0x188], 0
mov rax, qword [rbp + 0x60]
mov byte [rax + 0x38], 1
mov rax, qword [rbp + 0x60]
mov byte [rax + 0x150], 0
mov rax, qword [rbp + 0x60]
mov byte [rax + 0x189], 1
mov rcx, qword [0x00ad5990]
mov dl, 1
call fcn.0040e9f0
mov rcx, qword [rbp + 0x60]
mov qword [rcx + 0x190], rax
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x190]
mov byte [rax + 8], 0
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x190]
mov byte [rax + 9], 0
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x190]
mov byte [rax + 0xa], 0
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x190]
mov byte [rax + 0xb], 0
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x190]
mov byte [rax + 0xc], 1
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x190]
mov byte [rax + 0xd], 0
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + 0x190]
mov byte [rax + 0xe], 0
cmp byte [rbp + 0x68], 0
je 0xad8c6d
mov rcx, qword [rbp + 0x60]
call fcn.0040f490
mov qword [rbp + 0x60], rax
jmp 0xad8c6d
mov rax, qword [rbp + 0x60]
lea rsp, [rbp + 0x48]
pop rbx
pop rbp
ret