Function at 0x510248
Capabilities:
Inspect section memory permissions

Disassembly:
sub esp, 0x164
push ebx
push ecx
push edx
push esi
push edi
mov dword [esp + 0x2a], edx
mov edi, eax
mov dword [esp + 0x1a], edi
mov eax, ebx
mov dword [esp + 0x32], eax
mov edx, ecx
mov dword [esp + 0x2e], edx
mov ebx, dword [esp + 0x2a]
mov dword [esp + 0x22], ebx
mov esi, dword [esp + 0x17c]
mov dword [esi], 0
cmp eax, 0x82
jne 0x5102c7
push 1
push 0x241b
push 0x241b
mov eax, dword [edi + 0x83]
push eax
lea eax, [esp + 0x16c]
push eax
call sub.USER32.dll_PeekMessageA
cmp eax, 0
je 0x5102bd
mov eax, dword [esp + 0x168]
cmp eax, 0
je 0x510285
mov ebx, dword [eax]
call dword [ebx + 4]
jmp 0x510285
mov eax, 0
jmp 0x510b45
cmp eax, 0x120
jne 0x51032b
mov eax, edi
mov ecx, dword [eax + 4]
call dword [ecx + 0xb4]
cmp eax, 0
je 0x510321
mov cl, dl
mov edx, dword [eax + 0x11]
cmp ebx, edx
jne 0x5102fa
mov bl, cl
call fcn.0051dd68
mov dword [esi], eax
mov eax, 1
jmp 0x510b45
call fcn.0051dba0
cmp eax, 0
je 0x510321
cmp eax, 0
jne 0x51030b
jmp 0x51030e
add eax, 0x7c
mov bl, cl
call fcn.0051dd68
mov dword [esi], eax
mov eax, 1
jmp 0x510b45
mov eax, 0
jmp 0x510b45
cmp eax, 0x2c
jne 0x51034d
cmp dword [ebx], 1
jne 0x510343
mov eax, dword [ebx + 0x14]
mov ecx, dword [eax]
call dword [ecx + 8]
mov dword [esi], 1
mov eax, 1
jmp 0x510b45
cmp eax, 0x2b
jne 0x51036f
cmp dword [ebx], 1
jne 0x510365
mov eax, dword [ebx + 0x2c]
mov ecx, dword [eax]
call dword [ecx + 0xc]
mov dword [esi], 1
mov eax, 1
jmp 0x510b45
cmp eax, 0x11
jne 0x5103f0
push 0x104
lea ebx, [esp + 0x3a]
push ebx
push dword [0x78d994]
call sub.KERNEL32.dll_GetModuleFileNameA
push 0
mov eax, ebx
lea edi, [esp + 0x13e]
mov edx, edi
mov ebx, 0
mov ecx, 0
call fcn.004f5c04
mov ebx, dword [esp + 0x1a]
mov eax, dword [ebx + 0x83]
push eax
call sub.USER32.dll_BringWindowToTop
mov eax, dword [0x5677c4]
and eax, 8
cmp eax, 0
je 0x5103c9
mov edi, 0x569248
jmp 0x5103c9
push 0x1030
push edi
push str.Application_still_active._n_nQuit_the_application_before_quitting_Windows.
mov eax, dword [ebx + 0x83]
push eax
call sub.USER32.dll_MessageBoxA
mov dword [esi], 0
mov eax, 1
jmp 0x510b45
cmp eax, 0xa1
jne 0x51050b
cmp dword [0x78dc08], 0
je 0x51041b
push 0
push 0
push 0x14f
mov eax, dword [0x78dc08]
mov eax, dword [eax + 0x5b]
push eax
call sub.USER32.dll_SendMessageA
push ebx
push 0
push 0x84
mov eax, dword [edi + 0x83]
push eax
call sub.USER32.dll_SendMessageA
cmp eax, 0xf
jne 0x510440
mov dword [edi + 0x14c], 6
jmp 0x5104b5
cmp eax, 0x10
jne 0x510451
mov dword [edi + 0x14c], 7
jmp 0x5104b5
cmp eax, 0x11
jne 0x510462
mov dword [edi + 0x14c], 8
jmp 0x5104b5
cmp eax, 0xa
jne 0x510473
mov dword [edi + 0x14c], 1
jmp 0x5104b5
cmp eax, 0xb
jne 0x510484
mov dword [edi + 0x14c], 2
jmp 0x5104b5
cmp eax, 0xc
jne 0x510495
mov dword [edi + 0x14c], 3
jmp 0x5104b5
cmp eax, 0xd
jne 0x5104a6
mov dword [edi + 0x14c], 4
jmp 0x5104b5
cmp eax, 0xe
jne 0x5104b5
mov dword [edi + 0x14c], 5
cmp dword [edi + 0x14c], 0
je 0x5104e7
push ebx
push dword [esp + 0x32]
push dword [esp + 0x3a]
mov eax, dword [edi + 0x83]
push eax
call sub.USER32.dll_DefWindowProcA
mov dword [edi + 0x14c], 0
mov eax, 1
jmp 0x510b45
mov eax, 0
jmp 0x510b45
push 0xfffffffffffffff0
mov eax, dword [edi + 0x83]
push eax
call sub.USER32.dll_GetWindowLongA
and eax, 0x20000000
cmp eax, 0
je 0x51051f
jmp 0x510555
cmp eax, 3
jne 0x510532
mov eax, dword [edi + 0xc]
and eax, 0x800
cmp eax, 0
jne 0x5104f1
jmp 0x510555
mov eax, edi
mov ebx, 0x1630
mov ecx, 0
call fcn.00512774
jmp 0x510555
cmp eax, 0x201
je 0x510555
cmp eax, 0x207
je 0x510555
cmp eax, 0x204
je 0x510555
cmp eax, 0xa7
je 0x510555
cmp eax, 0xa4
jne 0x51057f
cmp dword [0x78dc08], 0
je 0x510575
push 0
push 0
push 0x14f
mov eax, dword [0x78dc08]
mov eax, dword [eax + 0x5b]
push eax
call sub.USER32.dll_SendMessageA
mov eax, 0
jmp 0x510b45
cmp eax, 0x20
jne 0x5105e1
cmp bx, 1
jne 0x5105d7
cmp dword [0x56780c], 0
je 0x5105ae
push dword [0x56780c]
call sub.USER32.dll_SetCursor
mov dword [esi], 1
mov eax, 1
jmp 0x510b45
push 0xfffffffffffffff4
mov eax, dword [edi + 0x83]
push eax
call sub.USER32.dll_GetClassLongA
cmp eax, 0
je 0x5105d7
push eax
call sub.USER32.dll_SetCursor
mov dword [esi], 1
mov eax, 1
jmp 0x510b45
mov eax, 0
jmp 0x510b45
cmp eax, 0x9999
je 0x5105f3
cmp eax, 0x112
jne 0x51068f
mov eax, dword [edi + 0xc]
and eax, 0x800
cmp eax, 0
je 0x510685
mov ebx, 0x1620
push 0xfffffffffffffff0
mov eax, dword [edi + 0x83]
push eax
call sub.USER32.dll_GetWindowLongA
and eax, 0x20000000
cmp eax, 0
sete al
movzx eax, al
mov ecx, dword [esp + 0x2e]
and ecx, 0xfff0
cmp ecx, 0xf020
jne 0x51063a
inc ebx
jmp 0x510642
cmp ecx, 0xf030
jne 0x510645
inc ebx
jmp 0x51064d
cmp ecx, 0xf120
jne 0x510655
inc ebx
mov eax, 1
jmp 0x51065d
cmp ecx, 0xf000
jne 0x510678
inc ebx
jmp 0x510680
mov eax, edi
call fcn.00511fec
cmp eax, 1
je 0x51066e
jmp 0x510685
mov eax, 1
jmp 0x510b45
cmp ecx, 0xf010
jne 0x510685
cmp eax, 0
jne 0x510660
mov eax, 0
jmp 0x510b45
cmp eax, 0x3e0
jne 0x51074c
mov esi, dword [esp + 0x1a]
lea eax, [esi + 0x1e7]
mov dword [esp + 0x26], eax
mov eax, dword [eax + 4]
mov dword [esp + 0x16], eax
mov eax, dword [esp + 0x16]
cmp eax, 0
je 0x5106d3
dec eax
mov dword [esp + 0x16], eax
mov ebx, dword [esp + 0x26]
mov ebx, dword [ebx]
mov eax, dword [ebx + eax*4]
mov ebx, edx
mov ecx, dword [esp + 0x22]
mov edi, dword [eax]
call dword [edi + 0x10]
jmp 0x5106af
mov eax, esi
mov ebx, dword [eax + 4]
call dword [ebx + 0x60]
cmp eax, 0
je 0x510737
mov ebx, 0x3f
cmp ebx, 0
jl 0x510737
mov eax, ebx
imul eax, eax, 0x42
mov esi, dword [eax + 0x56a8c4]
mov dword [esp + 0x1e], esi
cmp esi, 0
je 0x510734
mov eax, esi
mov ecx, dword [esi + 4]
mov eax, dword [esp + 0x1e]
call dword [ecx + 0x5c]
cmp eax, 0
je 0x510728
push dword [esp + 0x22]
push dword [esp + 0x32]
push 0x3e0
mov eax, dword [esi + 0x83]
push eax
call sub.USER32.dll_SendMessageA
mov esi, dword [esi + 0x1b2]
mov dword [esp + 0x1e], esi
jmp 0x5106f9
dec ebx
jmp 0x5106e5
mov eax, 0
jmp 0x510b45
cmp dword [edi + 0x17e], 0
je 0x51075a
jmp 0x51076b
cmp eax, 0x113
jne 0x510775
cmp edx, 1
je 0x510741
jmp 0x51076b
mov eax, edi
mov ebx, 0x160b
mov ecx, 0
call fcn.00512774
mov eax, 0
jmp 0x510b45
cmp eax, 0x233
jne 0x510869
cmp edi, 0
jne 0x510789
mov eax, edi
jmp 0x510790
mov eax, edi
add eax, 0xff
mov ebx, edx
mov ecx, edi
mov edx, 0
call fcn.00449dbc
mov eax, edi
mov ebx, 0x1413
mov ecx, 0
call fcn.00512774
mov eax, 0
jmp 0x510b45
push 0x10
mov eax, ebx
push eax
call sub.KERNEL32.dll_IsBadReadPtr
cmp eax, 0
je 0x5107cd
jmp 0x510881
mov edi, ebx
mov eax, dword [edi + 8]
sub eax, dword [edi]
mov dword [esp + 0x158], eax
mov eax, dword [edi + 0xc]
sub eax, dword [edi + 4]
mov dword [esp + 0x154], eax
mov eax, dword [esp + 0x1a]
lea ebx, [esp + 0x158]
lea ecx, [esp + 0x154]
mov edx, dword [esp + 0x2e]
call fcn.00514554
mov eax, edx
cmp eax, 3
je 0x510814
cmp eax, 4
je 0x510814
cmp eax, 5
jne 0x510823
mov eax, dword [edi + 0xc]
sub eax, dword [esp + 0x154]
mov dword [edi + 4], eax
jmp 0x510830
mov eax, dword [edi + 4]
add eax, dword [esp + 0x154]
mov dword [edi + 0xc], eax
cmp edx, 1
je 0x51083f
cmp edx, 4
je 0x51083f
cmp edx, 7
jne 0x51084d
mov eax, dword [edi + 8]
sub eax, dword [esp + 0x158]
mov dword [edi], eax
jmp 0x510859
mov eax, dword [edi]
add eax, dword [esp + 0x158]
mov dword [edi + 8], eax
mov dword [esi], 1
mov eax, 1
jmp 0x510b45
cmp eax, 0x214
jne 0x510954
cmp dword [edi + 0x148], 0
jne 0x5107b9
mov eax, 0
jmp 0x510b45
cmp dword [edi + 0x14c], 0
jne 0x510899
jmp 0x510985
lea eax, [esp + 0x144]
push eax
mov eax, dword [edi + 0x83]
push eax
call sub.USER32.dll_GetWindowRect
push 0xfffffffffffffff0
mov eax, dword [edi + 0x83]
push eax
call sub.USER32.dll_GetWindowLongA
and eax, 0x40000000
cmp eax, 0
je 0x5108ef
mov eax, dword [edi + 0x83]
push eax
call sub.USER32.dll_GetParent
mov ebx, eax
lea eax, [esp + 0x144]
push eax
push ebx
call sub.USER32.dll_ScreenToClient
lea eax, [esp + 0x14c]
push eax
push ebx
call sub.USER32.dll_ScreenToClient
mov eax, edi
lea ebx, [esi + 0x10]
lea ecx, [esi + 0x14]
mov edx, dword [edi + 0x14c]
mov eax, dword [esp + 0x1a]
call fcn.00514554
mov eax, dword [edi + 0x14c]
cmp eax, 3
je 0x51091b
cmp eax, 4
je 0x51091b
cmp eax, 5
jne 0x510928
mov eax, dword [esp + 0x150]
sub eax, dword [esi + 0x14]
mov dword [esi + 0xc], eax
mov eax, dword [edi + 0x14c]
cmp eax, 1
je 0x51093d
cmp eax, 4
je 0x51093d
cmp eax, 7
jne 0x51094a
mov eax, dword [esp + 0x14c]
sub eax, dword [esi + 0x10]
mov dword [esi + 8], eax
mov eax, 1
jmp 0x510b45
cmp eax, 0x46
jne 0x51098f
mov esi, ebx
cmp dword [0x78decb], 0
je 0x510978
mov eax, dword [esi + 0x18]
and eax, 0xffffffbf
or eax, 0x80
or eax, 0x10
or eax, 4
mov dword [esi + 0x18], eax
cmp dword [edi + 0x148], 0
jne 0x51088b
mov eax, 0
jmp 0x510b45
cmp eax, 0x47
jne 0x510a27
push 0xfffffffffffffff0
mov eax, dword [edi + 0x83]
push eax
call sub.USER32.dll_GetWindowLongA
mov ebx, eax
and ebx, 0x1000000
cmp ebx, 0
je 0x5109bf
mov edx, 0x4000
mov ebx, 0x1633
jmp 0x5109df
and eax, 0x20000000
cmp eax, 0
je 0x5109d5
mov edx, 0x8000
mov ebx, 0x1634
jmp 0x5109df
mov edx, 0
mov ebx, 0x1632
mov eax, dword [edi + 0xc]
and eax, 0x800
cmp eax, 0
je 0x510a0a
mov ecx, dword [edi + 0x1ce]
and ecx, 0xc000
mov eax, edx
cmp ecx, eax
je 0x510a0a
mov eax, edi
mov ecx, 0
call fcn.00512774
mov eax, dword [edi + 0x1ce]
and eax, 0xffff3fff
or eax, edx
mov dword [edi + 0x1ce], eax
mov eax, 0
jmp 0x510b45
cmp eax, 5
jne 0x510a60
mov eax, edi
mov ebx, dword [edi + 4]
mov eax, dword [esp + 0x1a]
call dword [ebx + 0x70]
cmp dword [edi + 0x1c2], 0
je 0x510a56
mov eax, dword [edi + 0x1c2]
mov eax, dword [edi + 0x1c2]
mov ebx, dword [eax + 4]
call dword [ebx + 0x138]
mov eax, 0
jmp 0x510b45
cmp eax, 0x15
jne 0x510a79
call fcn.0050a950
call fcn.0050e9cc
mov eax, 0
jmp 0x510b45
cmp eax, 2
jne 0x510ab8
cmp dword [edi + 0x1a2], 0
je 0x510a92
mov eax, dword [edi + 0x83]
call fcn.00518d04
cmp dword [edi + 0x19a], 0
je 0x510aae
mov eax, dword [edi + 0x19a]
push eax
mov eax, dword [edi + 0x83]
push eax
call sub.USER32.dll_KillTimer
mov eax, 0
jmp 0x510b45
cmp eax, 7
jne 0x510ae4
mov eax, dword [edi + 0x1ce]
and eax, 0x400
cmp eax, 0
jne 0x510add
mov eax, dword [edi + 0x83]
mov dword [0x567808], eax
call fcn.00516fe4
mov eax, 0
jmp 0x510b45
cmp eax, 8
jne 0x510b0c
cmp dword [0x567804], 0
je 0x510b05
mov eax, dword [0x567804]
mov ebx, dword [eax + 4]
mov eax, dword [0x567804]
call dword [ebx + 0x120]
mov eax, 0
jmp 0x510b45
cmp eax, 0x1f
jne 0x510b40
cmp dword [0x567800], 0
je 0x510b39
mov eax, dword [edi + 0x83]
cmp dword [0x567800], eax
je 0x510b39
push 0
push 0
push 0x1f
push dword [0x567800]
call sub.USER32.dll_PostMessageA
mov eax, 0
jmp 0x510b45
mov eax, 0
pop edi
pop esi
pop edx
pop ecx
pop ebx
add esp, 0x164
ret 4