Function at 0x401060
Capabilities:
Compare security identifiers
Enumerate disk volumes
Enumerate process modules
Extract resource via kernel32 functions
Get disk information
Get disk information via ioctl
Get disk size
Get graphical window text
Hide graphical window
Query service status
Read file via mapping
Shutdown system

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x40f88c
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1b5c
call fcn.00409c20
mov eax, dword [0x41907c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0x1b48], eax
mov dword [0x41b19c], eax
xor ecx, ecx
lea eax, [ebp - 0x18b4]
push eax
push ecx
mov dword [ebp - 0x1b54], ebx
mov dword [ebp - 0x1b58], ecx
mov esi, 0x91
mov dword [ebp - 0x1b38], ecx
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
mov edi, eax
mov dword [ebp - 0x1b40], edi
test edi, edi
jns 0x4010e9
xor edi, edi
mov esi, 0x25b
mov dword [ebp - 0x1b40], edi
jmp 0x4010f3
mov dword [ebp - 0x1b38], 0x1f6
mov dword [ebp - 0x1b5c], 0x7a1
mov dword [0x41b1a0], edi
test edi, edi
jne 0x401115
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1b50], eax
jmp 0x40111b
mov dword [ebp - 0x1b50], edi
cmp edi, ebx
jg 0x401137
push 0x400
call fcn.0040461b
add esp, 4
inc dword [0x41b194]
mov dword [0x41b1ac], eax
push edi
push edi
push 0
call dword [sym.imp.USER32.dll_DdeCreateStringHandleA]
test eax, eax
jne 0x401155
lea eax, [edi + 5]
imul eax, dword [ebp - 0x1b48]
mov dword [ebp - 0x1b44], eax
mov ebx, dword [ebp - 0x1b50]
test edi, edi
jne 0x401165
mov dword [0x41b1a4], ebx
lea ecx, [edi + 1]
imul ecx, ecx, 0x7a1
mov eax, ebx
sub eax, ecx
mov dword [0x41b194], eax
test edi, edi
je 0x4011ff
lea edx, [ebp - 0x1b28]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push edi
push 1
lea eax, [ebp - 0x1828]
push eax
mov dword [ebp - 0x1828], 0
mov word [ebp - 0x1824], 0x1000
call dword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
test eax, eax
je 0x4035f8
mov eax, dword [ebp - 0x1b4c]
mov ecx, dword [ebp - 0x1b28]
push 8
lea edx, [ebp - 0x184c]
push edx
push 0x19
push eax
mov dword [ebp - 0x184c], ecx
mov dword [ebp - 0x1848], 0x20
call dword [sym.imp.ADVAPI32.dll_SetTokenInformation]
mov ecx, dword [ebp - 0x1b28]
push ecx
call dword [sym.imp.ADVAPI32.dll_FreeSid]
mov eax, dword [0x41b194]
cmp dword [0x41b1ac], 0
je 0x401210
inc dword [ebp - 0x1b38]
jmp 0x401212
mov dword [edi], esi
test edi, edi
je 0x401220
mov eax, dword [0x41b198]
mov dword [0x41b194], eax
test ebx, ebx
je 0x40122d
mov esi, dword [ebp - 0x1b38]
add esi, 0x20
test edi, edi
jne 0x401243
add ebx, 0x7a1
mov dword [ebp - 0x1b50], ebx
mov dword [0x41b1a4], ebx
mov edx, dword [0x41b1a8]
mov ebx, dword [0x41b198]
mov dword [ebp - 0x1b2c], edx
mov dword [ebp - 0x1b3c], eax
cmp edi, 0x10
ja 0x4012e5
je 0x4012d7
mov eax, edi
dec eax
je 0x40127e
dec eax
jne 0x401306
push eax
call dword [sym.imp.USER32.dll_PostQuitMessage]
jmp 0x4035f8
mov eax, dword [ebp - 0x1b48]
push 0
push eax
push 0
mov ecx, edx
push ecx
push 0x32
push 0x64
push 0x32
push 0x32
push 0x5000000b
push str.Circular
push 0x412c84
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
lea edx, [ebp - 0x186c]
mov esi, eax
push edx
push esi
call dword [sym.imp.USER32.dll_GetClientRect]
lea eax, [ebp - 0x186c]
push eax
call dword [sym.imp.GDI32.dll_CreateEllipticRgnIndirect]
push 0
push eax
push esi
call dword [sym.imp.USER32.dll_SetWindowRgn]
jmp 0x4035f8
mov ecx, edx
push ecx
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x4035f8
cmp edi, 0x2b
je 0x4034db
cmp edi, 0x201
jne 0x401306
push 0
push 2
push 0xa1
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [ebp - 0x1b3c]
mov ecx, dword [ebp - 0x1b2c]
push ebx
push eax
push edi
push ecx
call dword [sym.imp.USER32.dll_DefWindowProcA]
push 0x412327
push 0
call dword [sym.imp.USER32.dll_FindWindowA]
push 0x412c8c
push 0
push 0
push eax
call dword [sym.imp.USER32.dll_FindWindowExA]
mov ebx, eax
xor eax, eax
mov dword [ebp - 0x186c], eax
mov dword [ebp - 0x1868], eax
mov eax, 0x12c
lea edx, [ebp - 0x186c]
push edx
mov dword [ebp - 0x1864], eax
mov dword [ebp - 0x1860], eax
call dword [sym.imp.GDI32.dll_CreateEllipticRgnIndirect]
push 1
push eax
push ebx
call dword [sym.imp.USER32.dll_SetWindowRgn]
push 0
push 0xa
push 0
call dword [sym.imp.GDI32.dll_CreatePen]
mov ebx, eax
push ebx
push 0
call dword [sym.imp.GDI32.dll_SelectObject]
push 0
push esi
push 0x28a
push esi
push 0x64
push esi
push 0x258
push esi
push 1
mov dword [ebp - 0x1b28], eax
call dword [sym.imp.GDI32.dll_Arc]
mov eax, dword [ebp - 0x1b28]
push eax
push 0
call dword [sym.imp.GDI32.dll_SelectObject]
push ebx
call dword [sym.imp.GDI32.dll_DeleteObject]
push 0
push 0x80
push 3
mov ecx, edi
neg ecx
sbb ecx, ecx
push 0
and ecx, 0x40000000
push 1
or ecx, 0x80000000
push ecx
lea edx, [ebp - 0x534]
push edx
mov dword [ebp - 0x1b34], edi
mov dword [ebp - 4], 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
push str.ImageEnumerateCertificates
push str.Imagehlp
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0xa
lea ecx, [ebp - 0x18e8]
push ecx
lea edx, [ebp - 0x1828]
push edx
push 0xff
push ebx
call eax
test eax, eax
jne 0x401437
mov dword [ebp - 0x1b34], 1
xor eax, eax
test edi, edi
push 0
setne al
push 0
push 0
lea eax, [eax + eax + 2]
push eax
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov esi, eax
test esi, esi
jne 0x401464
mov ecx, dword [ebp - 0x1b38]
mov dword [ebp - 0x1b34], ecx
push 0
neg edi
sbb edi, edi
push 0
push 0
and edi, 2
or edi, 4
push edi
push esi
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov edi, eax
push edi
call dword [sym.imp.dbghelp.dll_ImageNtHeader]
push edi
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push ebx
call esi
mov dword [ebp - 4], 0xffffffff
mov ebx, dword [ebp - 0x1b40]
test ebx, ebx
je 0x401501
push 0
push 0
lea edx, [ebp - 0x1b28]
push edx
push 0
push 2
lea eax, [ebp - 0x1870]
push eax
mov dword [ebp - 0x1b28], 3
call dword [sym.imp.CRYPT32.dll_CertGetNameStringA]
mov esi, eax
test esi, esi
je 0x401501
push esi
push 0
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
push esi
mov edi, eax
push edi
lea ecx, [ebp - 0x1b28]
push ecx
push 0
push 2
lea edx, [ebp - 0x1870]
push edx
call dword [sym.imp.CRYPT32.dll_CertGetNameStringA]
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [ebp - 0x1b54]
mov esi, dword [ebp - 0x1b34]
mov ecx, dword [ebp - 0x1b48]
lea eax, [ebp + eax - 0x810]
mov dword [ebp - 0x1b4c], eax
mov dword [eax + ebx], ecx
cmp esi, 0x7a1
jg 0x401538
imul esi, dword [ebp - 0x1b38]
mov dword [ebp - 0x1b34], esi
mov eax, dword [ebp - 0x1b38]
push eax
push 0
call dword [sym.imp.GDI32.dll_RestoreDC]
mov dword [ebp - 0x1b30], eax
mov eax, dword [ebp - 0x1b48]
test eax, eax
jne 0x40155d
mov dword [ebp - 0x1b58], esi
mov ecx, dword [ebp - 0x1b30]
mov edx, dword [ebp - 0x1b34]
push eax
lea eax, [ebp - 0x124]
push eax
mov dword [0x41b1a8], ecx
lea ecx, [ebp - 0x32c]
push str._s:_x
mov esi, 1
push ecx
xor edi, edi
mov dword [ebp - 0x1b2c], esi
mov dword [ebp - 0x1b3c], edx
call dword [sym.imp.USER32.dll_wsprintfA]
movzx ecx, word [ebp - 0x1b50]
add esp, 0x10
xor eax, eax
test ecx, ecx
jle 0x4015dd
mov edx, dword [ebp - 0x1b54]
add edx, dword [ebp - 0x1b38]
lea ecx, [ebx + 1]
imul edx, ecx
mov edi, edi
cmp ebx, edx
je 0x4015d1
movzx ecx, al
cmp ebx, ecx
jne 0x4015d1
inc dword [ebp - 0x1b34]
movzx ecx, word [ebp - 0x1b50]
inc eax
cmp eax, ecx
jl 0x4015c0
push 0
lea edx, [ebp - 0x32c]
push edx
call dword [sym.imp.USER32.dll_FindWindowA]
mov dword [ebp - 0x1b28], eax
call dword [sym.imp.AVIFIL32.dll_AVIFileInit]
push 0
push 0
push 0x412cd4
lea eax, [ebp - 0x1b60]
push eax
call dword [sym.imp.AVIFIL32.dll_AVIFileOpenA]
test eax, eax
je 0x401618
mov dword [ebp - 0x1b34], edi
mov ecx, dword [ebp - 0x1b30]
mov eax, dword [ebp - 0x1b44]
add eax, dword [ebp - 0x1b58]
mov edx, esi
sub edx, dword [0x41b1a8]
inc ecx
imul ecx, edx
lea eax, [eax + eax*2]
sub eax, ebx
add eax, dword [0x41b1a4]
add ecx, 2
mov dword [0x41b198], eax
xor eax, eax
test ecx, ecx
jle 0x4016a8
test ebx, ebx
jne 0x401684
mov edi, dword [ebp - 0x1b30]
imul edi, dword [ebp - 0x1b50]
add edi, eax
shl esi, 4
add edi, dword [0x41b1a0]
jmp 0x40169d
mov edx, dword [0x41b1ac]
sub edx, edi
sub edx, ebx
imul esi, edx
mov edx, dword [ebp - 0x1b38]
mov dword [ebp - 0x1b34], edx
inc eax
cmp eax, ecx
jl 0x40164f
mov dword [ebp - 0x1b2c], esi
movzx eax, word [ebp - 0x1b38]
mov ecx, dword [ebp - 0x1b48]
mov esi, dword [sym.imp.USER32.dll_LoadCursorA]
push eax
push ecx
call esi
mov dword [ebp - 0x1b44], eax
test eax, eax
jne 0x4016d7
push 0x7f00
push eax
call esi
mov dword [ebp - 0x1b44], eax
test ebx, ebx
je 0x401712
mov eax, dword [ebp - 0x1b30]
sub eax, dword [0x41b194]
mov ecx, dword [ebp - 0x1b34]
add eax, 5
lea edx, [ebx + 1]
imul eax, edx
add ecx, 4
imul eax, ecx
mov edx, 0x64
dec eax
sub edx, ebx
imul eax, edx
add eax, 0x7a4
mov dword [ebp - 0x1b5c], eax
movzx eax, word [ebp - 0x1b3c]
mov ecx, dword [ebp - 0x1b48]
push eax
push ecx
call dword [sym.imp.USER32.dll_LoadIconA]
mov esi, dword [ebp - 0x1b2c]
mov dword [ebp - 0x1b3c], eax
mov eax, dword [0x41b1a0]
add esi, eax
lea ecx, [eax + 1]
imul esi, ecx
mov ecx, dword [ebp - 0x1b30]
mov edx, 1
sub edx, ecx
imul esi, edx
mov edx, ebx
imul esi, esi, 0x36
imul edx, ecx
mov ecx, dword [0x41b1a8]
add esi, edx
lea edx, [eax + 1]
lea edi, [ecx + 1]
imul edi, edx
lea edx, [ebx + 0x10]
imul edi, edx
lea edx, [ebx + 1]
imul edi, edx
imul edi, dword [ebp - 0x1b2c]
shl edi, 5
add edi, ecx
cmp dword [ebp - 0x1b28], 0
je 0x4017b3
mov eax, dword [ebp - 0x1b44]
mov edi, dword [ebp - 0x1b28]
mov esi, dword [sym.imp.USER32.dll_SetClassLongA]
push eax
push 0xfffffffffffffff4
push edi
call esi
mov ecx, dword [ebp - 0x1b3c]
push ecx
push 0xfffffffffffffff2
push edi
call esi
jmp 0x401881
mov ecx, dword [ebp - 0x1b2c]
add ecx, ebx
mov edx, 0x20
sub edx, eax
imul ecx, edx
mov edx, dword [ebp - 0x1b48]
add ecx, ecx
lea eax, [ebp - 0x1898]
mov dword [ebp - 0x1b28], ecx
push eax
lea ecx, [ebp - 0x32c]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetClassInfoA]
test eax, eax
je 0x401800
mov eax, dword [ebp - 0x1b48]
push eax
lea ecx, [ebp - 0x32c]
push ecx
call dword [sym.imp.USER32.dll_UnregisterClassA]
mov edx, dword [ebp - 0x1b48]
mov ecx, dword [ebp - 0x1b3c]
xor eax, eax
mov dword [ebp - 0x1890], eax
mov dword [ebp - 0x188c], eax
mov dword [ebp - 0x1888], edx
mov edx, dword [ebp - 0x1b44]
mov dword [ebp - 0x187c], eax
mov dword [ebp - 0x1878], eax
lea eax, [ebp - 0x32c]
mov dword [ebp - 0x1898], 3
mov dword [ebp - 0x1884], ecx
mov dword [ebp - 0x1880], edx
mov dword [ebp - 0x1874], eax
cmp dword [ebp - 0x1b28], esi
jbe 0x401873
mov ecx, dword [ebp - 0x1b28]
push edi
push esi
push ecx
call dword [sym.imp.KERNEL32.dll_HeapCreate]
mov dword [ebp - 0x1b28], eax
jmp 0x401881
add esi, dword [ebp - 0x1b30]
mov eax, dword [ebp - 0x1b28]
mov dword [eax], esi
mov ecx, dword [ebp - 0x1b48]
mov edx, dword [ebp - 0x1b30]
push 0
push ecx
push 0
push edx
push 0x11d
push 0x202
push 0x11d
push 0x202
push 0
push str.REGENERATE_CODES
lea eax, [ebp - 0x32c]
push eax
push 0x1e
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov esi, dword [ebp - 0x1b34]
mov edx, dword [ebp - 0x1b48]
mov eax, dword [0x41b194]
lea ecx, [esi + 4]
imul ecx, esi
lea ecx, [ecx + edx*2]
lea edi, [ecx + ecx]
mov ecx, dword [0x41b1a0]
mov dword [ebp - 0x1b3c], eax
sub ecx, edi
mov edi, dword [ebp - 0x1b38]
sub eax, edi
imul eax, edx
mov edx, dword [ebp - 0x1b30]
sub edx, dword [ebp - 0x1b58]
push 0
lea edx, [edx + edx*2]
add eax, edx
lea eax, [eax + ebx*2 + 0x130]
sub ecx, ebx
sub eax, ecx
push ebx
mov dword [0x41b198], eax
mov eax, dword [0x41b1a8]
push 0x402
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebp - 0x1b58]
lea edx, [esi + ecx]
imul edx, edi
add edx, dword [0x41b198]
lea eax, [ebx + ebx*4]
lea ecx, [edx + eax*2]
mov edx, dword [0x41b194]
lea eax, [edx + ecx + 0x1fb]
push ebx
lea ecx, [ebp - 0x20]
push 0x412cd8
push ecx
mov dword [0x41b194], eax
call fcn.004040bf
add esp, 0xc
cmp dword [0x41b198], 0
je 0x40197c
imul edi, dword [ebp - 0x1b54]
add edi, esi
mov dword [ebp - 0x1b38], edi
mov eax, dword [0x41b1a0]
add eax, 0x13000
mov dword [ebp - 0x1b44], eax
mov eax, ebx
shl eax, 4
sub eax, ebx
add eax, edi
imul eax, esi
cdq
sub eax, edx
mov edx, dword [ebp - 0x1b30]
lea ecx, [ebp - 0x20]
push ecx
sar eax, 1
add dword [0x41b194], eax
push edx
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, dword [0x41b1a0]
add eax, dword [ebp - 0x1b30]
add esi, eax
mov dword [ebp - 0x1b34], esi
test ebx, ebx
je 0x401a56
mov edx, dword [ebp - 0x1b3c]
mov eax, dword [ebp - 0x1b30]
push edx
push eax
call dword [sym.imp.USER32.dll_KillTimer]
mov ecx, dword [ebp - 0x18c0]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0xf0
push ecx
call edi
test eax, eax
je 0x401a92
cmp dword [ebp - 0x1b30], 0
push 0
je 0x401a18
push 2
call dword [sym.imp.USER32.dll_ExitWindowsEx]
jmp 0x401a92
mov edx, dword [ebp - 0x18bc]
push 0
push 0xf0
push edx
call edi
test eax, eax
je 0x401a92
mov eax, dword [ebp - 0x18b8]
push 0
push 0
push 0xf0
push eax
call edi
test eax, eax
je 0x401a92
mov ecx, dword [ebp - 0x18b4]
push 0
push 0
push 0xf0
push ecx
call edi
jmp 0x401a92
mov edx, dword [ebp - 0x1b44]
mov eax, dword [ebp - 0x1b28]
push edx
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ecx, dword [0x41b198]
mov dword [ebp - 0x1b64], eax
mov eax, dword [ebp - 0x1b54]
sub eax, esi
dec eax
add ecx, esi
imul eax, ecx
add eax, dword [ebp - 0x1b58]
mov dword [ebp - 0x1b38], eax
mov ecx, dword [0x41b1a0]
cmp dword [0x41b1a8], ecx
jne 0x401aa8
mov eax, dword [ebp - 0x1b48]
jmp 0x401ab4
mov eax, dword [ebp - 0x1b58]
add eax, dword [ebp - 0x1b5c]
mov dword [ebp - 0x1b28], eax
cmp dword [0x41b1a4], ecx
jbe 0x401b2e
xor edi, edi
test eax, eax
jle 0x401b2e
test ecx, ecx
jne 0x401afb
mov eax, dword [ebp - 0x1b30]
inc eax
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x401af5
test ebx, ebx
jne 0x4035f8
inc esi
mov dword [ebp - 0x1b34], esi
cmp dword [0x41b1a8], ebx
jne 0x401b2e
mov ecx, dword [0x41b1a0]
cmp dword [0x41b1ac], 0
je 0x401b2e
mov eax, dword [ebp - 0x1b50]
cdq
and edx, 0xf
add eax, edx
sar eax, 4
test eax, eax
jle 0x401b25
test ebx, ebx
je 0x401b1c
inc esi
dec eax
jne 0x401b17
mov dword [ebp - 0x1b34], esi
inc edi
cmp edi, dword [ebp - 0x1b28]
jl 0x401ac8
cmp dword [ebp - 0x1b50], 0
je 0x401b46
cmp dword [0x41b1a4], 0
je 0x401b46
inc dword [ebp - 0x1b58]
cmp dword [ebp - 0x1b30], 0
je 0x402236
xor ecx, ecx
lea eax, [ebp - 0x73c]
mov dword [ebp - 0x1830], 7
mov dword [ebp - 0x1834], 0
mov word [ebp - 0x1844], cx
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x401b80
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x73c]
lea ecx, [ebp - 0x1844]
call fcn.004039a0
xor edx, edx
push 0x206
push edx
lea eax, [ebp - 0x42e]
mov dword [ebp - 4], 2
push eax
mov word [ebp - 0x430], dx
call fcn.00408d60
xor ecx, ecx
push 0x206
push ecx
lea edx, [ebp - 0x1b06]
push edx
mov word [ebp - 0x1b08], cx
call fcn.00408d60
add esp, 0x18
push 0x104
lea eax, [ebp - 0x1b08]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstVolumeW]
mov dword [ebp - 0x1b28], eax
cmp eax, 0xffffffff
jne 0x401c04
call dword [sym.imp.KERNEL32.dll_GetLastError]
xor edi, edi
mov dword [ebp - 0x1820], edi
mov dword [ebp - 0x181c], edi
mov dword [ebp - 0x1818], edi
mov dword [ebp - 0x1854], edi
mov dword [ebp - 0x1850], edi
mov dword [ebp - 0x184c], edi
lea eax, [ebp - 0x1b08]
mov byte [ebp - 4], 4
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x401c37
sub eax, edx
sar eax, 1
dec eax
xor ebx, ebx
cmp word [ebp - 0x1b08], 0x5c
jne 0x401ff0
jmp 0x401c60
mov ecx, 0x5c
cmp word [ebp - 0x1b06], cx
jne 0x401ff0
cmp word [ebp - 0x1b04], 0x3f
jne 0x401ff0
cmp word [ebp - 0x1b02], cx
jne 0x401ff0
lea esi, [ebp + eax*2 - 0x1b08]
mov dword [ebp - 0x1b3c], esi
cmp word [esi], cx
jne 0x401ff0
xor edx, edx
xor ecx, ecx
mov word [ebp + eax*2 - 0x228], dx
push 0x104
lea eax, [ebp - 0x430]
mov word [esi], cx
push eax
lea ecx, [ebp - 0x1b00]
push ecx
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
mov edx, 0x5c
mov word [esi], dx
cmp eax, ebx
je 0x401fd2
mov dword [ebp - 0x186c], ebx
mov dword [ebp - 0x1868], ebx
mov dword [ebp - 0x1864], ebx
mov byte [ebp - 4], 5
xor eax, eax
mov word [esi], ax
xor ecx, ecx
lea eax, [ebp - 0x1b08]
mov dword [ebp - 0x1878], 7
mov dword [ebp - 0x187c], ebx
mov word [ebp - 0x188c], cx
lea edx, [eax + 2]
jmp 0x401d20
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x401d20
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x1b08]
lea ecx, [ebp - 0x188c]
call fcn.004039a0
lea edx, [ebp - 0x188c]
mov byte [ebp - 4], 6
mov ebx, dword [ebp - 0x1820]
cmp edx, edi
jae 0x401e2e
mov eax, edx
cmp ebx, eax
ja 0x401e2e
mov ecx, edx
sub ecx, ebx
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov esi, edx
shr esi, 0x1f
add esi, edx
cmp edi, dword [ebp - 0x1818]
jne 0x401dfc
mov ecx, edi
sub ecx, ebx
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 0x9249248
ja 0x401fda
mov ebx, dword [ebp - 0x1818]
sub ebx, dword [ebp - 0x1820]
mov eax, 0x92492493
imul ebx
add edx, ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
inc ecx
add eax, edx
cmp ecx, eax
jbe 0x401df6
mov edx, eax
shr edx, 1
mov edi, 0x9249249
sub edi, edx
cmp edi, eax
jae 0x401ddc
xor eax, eax
jmp 0x401dde
add eax, edx
cmp eax, ecx
jae 0x401de4
mov eax, ecx
push eax
lea ecx, [ebp - 0x1820]
call fcn.00403b80
mov edi, dword [ebp - 0x181c]
mov ebx, dword [ebp - 0x1820]
lea ecx, [esi*8]
sub ecx, esi
lea ebx, [ebx + ecx*4]
mov byte [ebp - 4], 7
test edi, edi
je 0x401ed5
xor edx, edx
push edx
mov dword [edi + 0x14], 7
mov dword [edi + 0x10], 0
mov word [edi], dx
push ebx
jmp 0x401ecd
cmp edi, dword [ebp - 0x1818]
jne 0x401eaa
mov ecx, edi
sub ecx, ebx
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 0x9249248
ja 0x401fda
mov ebx, dword [ebp - 0x1818]
sub ebx, dword [ebp - 0x1820]
mov eax, 0x92492493
imul ebx
add edx, ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
inc ecx
add eax, edx
cmp ecx, eax
jbe 0x401eaa
mov edx, eax
shr edx, 1
mov esi, 0x9249249
sub esi, edx
cmp esi, eax
jae 0x401e90
xor eax, eax
jmp 0x401e92
add eax, edx
cmp eax, ecx
jae 0x401e98
mov eax, ecx
push eax
lea ecx, [ebp - 0x1820]
call fcn.00403b80
mov edi, dword [ebp - 0x181c]
mov byte [ebp - 4], 8
test edi, edi
je 0x401ed5
xor eax, eax
push eax
lea ecx, [ebp - 0x188c]
mov dword [edi + 0x14], 7
mov dword [edi + 0x10], 0
mov word [edi], ax
push ecx
or eax, 0xffffffff
call fcn.00403810
add edi, 0x1c
mov byte [ebp - 4], 5
cmp dword [ebp - 0x1878], 8
mov dword [ebp - 0x181c], edi
jb 0x401efa
mov edx, dword [ebp - 0x188c]
push edx
call fcn.004046af
add esp, 4
mov esi, dword [ebp - 0x1b3c]
xor ecx, ecx
mov eax, 0x5c
mov word [esi], ax
mov word [ebp - 0x188c], cx
push ecx
mov eax, 0x412328
lea ecx, [ebp - 0x188c]
mov dword [ebp - 0x1878], 7
mov dword [ebp - 0x187c], 0
call fcn.004039a0
lea ecx, [ebp - 0x188c]
lea ebx, [ebp - 0x1854]
mov byte [ebp - 4], 9
call fcn.00403740
cmp dword [ebp - 0x1878], 8
jb 0x401f63
mov edx, dword [ebp - 0x188c]
push edx
call fcn.004046af
add esp, 4
mov edx, dword [ebp - 0x1b28]
push 0x104
lea ecx, [ebp - 0x1b08]
push ecx
mov eax, 0x5c
push edx
mov word [esi], ax
call dword [sym.imp.KERNEL32.dll_FindNextVolumeW]
xor esi, esi
cmp eax, esi
je 0x401fe4
mov byte [ebp - 4], 4
lea eax, [ebp - 0x1b08]
mov dword [ebp - 0x186c], esi
mov dword [ebp - 0x1868], esi
mov dword [ebp - 0x1864], esi
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x401fb0
sub eax, edx
sar eax, 1
dec eax
xor ebx, ebx
cmp word [ebp - 0x1b08], 0x5c
je 0x401c60
jmp 0x401ff0
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x401ff0
push str.vector_T__too_long
call fcn.00403ff5
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov byte [ebp - 4], 4
xor ebx, ebx
mov eax, dword [ebp - 0x1b28]
push eax
call dword [sym.imp.KERNEL32.dll_FindVolumeClose]
sub edi, dword [ebp - 0x1820]
mov eax, 0x92492493
imul edi
add edx, edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x1b28], ebx
mov dword [ebp - 0x1b3c], eax
je 0x4021c0
mov ecx, dword [ebp - 0x1854]
mov eax, dword [ebp - 0x1834]
mov dword [ebp - 0x1b2c], ecx
mov ebx, ecx
cmp dword [ebp - 0x1b40], 0
je 0x40219c
mov esi, dword [ebx + 0x10]
cmp esi, 0xffffffff
jbe 0x402054
or esi, 0xffffffff
lea edx, [ebp - 0x1844]
cmp edx, ebx
jne 0x4020e7
or edi, 0xffffffff
cmp eax, esi
jb 0x40265e
mov ecx, eax
sub ecx, esi
cmp ecx, 0xffffffff
jae 0x402080
mov edi, ecx
test edi, edi
je 0x40219c
cmp dword [ebp - 0x1830], 8
mov edx, dword [ebp - 0x1844]
jae 0x4020df
lea edx, [ebp - 0x1844]
mov ecx, edx
sub eax, edi
sub eax, esi
add eax, eax
push eax
lea eax, [edi + esi]
lea edx, [edx + eax*2]
push edx
lea eax, [ecx + esi*2]
push eax
call fcn.00404280
mov eax, dword [ebp - 0x1834]
mov ecx, dword [ebp - 0x1844]
sub eax, edi
add esp, 0xc
cmp dword [ebp - 0x1830], 8
mov dword [ebp - 0x1834], eax
jae 0x4020d4
lea ecx, [ebp - 0x1844]
xor edx, edx
mov word [ecx + eax*2], dx
jmp 0x402196
mov ecx, dword [ebp - 0x1844]
jmp 0x402097
cmp esi, 0x7ffffffe
ja 0x402668
mov ecx, dword [ebp - 0x1830]
cmp ecx, esi
jae 0x40210d
push eax
push esi
lea eax, [ebp - 0x1844]
push eax
call fcn.00403cd0
jmp 0x40212d
test esi, esi
jne 0x402135
mov eax, dword [ebp - 0x1844]
mov dword [ebp - 0x1834], esi
cmp ecx, 8
jae 0x402128
lea eax, [ebp - 0x1844]
xor ecx, ecx
mov word [eax], cx
mov eax, dword [ebp - 0x1834]
test esi, esi
setne cl
test cl, cl
je 0x40219c
mov ecx, dword [ebp - 0x1b2c]
mov ebx, 8
cmp dword [ecx + 0x14], ebx
jb 0x40214e
mov ecx, dword [ecx]
mov eax, dword [ebp - 0x1844]
cmp dword [ebp - 0x1830], ebx
jae 0x402162
lea eax, [ebp - 0x1844]
lea edi, [esi + esi]
push edi
push ecx
push eax
call fcn.0040a900
mov eax, dword [ebp - 0x1844]
add esp, 0xc
mov dword [ebp - 0x1834], esi
cmp dword [ebp - 0x1830], ebx
jae 0x40218a
lea eax, [ebp - 0x1844]
mov ebx, dword [ebp - 0x1b2c]
xor edx, edx
mov word [edi + eax], dx
mov eax, dword [ebp - 0x1834]
mov ecx, dword [ebp - 0x1b28]
inc ecx
add ebx, 0x1c
mov dword [ebp - 0x1b28], ecx
mov dword [ebp - 0x1b2c], ebx
cmp ecx, dword [ebp - 0x1b3c]
jb 0x40203c
xor ebx, ebx
mov eax, dword [ebp - 0x1854]
cmp eax, ebx
je 0x40220c
mov esi, dword [ebp - 0x1850]
mov edi, eax
cmp eax, esi
je 0x402203
cmp dword [edi + 0x14], 8
jb 0x4021ed
mov eax, dword [edi]
push eax
call fcn.004046af
mov eax, dword [ebp - 0x1854]
add esp, 4
xor ecx, ecx
mov dword [edi + 0x14], 7
mov dword [edi + 0x10], ebx
mov word [edi], cx
add edi, 0x1c
cmp edi, esi
jne 0x4021d6
push eax
call fcn.004046af
add esp, 4
lea ebx, [ebp - 0x1820]
call fcn.00403940
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x1830], 8
jb 0x402236
mov edx, dword [ebp - 0x1844]
push edx
call fcn.004046af
add esp, 4
push 0x100
lea eax, [ebp - 0x120]
push eax
lea ecx, [ebp - 0x1b28]
push ecx
lea edx, [ebp - 0x1b3c]
push edx
xor esi, esi
push esi
push 0x100
lea eax, [ebp - 0x328]
push eax
lea ecx, [ebp - 0x1a04]
push ecx
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
lea edx, [ebp - 0x1b44]
push edx
push esi
push 8
mov dword [ebp - 0x185c], esi
mov word [ebp - 0x1858], 0x500
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenThreadToken]
test eax, eax
jne 0x4022b6
lea eax, [ebp - 0x1b44]
push eax
push 8
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
jne 0x4022b6
mov dword [ebp - 0x1b34], esi
mov eax, dword [ebp - 0x1b44]
lea ecx, [ebp - 0x1b3c]
push ecx
push 0x1000
lea edx, [ebp - 0x1810]
push edx
push 2
push eax
mov dword [ebp - 0x1b3c], 0x1000
call dword [sym.imp.ADVAPI32.dll_GetTokenInformation]
test eax, eax
jne 0x4022f0
mov dword [ebp - 0x1b34], 1
lea ecx, [ebp - 0x1b28]
push ecx
push esi
push esi
push esi
push esi
push esi
push esi
push 0x220
push 0x20
push 2
lea edx, [ebp - 0x185c]
push edx
call dword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
test eax, eax
jne 0x402321
mov dword [ebp - 0x1b38], 1
cmp dword [ebp - 0x1810], esi
jbe 0x402351
mov ebx, dword [sym.imp.ADVAPI32.dll_EqualSid]
lea edi, [ebp - 0x180c]
mov eax, dword [edi]
mov ecx, dword [ebp - 0x1b28]
push eax
push ecx
call ebx
test eax, eax
jne 0x402351
inc esi
add edi, 8
cmp esi, dword [ebp - 0x1810]
jb 0x402335
mov edx, dword [ebp - 0x1b28]
push edx
call dword [sym.imp.ADVAPI32.dll_FreeSid]
mov eax, dword [ebp - 0x1b44]
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
call ebx
cmp dword [ebp - 0x1b40], 0
je 0x402405
push 0
push 0x80
push 3
push 0
push 3
push 0x80000000
lea ecx, [ebp - 0x1b08]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
jne 0x4023aa
mov dword [ebp - 0x1b34], 0
push 0
lea edx, [ebp - 0x1b2c]
push edx
push 0xc
lea eax, [ebp - 0x1850]
push eax
push 0
push 0
push 0x2d1080
push esi
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
push esi
mov edi, eax
call ebx
test edi, edi
jne 0x4023df
mov dword [ebp - 0x1b38], 1
push 0
lea ecx, [ebp - 0x184c]
push ecx
push 0
lea edx, [ebp - 0x1b08]
push edx
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
test eax, eax
jne 0x402405
mov dword [ebp - 0x1b38], 1
mov eax, dword [0x41b198]
mov ecx, dword [0x41b194]
mov esi, dword [ebp - 0x1b30]
push esi
mov dword [ebp - 0x1b5c], eax
mov dword [ebp - 0x1b2c], ecx
call dword [sym.imp.USER32.dll_GetDC]
mov edx, dword [ebp - 0x1b38]
push edx
push 2
push 0
mov edi, eax
call dword [sym.imp.GDI32.dll_CreatePen]
mov ebx, eax
push ebx
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x1b60], eax
xor eax, eax
mov dword [ebp - 0x184c], eax
mov dword [ebp - 0x1848], eax
lea eax, [ebp - 0x184c]
push eax
push edi
call dword [sym.imp.GDI32.dll_GetCurrentPositionEx]
mov edx, dword [ebp - 0x1b2c]
mov eax, dword [ebp - 0x1b5c]
lea ecx, [ebp - 0x184c]
push ecx
push edx
push eax
push edi
call dword [sym.imp.GDI32.dll_MoveToEx]
mov ecx, dword [ebp - 0x1b34]
mov edx, dword [ebp - 0x1b40]
push ecx
push edx
push edi
call dword [sym.imp.GDI32.dll_LineTo]
mov eax, dword [ebp - 0x1b60]
push eax
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
push ebx
call dword [sym.imp.GDI32.dll_DeleteObject]
push edi
push esi
call dword [sym.imp.USER32.dll_ReleaseDC]
mov ecx, dword [ebp - 0x1860]
mov edx, dword [ebp - 0x1864]
mov eax, dword [ebp - 0x1868]
push 1
push ecx
mov ecx, dword [ebp - 0x186c]
push edx
mov edx, dword [ebp - 0x1828]
push eax
push ecx
push edx
call dword [sym.imp.USER32.dll_MoveWindow]
lea eax, [ebp - 0x186c]
push eax
push esi
call dword [sym.imp.USER32.dll_GetClientRect]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, dword [ebp - 0x1b34]
mov edx, dword [ebp - 0x1860]
push eax
mov eax, dword [ebp - 0x1864]
push ecx
push esi
push edx
push eax
push 0
push 0
push 0x56008000
push 0x412328
push str.SysTabControl32
push 0x20000
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
mov edi, eax
xor eax, eax
lea ecx, [ebp - 0x1844]
push ecx
push eax
push 0x1307
mov dword [ebp - 0x1838], eax
push edi
mov dword [ebp - 0x1840], eax
mov dword [ebp - 0x183c], eax
mov dword [ebp - 0x1834], eax
mov dword [ebp - 0x1830], eax
mov dword [ebp - 0x182c], eax
mov dword [ebp - 0x1844], 1
mov dword [ebp - 0x1838], str.Dummy
call ebx
or dword [ebp - 0x1844], 8
lea edx, [ebp - 0x1844]
push edx
push 1
push 0x1307
push edi
mov dword [ebp - 0x1838], str.List_Box
call ebx
lea eax, [ebp - 0x1844]
push eax
push 2
push 0x1307
push edi
mov dword [ebp - 0x1838], str.Edit_Box
call ebx
push 0
push 0
push 0x1308
push edi
call ebx
push 0
push 0
push 0x130c
push edi
call ebx
push 0
push 0
push 0x130b
push esi
call ebx
xor ecx, ecx
mov dword [ebp - 0x1888], ecx
mov dword [ebp - 0x1884], ecx
mov dword [ebp - 0x1880], ecx
mov dword [ebp - 0x187c], ecx
mov dword [ebp - 0x1878], ecx
mov dword [ebp - 0x1874], ecx
lea ecx, [ebp - 0x188c]
push ecx
push eax
push 0x1305
push esi
mov dword [ebp - 0x188c], 8
call ebx
test esi, esi
jne 0x40262b
mov dword [ebp - 0x1b40], esi
cmp dword [ebp - 0x1b50], 0
mov ebx, dword [ebp - 0x1b40]
je 0x402672
mov edx, dword [0x41b194]
imul edx, dword [ebp - 0x1b34]
mov eax, dword [0x41b1a8]
mov ecx, dword [ebp - 0x1b64]
lea edi, [edx + eax + 1]
mov dword [ebp - 0x1b60], ecx
jmp 0x402682
push str.invalid_string_position
call fcn.00404042
push str.string_too_long
call fcn.00403ff5
mov edi, dword [0x41b194]
imul edi, dword [ebp - 0x1b38]
sub edi, ebx
dec edi
cmp dword [0x41b1a8], 0
je 0x402695
mov dword [0x41b1a8], 0
push 1
push 0
push 0
push ebx
call dword [sym.imp.USER32.dll_DdeNameService]
mov ecx, dword [ebp - 0x1b50]
test eax, eax
jne 0x4026be
mov edx, dword [0x41b1a8]
add ecx, 0x14
lea eax, [edx + ecx*2]
add eax, ecx
add eax, ebx
jmp 0x4026d4
mov eax, dword [0x41b1a0]
add eax, 0xa
imul eax, dword [ebp - 0x1b48]
lea eax, [eax + ecx - 0x22f]
mov ebx, dword [0x41b1a4]
lea edx, [ebx + 1]
mov dword [ebp - 0x1b3c], eax
cmp edx, dword [0x41b1a0]
je 0x402726
push eax
mov eax, dword [ebp - 0x1b60]
push 0x40d0e8
push eax
call fcn.0040a900
mov edx, dword [ebp - 0x1b40]
mov ecx, dword [0x41b1a0]
mov eax, dword [0x41b194]
lea ecx, [ecx + edx + 1]
imul ecx, ebx
mov edx, edi
sub edx, eax
add esp, 0xc
cmp edx, ecx
jne 0x402726
add dword [0x41b198], eax
mov eax, dword [ebp - 0x1b40]
lea ecx, [esi + eax*4]
test ecx, ecx
je 0x40279a
mov edx, eax
mov eax, dword [ebp - 0x1b48]
push 0
push eax
mov dword [ebp - 0x534], edx
call dword [sym.imp.KERNEL32.dll_LoadResource]
cmp dword [0x41b1a4], 0
mov ecx, dword [ebp - 0x1b60]
mov dword [ecx], eax
je 0x402776
mov edx, dword [0x41b1a8]
push edx
call dword [sym.imp.KERNEL32.dll_FreeResource]
mov ebx, dword [0x41b1a4]
mov eax, dword [ebp - 0x1b40]
jmp 0x4027ae
push 0
push str.error
lea eax, [ebp - 0x534]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ebx, dword [0x41b1a4]
mov eax, dword [ebp - 0x1b40]
jmp 0x4027ae
mov ecx, dword [0x41b198]
lea edx, [ecx + ecx - 4]
sub edx, eax
sub edx, esi
mov dword [0x41b198], edx
mov dword [ebp - 0x1b28], 0xc0
cmp esi, dword [ebp - 0x1b50]
jne 0x4027e4
mov ecx, dword [ebp - 0x1b54]
sub ecx, dword [ebp - 0x1b38]
add ecx, dword [ebp - 0x1b34]
add edi, dword [0x41b1ac]
mov dword [ebp - 0x1b38], ecx
mov dword [ebp - 0x1b28], edi
mov edx, dword [ebp - 0x1b4c]
lea ecx, [ebp - 0x73c]
mov dword [edx + eax], ecx
cmp eax, dword [0x41b1a0]
jne 0x402ac9
mov eax, dword [ebp - 0x1b28]
add eax, dword [ebp - 0x1b58]
xor esi, esi
push 0xff
lea edx, [ebp - 0x11f]
push esi
push edx
mov dword [ebp - 0x1b5c], eax
mov dword [ebp - 0x1b2c], esi
call fcn.00408d60
mov ecx, dword [0x41b1a0]
mov edx, dword [0x41b1a8]
add esp, 0xc
push 0x100
lea eax, [ebp - 0x120]
push eax
push ebx
push ecx
inc edx
push edx
mov dword [ebp - 0x120], ebx
mov dword [ebp - 0x1b44], esi
call dword [sym.imp.WS2_32.dll_WSAAsyncGetProtoByNumber]
test eax, eax
jne 0x40286c
mov eax, dword [0x41b1a0]
inc eax
mov dword [ebp - 0x1b44], eax
cmp dword [0x41b1a4], esi
je 0x402ac9
cmp dword [0x41b1ac], esi
je 0x402ac9
mov dword [ebp - 0x1b64], esi
cmp dword [ebp - 0x1b3c], esi
jle 0x402ac9
mov ecx, dword [ebp - 0x1b5c]
mov edx, dword [ebp - 0x1b44]
lea eax, [ecx + edx - 3]
mov dword [ebp - 0x1b4c], eax
lea esp, [esp]
mov ecx, dword [0x41b1a8]
mov ebx, dword [ebp - 0x1b4c]
mov edx, dword [ebp - 0x1b60]
mov eax, dword [ebp - 0x1b64]
mov al, byte [edx + eax]
mov edx, dword [0x41b194]
shl esi, 4
sub esi, ecx
add esi, dword [ebp - 0x1b5c]
push edx
add esi, esi
imul ebx, esi
add ebx, dword [ebp - 0x1b2c]
push ecx
xor al, bl
mov byte [ebp - 0x1b65], al
call dword [sym.imp.USER32.dll_GetWindowLongA]
or eax, dword [0x41b198]
push eax
mov eax, dword [0x41b1a8]
push 0xfffffffffffffff0
push eax
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov edi, dword [0x41b1a0]
mov cl, byte [ebp - 0x1b65]
mov edx, dword [ebp - 0x1b44]
mov eax, dword [ebp - 0x1b60]
mov byte [ebp + edi - 0x1b58], cl
mov ecx, dword [0x41b1ac]
mov byte [ebp + edx - 0x1b58], al
mov edx, dword [0x41b198]
add edx, dword [0x41b194]
sub ecx, edi
cmp edx, ecx
jle 0x402950
inc dword [0x41b198]
cmp dword [ebp - 0x1b5c], 0
je 0x402971
mov edx, dword [0x41b1a8]
mov cl, byte [ebp + edx - 0x1b58]
mov edx, dword [ebp - 0x1b64]
mov byte [eax + edx], cl
jmp 0x40297a
mov ecx, dword [ebp - 0x1b64]
mov byte [eax + ecx], al
test edi, edi
je 0x4029c9
lea edx, [ebp - 0x120]
push edx
mov eax, edx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
lea ecx, [ebp - 0x120]
push ecx
call edi
mov edx, 0x100
sub edx, eax
push edx
lea eax, [ebp - 0x120]
push eax
call edi
lea ecx, [ebp + eax - 0x120]
push ecx
lea edx, [ebp - 0x120]
push edx
call dword [sym.imp.COMDLG32.dll_GetFileTitleA]
mov edi, dword [0x41b1a0]
mov ecx, dword [ebp - 0x1b5c]
cmp dword [ebp - 0x1b64], ecx
jle 0x4029eb
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
add eax, edi
imul eax, dword [ebp - 0x1b2c]
add esi, eax
jmp 0x402a20
sub ecx, dword [ebp - 0x1b2c]
mov eax, 0x55555556
imul ebx
add ecx, dword [0x41b1a8]
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1b44]
sub edx, eax
lea eax, [edx + esi - 1]
lea edx, [esi + esi]
neg edi
sub edi, edx
imul eax, edi
imul eax, ecx
mov esi, eax
push 0x28
lea eax, [ebp - 0x18e8]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.PSAPI.DLL_GetProcessMemoryInfo]
mov edx, dword [0x41b19c]
xor eax, eax
lea ecx, [ebp - 0x18c0]
push ecx
push str.STATIC
push edx
mov dword [ebp - 0x18c0], eax
mov dword [ebp - 0x18bc], eax
mov dword [ebp - 0x18b8], eax
mov dword [ebp - 0x18b4], eax
mov dword [ebp - 0x18b0], eax
mov dword [ebp - 0x18ac], eax
mov dword [ebp - 0x18a8], eax
mov dword [ebp - 0x18a4], eax
mov dword [ebp - 0x18a0], eax
mov dword [ebp - 0x189c], eax
call dword [sym.imp.USER32.dll_GetClassInfoA]
mov ecx, dword [ebp - 0x1b5c]
mov eax, dword [ebp - 0x1b2c]
mov edi, ecx
sub edi, dword [0x41b1a0]
cdq
add edi, 2
idiv edi
imul eax, ecx
mov dword [ebp - 0x1b2c], eax
mov eax, dword [ebp - 0x1b64]
inc eax
mov dword [ebp - 0x1b64], eax
cmp eax, dword [ebp - 0x1b3c]
jl 0x4028b0
push 4
call fcn.0040461b
mov edi, dword [ebp - 0x1b40]
mov dword [eax], edi
add esp, 4
lea eax, [ebp - 0x1b3c]
push eax
call dword [sym.imp.SHELL32.dll_SHGetMalloc]
test edi, edi
je 0x402b01
mov eax, dword [ebp - 0x1b3c]
mov edx, dword [ebp - 0x1828]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x14]
call eax
mov eax, dword [ebp - 0x1b3c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
cmp dword [ebp - 0x1b30], 0
jne 0x402b29
mov ecx, dword [ebp - 0x1b60]
lea eax, [ebp - 0x1b48]
mov dword [ecx + 1], eax
jmp 0x402b48
mov eax, dword [ebp - 0x1b54]
sub eax, dword [ebp - 0x1b28]
lea edx, [ebp - 0x1b48]
add eax, dword [0x41b1a0]
mov dword [ebp + eax - 0x810], edx
mov esi, dword [0x41b1a8]
mov ebx, dword [0x41b194]
cmp edi, 0x113
ja 0x402d4e
je 0x402d42
mov eax, edi
sub eax, 2
je 0x402bf8
sub eax, 0xd
je 0x402c05
sub eax, 0x102
jne 0x402d5c
movzx eax, word [ebp - 0x1b34]
sub eax, 0x32
je 0x402bdc
sub eax, 5
je 0x402bba
dec eax
jne 0x402d86
mov ecx, dword [ebp - 0x1b48]
push eax
push 0x401050
movzx eax, bx
push esi
push eax
push ecx
call dword [sym.imp.USER32.dll_DialogBoxParamA]
jmp 0x402d86
movzx edx, word [0x41b198]
mov eax, dword [ebp - 0x1b48]
push 0
push 0x401050
push esi
push edx
push eax
call dword [sym.imp.USER32.dll_DialogBoxParamA]
jmp 0x402d86
push 1
push 0x412327
push str._____
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 1
jne 0x402d86
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
jmp 0x402d86
cmp dword [ebp - 0x1b50], 0
je 0x402d86
lea ecx, [ebp - 0x1900]
push ecx
push esi
call dword [sym.imp.USER32.dll_BeginPaint]
cmp dword [ebp - 0x1828], 0
mov dword [ebp - 0x1b54], eax
jne 0x402d32
mov edi, dword [sym.imp.GDI32.dll_CreatePen]
push 0
push 2
push 0
call edi
push 0xffffff
push 2
push 0
mov dword [ebp - 0x1b4c], eax
call edi
push 0xff
push 2
push 0
mov dword [ebp - 0x1b28], eax
call edi
push 0xff00
push 2
push 0
mov dword [ebp - 0x1b44], eax
call edi
push 0xff0000
push 2
push 0
mov dword [ebp - 0x1b2c], eax
call edi
cmp ebx, 1
jne 0x402c9a
mov edx, dword [ebp - 0x1b4c]
mov eax, dword [ebp - 0x1b54]
push edx
push eax
jmp 0x402cde
cmp ebx, 2
jne 0x402caf
mov ecx, dword [ebp - 0x1b28]
mov edx, dword [ebp - 0x1b54]
push ecx
push edx
jmp 0x402cde
cmp ebx, 3
jne 0x402cbc
mov eax, dword [ebp - 0x1b44]
jmp 0x402cd6
cmp ebx, 4
jne 0x402cd1
mov edx, dword [ebp - 0x1b2c]
mov eax, dword [ebp - 0x1b54]
push edx
push eax
jmp 0x402cde
cmp ebx, 5
jne 0x402ce4
mov ecx, dword [ebp - 0x1b54]
push eax
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
mov edx, dword [ebp - 0x1828]
mov eax, dword [ebp - 0x1828]
mov edi, dword [ebp - 0x1b54]
push 0
push edx
push eax
push edi
call dword [sym.imp.GDI32.dll_MoveToEx]
mov ecx, dword [ebp - 0x1828]
mov edx, dword [ebp - 0x1828]
push ecx
push edx
push edi
call dword [sym.imp.GDI32.dll_LineTo]
mov eax, dword [0x41b198]
mov ecx, dword [0x41b194]
imul eax, eax, 0x3e8
push 0
push eax
push ecx
push esi
call dword [sym.imp.USER32.dll_SetTimer]
lea edx, [ebp - 0x1900]
push edx
push esi
call dword [sym.imp.USER32.dll_EndPaint]
jmp 0x402d86
push ebx
push esi
call dword [sym.imp.USER32.dll_KillTimer]
push 1
jmp 0x402d76
mov eax, edi
sub eax, 0x201
je 0x402d74
sub eax, 3
je 0x402d4a
mov eax, dword [ebp - 0x1b38]
mov ecx, dword [ebp - 0x1b34]
push eax
push ecx
push edi
push esi
call dword [sym.imp.USER32.dll_DefWindowProcA]
jmp 0x402d86
push 0
push 0
push esi
call dword [sym.imp.USER32.dll_InvalidateRect]
push esi
call dword [sym.imp.USER32.dll_UpdateWindow]
mov edi, dword [ebp - 0x1b40]
mov edx, dword [0x41b1a8]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
mov ebx, dword [0x41b194]
push 0
push edi
push 0x402
push edx
call esi
push edi
lea eax, [ebp - 0x1850]
push 0x412cd8
push eax
call fcn.004040bf
mov edi, dword [ebp - 0x1828]
add esp, 0xc
lea ecx, [ebp - 0x1850]
push ecx
push edi
call dword [sym.imp.USER32.dll_SetWindowTextA]
cmp dword [ebp - 0x1b40], 0
jne 0x402e4d
push ebx
push edi
call dword [sym.imp.USER32.dll_KillTimer]
mov edx, dword [ebp - 0x18c0]
push 0
push 0
push 0xf0
push edx
call esi
test eax, eax
je 0x402e4d
mov edi, dword [ebp - 0x1b30]
push 0
test edi, edi
je 0x402e0f
push 2
call dword [sym.imp.USER32.dll_ExitWindowsEx]
jmp 0x402e53
mov eax, dword [ebp - 0x18bc]
push 0
push 0xf0
push eax
call esi
test eax, eax
je 0x402e53
mov ecx, dword [ebp - 0x18b8]
push 0
push 0
push 0xf0
push ecx
call esi
test eax, eax
je 0x402e53
mov edx, dword [ebp - 0x18b4]
push 0
push 0
push 0xf0
push edx
call esi
jmp 0x402e53
mov edi, dword [ebp - 0x1b30]
mov esi, dword [ebp - 0x1b40]
mov eax, dword [0x41b194]
mov ecx, esi
sub ecx, 0x110
je 0x4034b1
dec ecx
jne case.0x402e84.3
movzx ebx, ax
lea ecx, [ebx - 1]
cmp ecx, 0xca
ja case.0x402e84.3
movzx ecx, byte [ecx + 0x40362c]
jmp dword [ecx*4 + 0x403618]
mov edx, dword [ebp - 0x1b34]
push eax
push eax
push edx
push edi
call dword [sym.imp.USER32.dll_CheckRadioButton]
mov edx, dword [0x41b198]
cmp esi, 0x111
jbe 0x403031
cmp esi, 0x135
jb 0x40302b
cmp esi, 0x136
ja 0x402f0b
push 0x14
call dword [sym.imp.USER32.dll_GetSysColorBrush]
jmp 0x4035fa
push eax
push eax
push eax
jmp 0x402e94
mov esi, dword [sym.imp.USER32.dll_IsDlgButtonChecked]
cmp eax, 1
je 0x402ee3
cmp eax, 2
jne 0x402eec
push eax
push edi
call esi
mov eax, dword [0x41b194]
push eax
push edi
call esi
mov eax, dword [0x41b194]
push eax
push edi
call esi
push ebx
push edi
call dword [sym.imp.USER32.dll_EndDialog]
mov eax, 1
jmp 0x4035fa
cmp esi, 0x467
jne 0x40302b
xor ebx, ebx
lea esp, [esp]
mov ecx, dword [ebp - 0x1b30]
lea esi, [ebx + 0x3e9]
push esi
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
lea edx, [ebp - 0x1b2c]
push edx
push eax
mov dword [ebp - 0x1b4c], eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov edi, dword [ebp - 0x1828]
sub edi, dword [ebp - 0x1b2c]
cmp dword [ebp - 0x184c], 0
je 0x40301c
mov ecx, dword [ebp - 0x1b30]
lea eax, [ebp - 0x1820]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov edx, dword [ebp - 0x1b4c]
push edx
call dword [sym.imp.USER32.dll_DestroyWindow]
mov eax, dword [ebp - 0x1b48]
mov ecx, dword [ebp - 0x1b30]
mov edx, dword [ebp - 0x1828]
push 0
push eax
mov eax, dword [ebp - 0x1828]
push esi
push ecx
sub edx, eax
sub eax, dword [ebp - 0x181c]
push edx
push edi
push eax
mov eax, dword [ebp - 0x1b2c]
sub eax, dword [ebp - 0x1820]
xor ecx, ecx
cmp ebx, 0x50008080
sete cl
push eax
lea edx, [ebp - 0x73c]
push ecx
push edx
push str.BUTTON
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov esi, eax
mov eax, dword [0x41b198]
cmp ebx, eax
jne 0x402ffc
push 0
add eax, 0x3e9
push eax
mov eax, dword [ebp - 0x1b30]
push 0x401
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebp - 0x1828]
push ecx
push 0
push 0xf7
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je 0x40301c
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
inc ebx
cmp ebx, 4
jl 0x402f20
jmp 0x403395
cmp esi, 0x111
jne 0x4030c2
mov esi, dword [ebp - 0x1b38]
mov eax, 0x3ec
cmp si, ax
ja 0x4035f8
mov ecx, 0x3e9
cmp si, cx
jb 0x40308e
movzx eax, si
sub eax, ecx
cmp eax, edx
je 0x40307d
lea ecx, [ebp - 0x18ec]
push ecx
push edi
call dword [sym.imp.USER32.dll_GetWindowPlacement]
push 0
push edi
call dword [sym.imp.USER32.dll_ShowWindow]
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push 0x10
push edi
call ebx
jmp 0x403094
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
movzx edx, si
dec edx
cmp edx, 1
ja 0x4035f8
mov esi, dword [ebp - 0x1828]
mov eax, dword [esi]
test eax, eax
je 0x4030b6
push 0
push 0
push 0x10
push eax
call ebx
add esi, 4
cmp esi, edi
jl 0x4030a7
jmp 0x4035f8
cmp esi, 6
jne 0x4030e6
cmp dword [ebp - 0x1b38], 0
jne 0x4033a1
push 0
push 0
push 0x10
push edi
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x4033a1
cmp esi, 0x10
je 0x4033a1
cmp esi, 0x110
jne 0x4033a1
test edx, edx
je 0x40312e
mov eax, dword [edx + 0x1c]
mov ecx, dword [edx + 0x20]
mov dword [ebp - 0x1820], eax
mov eax, dword [edx + 0x24]
mov dword [ebp - 0x181c], ecx
mov ecx, dword [edx + 0x28]
mov dword [ebp - 0x1818], eax
mov dword [ebp - 0x1814], ecx
mov dword [edx], 0
jmp 0x403281
lea ecx, [ebp - 0x184c]
push ecx
call dword [sym.imp.USER32.dll_GetCursorPos]
push 0
lea edx, [ebp - 0x1b2c]
push edx
push 0
push 0x30
mov dword [ebp - 0x1b2c], 0
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
mov ecx, dword [ebp - 0x1b30]
lea eax, [ebp - 0x1820]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov esi, dword [ebp - 0x1814]
mov edi, dword [ebp - 0x1818]
mov edx, dword [ebp - 0x184c]
mov eax, dword [ebp - 0x1848]
sub esi, dword [ebp - 0x181c]
sub edi, dword [ebp - 0x1820]
push 0x4e
mov dword [ebp - 0x1820], edx
mov dword [ebp - 0x181c], eax
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x4f
mov ebx, eax
call dword [sym.imp.USER32.dll_GetSystemMetrics]
xor edx, edx
mov dword [ebp - 0x1b28], eax
cmp ebx, eax
jae 0x4031cf
mov ecx, dword [ebp - 0x181c]
mov eax, edi
imul eax, dword [ebp - 0x1b28]
add ecx, edi
div ebx
jmp 0x4031e3
mov eax, esi
imul eax, ebx
div dword [ebp - 0x1b28]
mov edx, dword [ebp - 0x181c]
lea ecx, [esi + edx]
mov edi, dword [ebp - 0x1820]
mov edx, dword [ebp - 0x1b2c]
mov esi, dword [sym.imp.USER32.dll_OffsetRect]
add eax, edi
mov dword [ebp - 0x1814], ecx
mov dword [ebp - 0x1818], eax
cmp edi, edx
jge 0x403221
push 0
sub edx, edi
push edx
lea eax, [ebp - 0x1820]
push eax
call esi
mov ecx, dword [ebp - 0x1814]
mov eax, dword [ebp - 0x1818]
test eax, eax
js 0x40323f
push 0
neg eax
push eax
lea ecx, [ebp - 0x1820]
push ecx
call esi
mov ecx, dword [ebp - 0x1814]
mov eax, dword [ebp - 0x1818]
mov edx, dword [ebp - 0x181c]
test edx, edx
jns 0x403263
neg edx
push edx
push 0
lea edx, [ebp - 0x1820]
push edx
call esi
mov ecx, dword [ebp - 0x1814]
mov eax, dword [ebp - 0x1818]
test ecx, ecx
js 0x403281
neg ecx
push ecx
push 0
lea eax, [ebp - 0x1820]
push eax
call esi
mov ecx, dword [ebp - 0x1814]
mov eax, dword [ebp - 0x1818]
mov edx, dword [ebp - 0x181c]
mov esi, dword [ebp - 0x1b30]
push 4
sub ecx, edx
push ecx
mov ecx, dword [ebp - 0x1820]
sub eax, ecx
push eax
push edx
push ecx
push 0
push esi
call dword [sym.imp.USER32.dll_SetWindowPos]
lea ecx, [ebp - 0x1820]
push ecx
push esi
call dword [sym.imp.USER32.dll_GetClientRect]
xor esi, esi
jmp 0x4032c0
mov eax, dword [ebp - 0x1818]
sub eax, dword [ebp - 0x1820]
sub eax, 7
cdq
sub eax, edx
mov edi, eax
mov eax, dword [ebp - 0x1814]
sub eax, dword [ebp - 0x181c]
sar edi, 1
sub eax, 7
cdq
sub eax, edx
mov ebx, eax
mov eax, dword [ebp - 0x1b30]
lea edx, [esi + 0x3e9]
push edx
push eax
sar ebx, 1
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push ebx
push edi
mov ecx, esi
shr ecx, 1
add ebx, 3
mov edx, esi
imul ecx, ebx
add edi, 3
and edx, 1
imul edi, edx
add ecx, 2
push ecx
add edi, 2
push edi
push eax
call dword [sym.imp.USER32.dll_MoveWindow]
inc esi
cmp esi, 4
jl 0x4032c0
mov eax, dword [ebp - 0x1828]
test eax, eax
je 0x40333f
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov esi, dword [ebp - 0x1b30]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push 0x467
push esi
call edi
push esi
call dword [sym.imp.USER32.dll_SetActiveWindow]
push esi
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov eax, dword [0x41b198]
add eax, 0x3e9
push eax
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
mov ecx, dword [ebp - 0x1b38]
push 0
add ecx, 0x3e9
push ecx
push 0x401
push esi
call edi
mov esi, dword [ebp - 0x1b40]
mov edi, dword [ebp - 0x1b30]
xor ebx, ebx
push ebx
push edi
call dword [sym.imp.USER32.dll_EndDialog]
push 1
push 0x41b1b0
mov dword [ebp - 0x1b28], ebx
mov dword [ebp - 0x1b3c], ebx
mov dword [ebp - 0x1b4c], ebx
call dword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
push ebx
push ebx
push 1
push 0x41b1b0
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
push ebx
lea edx, [ebp - 0x1b44]
push edx
push 1
lea eax, [ebp - 0x73c]
push eax
call dword [sym.imp.ADVAPI32.dll_ConvertStringSecurityDescriptorToSecurityDescriptorW]
cmp esi, ebx
je 0x403416
lea ecx, [ebp - 0x1b4c]
push ecx
mov ecx, dword [ebp - 0x1b44]
lea edx, [ebp - 0x1b28]
push edx
lea eax, [ebp - 0x1b3c]
push eax
push ecx
call dword [sym.imp.ADVAPI32.dll_GetSecurityDescriptorSacl]
mov edx, dword [ebp - 0x1b28]
push ebx
push edx
push 1
push 0x41b1b0
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorSacl]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 8
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov esi, eax
lea eax, [ebp - 0x1b24]
push eax
push esi
mov dword [ebp - 0x1b24], 0x224
call dword [sym.imp.KERNEL32.dll_Module32First]
mov edi, dword [sym.imp.KERNEL32.dll_Module32Next]
lea ebx, [ebx]
xor eax, eax
jmp 0x403470
mov cl, byte [ebp + eax - 0x1a04]
mov byte [ebp + eax - 0x534], cl
inc eax
test cl, cl
jne 0x403470
lea ecx, [ebp - 0x1b24]
push ecx
push esi
call edi
test eax, eax
jne 0x403460
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0x1b60]
push 1
push 0x400
push edx
call dword [sym.imp.KERNEL32.dll_EnumDateFormatsA]
jmp 0x4035fa
cmp eax, 1
je 0x4034bb
cmp eax, 2
jne 0x4034d1
mov ecx, dword [ebp - 0x1b38]
mov edx, dword [ebp - 0x1b34]
push ecx
push eax
push edx
push edi
call dword [sym.imp.USER32.dll_CheckRadioButton]
mov eax, 1
jmp 0x4035fa
cmp dword [ebx], 4
jne 0x4035f8
push 0
push 0
push 0
push 0
call dword [sym.imp.GDI32.dll_CreateRectRgn]
mov edi, eax
mov eax, dword [ebx + 0x14]
push edi
push eax
call dword [sym.imp.USER32.dll_GetWindowRgn]
mov edx, dword [ebx + 0x14]
lea ecx, [ebp - 0x1820]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetClientRect]
mov esi, dword [sym.imp.USER32.dll_GetSysColorBrush]
push 5
call esi
mov ecx, dword [ebx + 0x18]
push eax
lea eax, [ebx + 0x1c]
push eax
push ecx
call dword [sym.imp.USER32.dll_FillRect]
mov eax, 1
lea edx, [ebp - 0x1820]
push edx
test byte [ebx + 0x10], al
je 0x403548
add dword [ebp - 0x181c], eax
add dword [ebp - 0x1820], eax
jmp 0x403554
sub dword [ebp - 0x1814], eax
sub dword [ebp - 0x1818], eax
call dword [sym.imp.GDI32.dll_CreateEllipticRgnIndirect]
push 0x10
mov dword [ebp - 0x1b4c], eax
call esi
push eax
mov eax, dword [ebx + 0x18]
push edi
push eax
call dword [sym.imp.GDI32.dll_FillRgn]
push 0xf
call esi
mov esi, dword [ebp - 0x1b4c]
mov ecx, dword [ebx + 0x18]
push eax
push esi
push ecx
call dword [sym.imp.GDI32.dll_FillRgn]
push esi
call dword [sym.imp.GDI32.dll_DeleteObject]
mov edx, dword [ebx + 0x14]
push edx
call dword [sym.imp.USER32.dll_GetWindowTextLengthA]
lea esi, [eax + 1]
push esi
call fcn.0040461b
add esp, 4
push esi
push eax
mov dword [ebp - 0x1b4c], eax
mov eax, dword [ebx + 0x14]
push eax
call dword [sym.imp.USER32.dll_GetWindowTextA]
mov ecx, dword [ebx + 0x18]
push edi
push ecx
call dword [sym.imp.GDI32.dll_SelectClipRgn]
mov eax, dword [ebx + 0x18]
push 0x25
lea edx, [ebp - 0x1820]
push edx
dec esi
push esi
mov esi, dword [ebp - 0x1b4c]
push esi
push eax
call dword [sym.imp.USER32.dll_DrawTextA]
mov ecx, dword [ebx + 0x18]
push 0
push ecx
call dword [sym.imp.GDI32.dll_SelectClipRgn]
push edi
call dword [sym.imp.GDI32.dll_DeleteObject]
push esi
call fcn.004045e1
add esp, 4
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004040b0
mov esp, ebp
pop ebp
ret 0x10