Function at 0x401eb8
Capabilities:
Inspect section memory permissions

Disassembly:
sub esp, 0x130
push ebx
push ebp
push esi
mov esi, ecx
push edi
push 0xfffffffffffffff0
mov eax, dword [esi + 4]
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov ebp, dword [sym.imp.USER32.dll_GetParent]
mov ebx, eax
and ebx, 0x40000000
je 0x401ee0
mov ecx, dword [esi + 4]
push ecx
call ebp
jmp 0x401eec
mov edx, dword [esi + 4]
push 4
push edx
call dword [sym.imp.USER32.dll_GetWindow]
mov ecx, dword [esi + 4]
mov edi, eax
lea eax, [esp + 0x30]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowRect]
test ebx, ebx
jne 0x401f63
test edi, edi
je 0x401f1e
push 0xfffffffffffffff0
push edi
call dword [sym.imp.USER32.dll_GetWindowLongA]
test eax, 0x10000000
je 0x401f1c
test eax, 0x20000000
je 0x401f1e
xor edi, edi
lea edx, [esp + 0x20]
push 0
push edx
push 0
push 0x30
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
test edi, edi
jne 0x401f55
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], eax
jmp 0x401f90
lea ecx, [esp + 0x10]
push ecx
push edi
call dword [sym.imp.USER32.dll_GetWindowRect]
jmp 0x401f90
mov edx, dword [esi + 4]
push edx
call ebp
mov ebp, dword [sym.imp.USER32.dll_GetClientRect]
mov ebx, eax
lea eax, [esp + 0x20]
push eax
push ebx
call ebp
lea ecx, [esp + 0x10]
push ecx
push edi
call ebp
lea edx, [esp + 0x10]
push 2
push edx
push ebx
push edi
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x30]
add eax, ecx
sub ebp, edx
cdq
sub eax, edx
sub ebx, edi
mov ecx, eax
mov eax, ebx
cdq
sub eax, edx
mov edx, dword [esp + 0x1c]
sar ecx, 1
sar eax, 1
sub ecx, eax
mov eax, dword [esp + 0x14]
add eax, edx
cdq
sub eax, edx
mov edi, eax
mov eax, ebp
cdq
sub eax, edx
sar edi, 1
sar eax, 1
sub edi, eax
mov eax, dword [esp + 0x20]
cmp ecx, eax
jl 0x401fed
mov eax, dword [esp + 0x28]
lea edx, [ecx + ebx]
cmp edx, eax
jle 0x401fef
sub eax, ebx
mov ecx, eax
mov eax, dword [esp + 0x24]
cmp edi, eax
jl 0x402004
mov eax, dword [esp + 0x2c]
lea edx, [edi + ebp]
cmp edx, eax
jle 0x402006
sub eax, ebp
mov edi, eax
mov eax, dword [esi + 4]
push 0x15
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
push ecx
push 0
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ebx, dword [0x412730]
push 0
push 0xc
call edi
push eax
push 0xb
call edi
push eax
push 1
push 0x80
push ebx
mov ebx, dword [sym.imp.USER32.dll_LoadImageA]
call ebx
mov ecx, dword [esi + 4]
mov ebp, dword [sym.imp.USER32.dll_SendMessageA]
push eax
push 1
push 0x80
push ecx
call ebp
mov edx, dword [0x412730]
push 0
push 0x32
mov dword [esp + 0x18], edx
call edi
push eax
push 0x31
call edi
push eax
mov eax, dword [esp + 0x1c]
push 1
push 0x80
push eax
call ebx
mov ecx, dword [esi + 4]
xor ebx, ebx
push eax
push ebx
push 0x80
push ecx
call ebp
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov edx, dword [0x412714]
mov edi, eax
add edx, 0x1c
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [esp + 0x10], edi
mov edi, dword [0x4127b0]
lea eax, [esp + 0x10]
mov ecx, edi
push eax
call fcn.00402660
cmp eax, 0xffffffff
jne 0x4020c0
xor edi, edi
jmp 0x4020c6
mov ecx, dword [edi + 4]
mov edi, dword [ecx + eax*4]
mov edx, dword [0x412714]
add edx, 0x1c
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp esi, ebx
je 0x4020e3
lea eax, [esi + 0x1c]
mov dword [esp + 0x10], eax
jmp 0x4020e7
mov dword [esp + 0x10], ebx
lea ecx, [esp + 0x10]
push ecx
lea ecx, [edi + 4]
call fcn.00402580
cmp esi, ebx
je 0x402101
lea edx, [esi + 0x20]
mov dword [esp + 0x10], edx
jmp 0x402105
mov dword [esp + 0x10], ebx
lea eax, [esp + 0x10]
lea ecx, [edi + 0x10]
push eax
call fcn.00402580
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x402131
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], eax
push ecx
lea ecx, [esi + 0x24]
mov word [esp + 0x18], 4
call fcn.004025f0
mov dword [esi + 0x40], ebx
mov dword [esi + 0x44], ebx
call fcn.00404c10
test eax, eax
jne 0x4022ca
call fcn.004054a0
test eax, eax
jne 0x4022ca
call fcn.00405000
test eax, eax
jne 0x4022ca
call fcn.00405190
test eax, eax
jne 0x4022ca
call fcn.00409430
test eax, eax
jne 0x4022ca
call fcn.004093a0
test eax, eax
jne 0x4022ca
call fcn.00409290
test eax, eax
jne 0x4022ca
call fcn.004091a0
test eax, eax
jne 0x4022ca
call fcn.00407a00
test eax, eax
jne 0x4022ca
call fcn.00407670
test eax, eax
jne 0x4022ca
call fcn.00407120
test eax, eax
jne 0x4022ca
call fcn.00406f70
test eax, eax
jne 0x4022ca
call fcn.00406800
test eax, eax
jne 0x4022ca
push ebx
call fcn.00406a30
add esp, 4
test eax, eax
jne 0x4022ca
push ebx
call fcn.00406690
add esp, 4
test eax, eax
jne 0x4022ca
push ebx
call fcn.00406460
add esp, 4
test eax, eax
jne 0x4022ca
push ebx
call fcn.00406050
add esp, 4
test eax, eax
jne 0x4022ca
lea edx, [esp + 0x40]
push 0x100
push edx
push 0x82
mov dword [esi + 0x40], 1
lea ebp, [esi + 0x48]
call fcn.00402bd0
mov ecx, 0x100
sub ecx, eax
cmp ecx, 2
jle 0x40225c
lea edx, [esp + 0x40]
mov ecx, ebp
push edx
call fcn.00402690
jmp 0x4022a4
push 0x1ff
mov ecx, ebp
mov edi, 0x200
call fcn.00402990
cmp eax, ebx
je 0x40229b
push edi
push eax
push 0x82
call fcn.00402bd0
mov ecx, edi
sub ecx, eax
cmp ecx, 2
jg 0x40229b
add edi, 0x100
mov ecx, ebp
lea edx, [edi - 1]
push edx
call fcn.00402990
cmp eax, ebx
jne 0x402271
push 0xffffffffffffffff
mov ecx, ebp
call fcn.00402a40
mov eax, dword [esi + 4]
push 0x410058
push 0x3e8
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x130
ret 8
push 0x81
lea ecx, [esi + 0x48]
mov dword [esi + 0x44], 0xff
call fcn.00402760
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x130
ret 8