Function at 0x10018300
Capabilities:
Capture screenshot

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
mov eax, dword [0x10069020]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x4c], eax
mov eax, dword [esi + 8]
mov edx, dword [esi]
cmp eax, edx
push edi
mov edi, dword [esi + 4]
setl bl
mov dword [ebp - 0x38], ecx
mov ecx, dword [esi + 0xc]
cmp ecx, edi
mov byte [ebp - 0x31], bl
setl bh
mov byte [ebp - 0x32], bh
test bl, bl
je 0x10018349
mov dword [esi], eax
mov dword [esi + 8], edx
test bh, bh
je 0x10018353
mov dword [esi + 4], ecx
mov dword [esi + 0xc], edi
push dword [ebp - 0x40]
lea eax, [ebp - 0x58]
push eax
mov eax, dword [ebp - 0x38]
push dword [eax + 0x40]
call fcn.10017e31
mov ecx, dword [ebp - 0x58]
add dword [esi + 8], ecx
mov eax, dword [ebp - 0x54]
add dword [esi + 0xc], eax
add dword [esi], ecx
add dword [esi + 4], eax
mov edi, dword [esi + 8]
mov ebx, dword [esi + 0xc]
sub edi, dword [esi]
sub ebx, dword [esi + 4]
inc edi
inc ebx
push 0
mov dword [ebp - 0x48], ebx
call dword [sym.imp.USER32.dll_GetDC]
push ebx
push edi
push eax
mov dword [ebp - 0x44], eax
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
push dword [ebp - 0x44]
mov dword [ebp - 0x3c], eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push dword [ebp - 0x3c]
mov dword [ebp - 0x40], eax
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov dh, byte [ebp - 0x32]
mov ecx, ebx
mov dword [ebp - 0x50], eax
test dh, dh
je 0x100183c1
neg ecx
mov dl, byte [ebp - 0x31]
mov eax, edi
test dl, dl
je 0x100183cc
neg eax
test dh, dh
je 0x100183d5
mov ebx, dword [esi + 0xc]
jmp 0x100183d8
mov ebx, dword [esi + 4]
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 0x48]
test dl, dl
je 0x100183e7
mov edx, dword [esi + 8]
jmp 0x100183e9
mov edx, dword [esi]
mov esi, dword [ebp - 0x40]
push 0xcc0020
push ecx
push eax
push dword [ebp - 0x38]
push edx
push dword [ebp - 0x44]
push ebx
push edi
push 0
push 0
push esi
call dword [sym.imp.GDI32.dll_StretchBlt]
mov eax, ebx
mov dword [ebp - 0x30], 0x28
neg eax
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], eax
xor ecx, ecx
push 0x20
xor eax, eax
mov dword [ebp - 0x20], ecx
inc eax
mov word [ebp - 0x24], ax
pop eax
push ecx
mov word [ebp - 0x22], ax
lea eax, [ebp - 0x30]
push eax
push ecx
push ecx
push ecx
push dword [ebp - 0x3c]
push esi
mov esi, dword [sym.imp.GDI32.dll_GetDIBits]
call esi
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x1c]
push eax
mov dword [ecx], eax
call fcn.10017e31
pop ecx
push 0
mov edi, eax
lea eax, [ebp - 0x30]
push eax
push edi
push ebx
mov ebx, dword [ebp - 0x40]
push 0
push dword [ebp - 0x3c]
push ebx
call esi
push dword [ebp - 0x50]
mov esi, eax
push ebx
call dword [sym.imp.GDI32.dll_SelectObject]
push dword [ebp - 0x3c]
call dword [sym.imp.GDI32.dll_DeleteObject]
push ebx
call dword [sym.imp.GDI32.dll_DeleteDC]
push dword [ebp - 0x44]
push 0
call dword [sym.imp.USER32.dll_ReleaseDC]
test esi, esi
je 0x10018492
mov eax, edi
jmp 0x1001849b
push edi
call fcn.10030c36
pop ecx
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10030b40
mov esp, ebp
pop ebp
ret 0xc