Function at 0x402f02
Capabilities:
Capture screenshot
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2e0
mov eax, dword [0x434044]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
xor ebx, ebx
or eax, 0xffffffff
cmp dword [edi + 0x10], ebx
push esi
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x260], ecx
jne 0x403183
cmp dword [edi + 0x14], ebx
je 0x403183
lea eax, [ebp - 0x250]
push eax
push ecx
call dword [sym.imp.USER32.dll_BeginPaint]
cmp byte [edi + 8], bl
mov eax, dword [ebp - 0x250]
mov dword [ebp - 0x25c], eax
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x264], eax
je 0x402f6f
mov eax, dword [edi + 0x1c]
cmp eax, ebx
je 0x402f6f
mov dword [ebp - 0x264], eax
cmp byte [edi + 0xa], bl
je 0x402f81
mov eax, dword [edi + 0x18]
cmp eax, ebx
je 0x402f81
mov dword [ebp - 0x264], eax
lea eax, [ebp - 0x2ac]
push eax
push 0x18
push dword [ebp - 0x264]
call dword [sym.imp.GDI32.dll_GetObjectA]
push dword [ebp - 0x25c]
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push dword [ebp - 0x25c]
mov dword [ebp - 0x254], eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0x258], eax
lea eax, [ebp - 0x278]
push eax
push dword [ebp - 0x260]
call dword [sym.imp.USER32.dll_GetClientRect]
push 6
push dword [ebp - 0x2a4]
push dword [ebp - 0x2a8]
push ebx
push ebx
push ebx
push dword [ebp - 0x260]
call dword [sym.imp.USER32.dll_SetWindowPos]
lea eax, [ebp - 0x278]
push eax
push dword [ebp - 0x260]
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 0x26c]
sub eax, dword [ebp - 0x274]
push eax
mov eax, dword [ebp - 0x270]
sub eax, dword [ebp - 0x278]
push eax
push dword [ebp - 0x25c]
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
push eax
push dword [ebp - 0x254]
mov dword [ebp - 0x290], eax
call esi
push dword [ebp - 0x264]
push dword [ebp - 0x258]
call esi
push 0xcc0020
push ebx
push ebx
push dword [ebp - 0x258]
mov dword [ebp - 0x27c], eax
push dword [ebp - 0x2a4]
push dword [ebp - 0x2a8]
push ebx
push ebx
push dword [ebp - 0x254]
call dword [sym.imp.GDI32.dll_BitBlt]
push dword [ebp - 0x27c]
push dword [ebp - 0x258]
call esi
push 1
push dword [ebp - 0x254]
call dword [sym.imp.GDI32.dll_SetBkMode]
mov eax, dword [edi + 0x3c]
cmp eax, ebx
mov dword [ebp - 0x268], ebx
je 0x4030a5
push eax
push dword [ebp - 0x254]
call esi
mov dword [ebp - 0x268], eax
push dword [edi + 0x44]
push dword [ebp - 0x254]
call dword [sym.imp.GDI32.dll_SetTextColor]
push 0x104
lea eax, [ebp - 0x210]
push eax
push dword [ebp - 0x260]
call dword [sym.imp.USER32.dll_GetWindowTextW]
cmp byte [edi + 9], bl
lea eax, [ebp - 0x278]
je 0x4030f5
push 0x10
push eax
lea eax, [ebp - 0x28c]
push eax
call fcn.00418520
add esp, 0xc
inc dword [ebp - 0x288]
lea eax, [ebp - 0x28c]
push 0x135
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x210]
push eax
push dword [ebp - 0x254]
call dword [sym.imp.USER32.dll_DrawTextW]
cmp dword [edi + 0x3c], ebx
je 0x403123
push dword [ebp - 0x268]
push dword [ebp - 0x254]
call esi
push 0xcc0020
push ebx
push ebx
push dword [ebp - 0x254]
push dword [ebp - 0x26c]
push dword [ebp - 0x270]
push ebx
push ebx
push dword [ebp - 0x25c]
call dword [sym.imp.GDI32.dll_BitBlt]
push dword [ebp - 0x290]
call dword [sym.imp.GDI32.dll_DeleteObject]
push dword [ebp - 0x258]
call dword [sym.imp.GDI32.dll_DeleteDC]
push dword [ebp - 0x254]
call dword [sym.imp.GDI32.dll_DeleteDC]
lea eax, [ebp - 0x250]
push eax
push dword [ebp - 0x260]
call dword [sym.imp.USER32.dll_EndPaint]
xor eax, eax
cmp dword [edi + 0x10], 2
jne 0x403525
cmp dword [edi + 0x14], ebx
je 0x403525
lea eax, [ebp - 0x250]
push eax
push dword [ebp - 0x260]
call dword [sym.imp.USER32.dll_BeginPaint]
cmp byte [edi + 8], bl
mov eax, dword [ebp - 0x250]
mov dword [ebp - 0x264], eax
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x258], eax
je 0x4031d0
mov eax, dword [edi + 0x1c]
cmp eax, ebx
je 0x4031d0
mov dword [ebp - 0x258], eax
cmp byte [edi + 0xa], bl
je 0x4031e2
mov eax, dword [edi + 0x18]
cmp eax, ebx
je 0x4031e2
mov dword [ebp - 0x258], eax
lea eax, [ebp - 0x2ac]
push eax
push 0x18
push dword [ebp - 0x258]
call dword [sym.imp.GDI32.dll_GetObjectA]
push dword [ebp - 0x264]
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push dword [ebp - 0x264]
mov dword [ebp - 0x254], eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0x25c], eax
lea eax, [ebp - 0x278]
push eax
push dword [ebp - 0x260]
call dword [sym.imp.USER32.dll_GetClientRect]
push 6
push dword [ebp - 0x2a4]
push dword [ebp - 0x2a8]
push ebx
push ebx
push ebx
push dword [ebp - 0x260]
call dword [sym.imp.USER32.dll_SetWindowPos]
lea eax, [ebp - 0x278]
push eax
push dword [ebp - 0x260]
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 0x26c]
sub eax, dword [ebp - 0x274]
push eax
mov eax, dword [ebp - 0x270]
sub eax, dword [ebp - 0x278]
push eax
push dword [ebp - 0x264]
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
push eax
push dword [ebp - 0x254]
mov dword [ebp - 0x290], eax
call esi
push dword [ebp - 0x258]
push dword [ebp - 0x25c]
call esi
push 0xcc0020
push ebx
push ebx
push dword [ebp - 0x25c]
mov dword [ebp - 0x27c], eax
push dword [ebp - 0x2a4]
push dword [ebp - 0x2a8]
push ebx
push ebx
push dword [ebp - 0x254]
call dword [sym.imp.GDI32.dll_BitBlt]
push dword [ebp - 0x27c]
push dword [ebp - 0x25c]
call esi
push 1
push dword [ebp - 0x254]
call dword [sym.imp.GDI32.dll_SetBkMode]
mov eax, dword [edi + 0x40]
cmp eax, ebx
mov dword [ebp - 0x268], ebx
je 0x403306
push eax
push dword [ebp - 0x254]
call esi
mov dword [ebp - 0x268], eax
push dword [edi + 0x44]
push dword [ebp - 0x254]
call dword [sym.imp.GDI32.dll_SetTextColor]
push 0x104
lea eax, [ebp - 0x210]
push eax
push dword [ebp - 0x260]
call dword [sym.imp.USER32.dll_GetWindowTextW]
lea eax, [edi + 0x4c]
cmp word [eax], bx
je 0x403344
push eax
lea eax, [ebp - 0x210]
push eax
call fcn.00417615
pop ecx
pop ecx
cmp byte [edi + 9], bl
push 0x10
lea eax, [ebp - 0x278]
push eax
lea eax, [ebp - 0x28c]
push eax
je 0x403367
call fcn.00418520
add dword [ebp - 0x288], 6
jmp 0x403373
call fcn.00418520
add dword [ebp - 0x288], 5
add dword [ebp - 0x28c], 0xa
add esp, 0xc
push 0x130
lea eax, [ebp - 0x28c]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x210]
push eax
push dword [ebp - 0x254]
call dword [sym.imp.USER32.dll_DrawTextW]
cmp dword [edi + 0x40], ebx
je 0x4033b1
push dword [ebp - 0x268]
push dword [ebp - 0x254]
call esi
mov eax, dword [edi + 0x3c]
cmp eax, ebx
mov dword [ebp - 0x268], ebx
je 0x4033cd
push eax
push dword [ebp - 0x254]
call esi
mov dword [ebp - 0x268], eax
push dword [edi + 0x44]
push dword [ebp - 0x254]
call dword [sym.imp.GDI32.dll_SetTextColor]
lea eax, [edi + 0x254]
cmp word [eax], bx
mov word [ebp - 0x210], bx
je 0x4033fd
push eax
lea eax, [ebp - 0x210]
push eax
call fcn.00417615
pop ecx
pop ecx
push ebx
call dword [sym.imp.USER32.dll_GetDC]
or dword [ebp - 0x258], 0xffffffff
cmp eax, ebx
mov dword [ebp - 0x27c], eax
je 0x403431
push 0x58
push eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push dword [ebp - 0x27c]
mov dword [ebp - 0x258], eax
push ebx
call dword [sym.imp.USER32.dll_ReleaseDC]
cmp byte [edi + 9], bl
push 0x10
lea eax, [ebp - 0x278]
push eax
lea eax, [ebp - 0x28c]
push eax
je 0x403469
call fcn.00418520
add esp, 0xc
cmp dword [ebp - 0x258], 0x60
jle 0x403460
add dword [ebp - 0x288], 0x21
jmp 0x40348a
add dword [ebp - 0x288], 0x1b
jmp 0x40348a
call fcn.00418520
add esp, 0xc
cmp dword [ebp - 0x258], 0x60
jle 0x403483
add dword [ebp - 0x288], 0x1f
jmp 0x40348a
add dword [ebp - 0x288], 0x19
add dword [ebp - 0x28c], 0xc
push 0x114
lea eax, [ebp - 0x28c]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x210]
push eax
push dword [ebp - 0x254]
call dword [sym.imp.USER32.dll_DrawTextW]
cmp dword [edi + 0x3c], ebx
je 0x4034c5
push dword [ebp - 0x268]
push dword [ebp - 0x254]
call esi
push 0xcc0020
push ebx
push ebx
push dword [ebp - 0x254]
push dword [ebp - 0x26c]
push dword [ebp - 0x270]
push ebx
push ebx
push dword [ebp - 0x264]
call dword [sym.imp.GDI32.dll_BitBlt]
push dword [ebp - 0x290]
call dword [sym.imp.GDI32.dll_DeleteObject]
push dword [ebp - 0x25c]
call dword [sym.imp.GDI32.dll_DeleteDC]
push dword [ebp - 0x254]
call dword [sym.imp.GDI32.dll_DeleteDC]
lea eax, [ebp - 0x250]
push eax
push dword [ebp - 0x260]
call dword [sym.imp.USER32.dll_EndPaint]
xor eax, eax
cmp dword [edi + 0x10], 1
jne 0x403900
cmp dword [edi + 0x20], ebx
je 0x403900
cmp dword [edi + 0x24], ebx
je 0x403900
cmp dword [edi + 0x28], ebx
je 0x403900
lea eax, [ebp - 0x250]
push eax
push dword [ebp - 0x260]
call dword [sym.imp.USER32.dll_BeginPaint]
cmp byte [edi + 0xa], bl
mov eax, dword [ebp - 0x250]
mov dword [ebp - 0x264], eax
mov eax, dword [edi + 0x20]
mov dword [ebp - 0x258], eax
mov eax, dword [edi + 0x24]
mov dword [ebp - 0x268], eax
mov eax, dword [edi + 0x28]
mov dword [ebp - 0x294], eax
mov eax, dword [edi + 0x44]
mov dword [ebp - 0x27c], eax
je 0x4035c2
mov edx, dword [edi + 0x2c]
cmp edx, ebx
je 0x4035c2
mov ecx, dword [edi + 0x30]
cmp ecx, ebx
je 0x4035c2
mov eax, dword [edi + 0x34]
cmp eax, ebx
je 0x4035c2
mov dword [ebp - 0x294], eax
mov eax, dword [edi + 0x48]
mov dword [ebp - 0x258], edx
mov dword [ebp - 0x268], ecx
mov dword [ebp - 0x27c], eax
lea eax, [ebp - 0x2c8]
push eax
push 0x18
push dword [ebp - 0x258]
call dword [sym.imp.GDI32.dll_GetObjectA]
lea eax, [ebp - 0x2e0]
push eax
push 0x18
push dword [ebp - 0x294]
call dword [sym.imp.GDI32.dll_GetObjectA]
lea eax, [ebp - 0x2ac]
push eax
push 0x18
push dword [ebp - 0x268]
call dword [sym.imp.GDI32.dll_GetObjectA]
push dword [ebp - 0x264]
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push dword [ebp - 0x264]
mov dword [ebp - 0x254], eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0x25c], eax
lea eax, [ebp - 0x278]
push eax
push dword [ebp - 0x260]
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 0x270]
sub eax, dword [ebp - 0x278]
push 6
push dword [ebp - 0x2c0]
push eax
push ebx
push ebx
push ebx
push dword [ebp - 0x260]
call dword [sym.imp.USER32.dll_SetWindowPos]
lea eax, [ebp - 0x278]
push eax
push dword [ebp - 0x260]
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 0x26c]
sub eax, dword [ebp - 0x274]
push eax
mov eax, dword [ebp - 0x270]
sub eax, dword [ebp - 0x278]
push eax
push dword [ebp - 0x264]
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
push eax
push dword [ebp - 0x254]
mov dword [ebp - 0x2b0], eax
call esi
push dword [ebp - 0x258]
push dword [ebp - 0x25c]
call esi
push 0xcc0020
push ebx
push ebx
push dword [ebp - 0x25c]
mov dword [ebp - 0x290], eax
push dword [ebp - 0x2c0]
push dword [ebp - 0x2c4]
push ebx
push ebx
push dword [ebp - 0x254]
call dword [sym.imp.GDI32.dll_BitBlt]
push dword [ebp - 0x290]
push dword [ebp - 0x25c]
call esi
push dword [ebp - 0x294]
push dword [ebp - 0x25c]
call esi
mov ecx, dword [ebp - 0x270]
sub ecx, dword [ebp - 0x2a8]
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x2c4]
sub ecx, dword [ebp - 0x278]
mov dword [ebp - 0x258], eax
cmp eax, ecx
jge 0x40376f
push 0xcc0020
push ebx
push ebx
push dword [ebp - 0x25c]
push dword [ebp - 0x2d8]
push dword [ebp - 0x2dc]
push ebx
push dword [ebp - 0x258]
push dword [ebp - 0x254]
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [ebp - 0x270]
sub eax, dword [ebp - 0x2a8]
inc dword [ebp - 0x258]
sub eax, dword [ebp - 0x278]
cmp dword [ebp - 0x258], eax
jl 0x403723
push dword [ebp - 0x290]
push dword [ebp - 0x25c]
call esi
push dword [ebp - 0x268]
push dword [ebp - 0x25c]
call esi
mov eax, dword [ebp - 0x270]
sub eax, dword [ebp - 0x2a8]
push 0xcc0020
sub eax, dword [ebp - 0x278]
push ebx
push ebx
push dword [ebp - 0x25c]
push dword [ebp - 0x2a4]
push dword [ebp - 0x2a8]
push ebx
push eax
push dword [ebp - 0x254]
call dword [sym.imp.GDI32.dll_BitBlt]
push 1
push dword [ebp - 0x254]
call dword [sym.imp.GDI32.dll_SetBkMode]
mov eax, dword [edi + 0x3c]
cmp eax, ebx
mov dword [ebp - 0x268], ebx
je 0x4037ee
push eax
push dword [ebp - 0x254]
call esi
mov dword [ebp - 0x268], eax
push dword [ebp - 0x27c]
push dword [ebp - 0x254]
call dword [sym.imp.GDI32.dll_SetTextColor]
push 0x104
lea eax, [ebp - 0x210]
push eax
push dword [ebp - 0x260]
call dword [sym.imp.USER32.dll_GetWindowTextW]
cmp byte [edi + 9], bl
lea eax, [ebp - 0x278]
je 0x403841
push 0x10
push eax
lea eax, [ebp - 0x28c]
push eax
call fcn.00418520
add esp, 0xc
inc dword [ebp - 0x288]
lea eax, [ebp - 0x28c]
push 0x135
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x210]
push eax
push dword [ebp - 0x254]
call dword [sym.imp.USER32.dll_DrawTextW]
cmp dword [edi + 0x3c], ebx
je 0x40386f
push dword [ebp - 0x268]
push dword [ebp - 0x254]
call esi
push 0xcc0020
push ebx
push ebx
push dword [ebp - 0x254]
push dword [ebp - 0x26c]
push dword [ebp - 0x270]
push ebx
push ebx
push dword [ebp - 0x264]
call dword [sym.imp.GDI32.dll_BitBlt]
cmp byte [edi + 0xb], bl
je 0x4038c9
push 2
pop eax
add dword [ebp - 0x278], eax
add dword [ebp - 0x274], eax
sub dword [ebp - 0x270], eax
sub dword [ebp - 0x26c], eax
lea eax, [ebp - 0x278]
push eax
push dword [ebp - 0x264]
call dword [sym.imp.USER32.dll_DrawFocusRect]
push dword [ebp - 0x2b0]
call dword [sym.imp.GDI32.dll_DeleteObject]
push dword [ebp - 0x25c]
mov esi, dword [sym.imp.GDI32.dll_DeleteDC]
call esi
push dword [ebp - 0x254]
call esi
lea eax, [ebp - 0x250]
push eax
push dword [ebp - 0x260]
call dword [sym.imp.USER32.dll_EndPaint]
xor eax, eax
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.004175dc
leave
ret