Function at 0x1008310c
Capabilities:
Capture screenshot

Disassembly:
sub esp, 0x40
mov eax, dword [0x1023904c]
xor eax, esp
mov dword [esp + 0x3c], eax
push ebx
push ebp
push esi
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push edi
push 0x2d
xor ebx, ebx
xor edi, edi
call esi
push 0x2e
mov dword [esp + 0x24], eax
call esi
mov dword [esp + 0x1c], eax
call fcn.100b60b8
mov eax, dword [0x1023b340]
push dword [0x1023b344]
and dword [0x1023b340], ebx
mov dword [esp + 0x1c], eax
call dword [sym.imp.USER32.dll_GetDC]
mov ebp, dword [sym.imp.GDI32.dll_SelectObject]
mov esi, eax
mov dword [esp + 0x14], esi
test esi, esi
je 0x1008332c
push esi
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov ebx, eax
test ebx, ebx
je 0x1008332c
push dword [0x1023b354]
push dword [0x1023b350]
push esi
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov dword [0x1023b340], eax
test eax, eax
je 0x1008332c
push eax
push ebx
call ebp
mov edi, eax
mov dword [esp + 0x24], edi
test edi, edi
je 0x1008332c
push reloc.OLEAUT32.dll_SafeArrayDestroy
call fcn.10018c9f
push eax
push ebx
call ebp
push 0xf00021
push dword [0x1023b354]
push dword [0x1023b350]
push 0
push 0
push ebx
call dword [sym.imp.GDI32.dll_PatBlt]
mov edi, dword [0x1023b36c]
mov edx, dword [0x1023b374]
xor ecx, ecx
test edi, edi
jg 0x10116ae5
cmp dword [esp + 0x54], 0
mov dword [0x1023b388], ecx
je 0x10116b0c
and dword [0x1023b370], 0
push ebx
call fcn.1015692e
push dword [esp + 0x58]
push ebx
call fcn.10082835
mov eax, dword [0x1023b3bc]
cmp eax, dword [0x1023b370]
jb 0x1008322b
or dword [0x1023b3bc], 0xffffffff
call fcn.1000e3e0
push eax
push ebx
call ebp
push 2
push ebx
mov dword [esp + 0x30], eax
call dword [sym.imp.GDI32.dll_SetBkMode]
push 0x12
push ebx
call dword [sym.imp.GDI32.dll_SetTextColor]
push 0xf
call dword [sym.imp.USER32.dll_GetSysColor]
push eax
push ebx
call dword [sym.imp.GDI32.dll_SetBkColor]
mov eax, dword [0x1023b38c]
mov esi, 0x1023b378
lea edi, [esp + 0x3c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x40]
dec ecx
mov dword [esp + 0x40], ecx
test eax, eax
js 0x100832f1
mov ebp, eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x48], ecx
sub ecx, dword [0x10241174]
lea esi, [esp + 0x3c]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x20]
lea edi, [esp + 0x2c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub dword [esp + 0x34], ecx
add eax, ecx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x1c]
add dword [esp + 0x30], eax
sub dword [esp + 0x38], eax
push 0xf
push 5
lea eax, [esp + 0x44]
push eax
push ebx
call dword [sym.imp.USER32.dll_DrawEdge]
push 0x25
lea eax, [esp + 0x30]
push eax
push 0xffffffffffffffff
push ebp
call fcn.100830ee
push eax
push ebx
call dword [sym.imp.USER32.dll_DrawTextA]
mov ecx, dword [esp + 0x40]
test ecx, ecx
jns 0x10083371
mov eax, dword [0x1023b38c]
mov ebp, dword [sym.imp.GDI32.dll_SelectObject]
mov esi, 0x1023b378
lea edi, [esp + 0x3c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x48]
dec ecx
inc eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x10], eax
cmp eax, dword [0x1023b390]
jl 0x10116b52
mov eax, dword [esp + 0x28]
test eax, eax
je 0x10083324
push eax
push ebx
call ebp
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x10116bd3
test edi, edi
je 0x10083340
push edi
push ebx
call ebp
test ebx, ebx
je 0x1008334b
push ebx
call dword [sym.imp.GDI32.dll_DeleteDC]
test esi, esi
je 0x1008335c
push esi
push dword [0x1023b344]
call dword [sym.imp.USER32.dll_ReleaseDC]
mov ecx, dword [esp + 0x4c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10001e57
add esp, 0x40
ret 8
dec ebp
js 0x100832e6
jmp 0x1008327b
mov esi, dword [0x1023b38c]
mov eax, dword [edx]
mov eax, dword [eax + 0x13c]
mov eax, dword [eax + 0x10]
cmp dword [eax + 0x10], esi
je 0x10116b03
inc ecx
add edx, 0xc
cmp ecx, edi
jl 0x10116aeb
mov esi, dword [esp + 0x14]
jmp 0x100831ef
cmp dword [esp + 0x58], 0
jne 0x10083200
cmp dword [0x1023b370], 0
je 0x10083200
push esi
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov esi, eax
test esi, esi
je 0x10083200
push dword [esp + 0x18]
push esi
call ebp
mov edi, eax
test edi, edi
jne 0x10116bdf
push esi
call dword [sym.imp.GDI32.dll_DeleteDC]
jmp 0x10083200
mov ebp, eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x40], ecx
add ecx, dword [0x10241174]
lea esi, [esp + 0x3c]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x20]
lea edi, [esp + 0x2c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub dword [esp + 0x34], ecx
add eax, ecx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x1c]
add dword [esp + 0x30], eax
sub dword [esp + 0x38], eax
push 0xf
push 5
lea eax, [esp + 0x44]
push eax
push ebx
call dword [sym.imp.USER32.dll_DrawEdge]
push 0x25
lea eax, [esp + 0x30]
push eax
push 0xffffffffffffffff
push ebp
call fcn.100830ee
push eax
push ebx
call dword [sym.imp.USER32.dll_DrawTextA]
mov ecx, dword [esp + 0x48]
cmp ecx, dword [0x1023b354]
jg 0x10116bc8
inc ebp
cmp ebp, dword [0x1023b390]
jl 0x10116b54
mov ebp, dword [sym.imp.GDI32.dll_SelectObject]
jmp 0x10083318
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
jmp 0x10083338
push 0xcc0020
xor eax, eax
push eax
push eax
push esi
push dword [0x1023b354]
push dword [0x1023b350]
push eax
push eax
push ebx
call dword [sym.imp.GDI32.dll_BitBlt]
push edi
push esi
call ebp
push esi
call dword [sym.imp.GDI32.dll_DeleteDC]
jmp 0x1008320d