Function at 0x4ee770
Capabilities:
Enumerate pe sections

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffdc
mov ebx, edx
mov esi, eax
mov eax, dword [ebx]
sub eax, 0xb013
je 0x4ee789
dec eax
je 0x4ee7a9
jmp 0x4ee7c7
cmp dword [ebx + 8], 0
jne 0x4ee7c7
cmp word [esi + 0x3f2], 0
je 0x4ee7c7
mov edx, esi
mov eax, dword [esi + 0x3f4]
call dword [esi + 0x3f0]
jmp 0x4ee7c7
cmp dword [ebx + 8], 0
jne 0x4ee7c7
cmp word [esi + 0x3ea], 0
je 0x4ee7c7
mov edx, esi
mov eax, dword [esi + 0x3ec]
call dword [esi + 0x3e8]
cmp dword [ebx], 0xa100
jne 0x4eeb14
movzx eax, word [ebx + 6]
cmp eax, 7
jg 0x4ee7fd
je 0x4ee81b
dec eax
je 0x4ee920
dec eax
je 0x4ee827
dec eax
je 0x4ee95f
sub eax, 3
je 0x4eea95
jmp 0x4eeb14
sub eax, 9
je 0x4eeae7
dec eax
je 0x4eeac9
sub eax, 0x29
je 0x4eeadb
jmp 0x4eeb14
mov dword [ebx + 0xc], 1
jmp 0x4ef2a0
mov eax, dword [esi + 0x3c8]
call fcn.00568c70
cmp eax, dword [ebx + 8]
jne 0x4eeb14
cmp dword [esi + 0x3e4], 0
je 0x4ef2a0
mov eax, dword [esi + 0x22c]
call fcn.0047c878
lea eax, [esi + 0x3e4]
call fcn.0040f048
push 0x727
push 0
push 0
push 0
push 0
push 0
mov eax, esi
call fcn.0044dda8
push eax
call sub.user32.dll_SetWindowPos
mov eax, dword [esi + 0x3c8]
cmp byte [eax + 5], 0
jne 0x4ee8b2
mov eax, dword [esi + 0x70]
call fcn.00426be4
push eax
mov eax, esi
call fcn.0044dda8
pop edx
call fcn.0042f080
mov eax, dword [esi + 0x70]
call fcn.00426be4
push eax
mov eax, esi
call fcn.0044dda8
pop edx
call fcn.0042f304
mov eax, dword [esi + 0x22c]
call fcn.0047ca54
xor edx, edx
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x12c]
mov eax, dword [esi + 0x68]
mov eax, dword [eax + 0x18]
call fcn.00426be4
push eax
mov eax, esi
call fcn.0044dda8
pop edx
call fcn.0042f2ec
cmp byte [esi + 0x277], 0
je 0x4ee908
mov eax, esi
call fcn.0044dda8
call fcn.0042f494
or eax, 1
push eax
mov eax, esi
call fcn.0044dda8
pop edx
call fcn.0042f47c
push 0x40
push 0
push 0
mov eax, esi
call fcn.0044dda8
push eax
call sub.user32.dll_RedrawWindow
jmp 0x4ef2a0
mov eax, dword [esi + 0x3c8]
call fcn.00568c70
cmp eax, dword [ebx + 8]
jne 0x4eeb14
mov eax, ebx
mov edx, dword [esi + 0x3c8]
call fcn.0056aa7c
xor edx, edx
mov eax, dword [esi + 0x3c8]
call fcn.00569884
mov edx, eax
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x12c]
jmp 0x4ef2a0
mov eax, dword [esi + 0x3c8]
call fcn.00568c70
cmp eax, dword [ebx + 8]
jne 0x4eeb14
xor edx, edx
mov eax, dword [esi + 0x3c8]
call fcn.00569884
test al, al
je 0x4ef2a0
cmp byte [esi + 0x389], 0
jne 0x4ef2a0
mov eax, dword [esi + 0x22c]
call fcn.0047c878
mov dl, 1
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x12c]
mov eax, esi
call fcn.0044e0ac
test al, al
je 0x4ee9ce
cmp dword [0x5a1570], 0
je 0x4ee9ce
mov eax, esi
call fcn.0044dda8
push eax
call dword [0x5a1570]
lea edx, [esi + 0x3e4]
mov eax, dword [esi + 0x3c8]
call fcn.0050d31c
mov eax, ebx
mov edx, dword [esi + 0x3c8]
call fcn.0056aa7c
mov ebx, dword [esi + 0x3c8]
cmp byte [ebx + 5], 0
jne 0x4eea23
mov eax, ebx
call fcn.00568c70
mov eax, dword [eax + 0x78bc]
mov edx, dword [esi + 0x3c8]
mov edx, dword [edx + 0x90]
mov ecx, edx
shl edx, 5
sub edx, ecx
mov edx, dword [eax + edx*8 + 0x1c]
mov eax, esi
call fcn.004476a0
xor edx, edx
mov eax, dword [esi + 0x3c8]
call fcn.00569884
test al, al
je 0x4eea61
mov eax, esi
call fcn.0044dda8
call fcn.0042f494
test al, 1
je 0x4eea61
mov eax, esi
call fcn.0044dda8
call fcn.0042f494
and eax, 0xfffffffe
push eax
mov eax, esi
call fcn.0044dda8
pop edx
call fcn.0042f47c
mov eax, esi
call fcn.004f2be0
mov eax, esi
call fcn.004f0498
push 0x585
push 0
push 0
mov eax, esi
call fcn.0044dda8
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [esi + 0x22c]
call fcn.0047ca54
jmp 0x4ef2a0
mov edi, dword [esi + 0x3c8]
cmp byte [edi + 0x25], 0
jne 0x4eeb14
xor edx, edx
mov eax, edi
call fcn.00569884
test al, al
je 0x4eeb14
mov eax, dword [esi + 0x3c8]
xor edx, edx
mov dword [eax + 0x48], edx
mov byte [eax + 0x25], 0
mov eax, esi
call fcn.004efb14
jmp 0x4ef2a0
mov eax, dword [esi + 0x3c8]
movzx eax, byte [eax + 0x25]
mov dword [ebx + 0xc], eax
jmp 0x4ef2a0
mov dword [ebx + 0xc], 1
jmp 0x4ef2a0
mov eax, dword [esi + 0x3c8]
call fcn.00568c70
test eax, eax
je 0x4ef2a0
mov eax, dword [esi + 0x3c8]
call fcn.00568c70
mov eax, dword [eax + 0x78fc]
inc eax
mov dword [ebx + 0xc], eax
jmp 0x4ef2a0
test byte [esi + 0x54], 0x40
jne 0x4eeb34
cmp dword [esi + 0x3c8], 0
je 0x4eeb34
xor edx, edx
mov eax, dword [esi + 0x3c8]
call fcn.00569884
test al, al
jne 0x4eeb42
mov edx, ebx
mov eax, esi
call fcn.0047f7c4
jmp 0x4ef1b5
mov eax, dword [ebx]
cmp eax, 0x317
jg 0x4eeb79
je 0x4eebc6
add eax, 0xfffffff9
sub eax, 2
jb 0x4eecb7
sub eax, 0x7c
je 0x4eee1c
sub eax, 0x8f
je 0x4eee50
dec eax
je 0x4eed0a
jmp 0x4eef05
add eax, 0xffffefe6
sub eax, 2
jb 0x4eebb1
sub eax, 5
je 0x4eeb94
sub eax, 0xa008
je 0x4eeba5
jmp 0x4eef05
mov edx, ebx
mov eax, esi
call fcn.004ef310
mov dword [ebx + 0xc], eax
jmp 0x4ef2a0
mov dword [ebx + 0xc], 1
jmp 0x4ef2a0
mov eax, dword [ebx + 8]
cmp dword [eax + 0x18], 0xffffffff
jne 0x4eef05
and dword [eax], 0xffffffef
jmp 0x4eef05
cmp byte [esi + 0x215], 3
jne 0x4ef2a0
cmp dword [esi + 0x3e4], 0
je 0x4ef2a0
mov edi, dword [esi + 0x3e4]
mov eax, dword [ebx + 4]
push eax
call sub.gdi32.dll_SaveDC
mov ebp, eax
mov eax, esi
call fcn.004ef514
mov edx, eax
add edx, dword [edi + 0x84]
mov ecx, dword [edi + 0x84]
mov eax, dword [ebx + 4]
call fcn.00445e3c
push 0
mov ecx, dword [ebx + 4]
mov edx, 0x14
mov eax, esi
call fcn.004486d8
mov eax, dword [edi + 0x7c]
xor ecx, ecx
mov edx, 1
call fcn.0050e138
mov edx, dword [edi + 0x7c]
movzx edx, byte [edx + 0x24]
imul edx
push eax
mov eax, dword [edi + 0x68]
mov eax, dword [eax + 0x4c]
mov edx, dword [eax]
call dword [edx + 0x20]
mov edx, dword [edi + 0x84]
add edx, edx
sub eax, edx
pop edx
sub eax, edx
push eax
mov eax, dword [edi + 0x80]
xor ecx, ecx
mov edx, 1
call fcn.0050e138
mov edx, dword [edi + 0x80]
movzx edx, byte [edx + 0x24]
imul edx
push eax
mov eax, dword [edi + 0x68]
mov eax, dword [eax + 0x4c]
mov edx, dword [eax]
call dword [edx + 0x2c]
mov edx, dword [edi + 0x84]
add edx, edx
sub eax, edx
pop edx
sub eax, edx
push eax
push 0
push 0
mov eax, dword [ebx + 4]
push eax
call sub.gdi32.dll_IntersectClipRect
mov eax, dword [ebx + 4]
mov edx, dword [edi + 0x68]
mov dword [edx + 0x48], eax
mov edx, ebx
mov eax, esi
call fcn.004ef5ec
push ebp
mov eax, dword [ebx + 4]
push eax
call sub.gdi32.dll_RestoreDC
jmp 0x4ef2a0
mov eax, esi
call fcn.0044dda8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4eecd3
mov eax, dword [esi + 0x3e4]
mov edx, dword [eax]
call dword [edx + 0xc]
mov eax, esi
call fcn.0047fd68
test eax, eax
je 0x4eef05
mov eax, esi
call fcn.0047fd68
call fcn.0047c5dc
push eax
mov eax, esi
call fcn.0047fd68
call fcn.0047c5dc
mov edx, eax
mov eax, esi
pop ecx
call fcn.0047dd34
jmp 0x4eef05
mov dl, 1
mov eax, dword [esi + 0x3e4]
call fcn.0050d48c
cmp word [ebx + 4], 5
jne 0x4eee09
mov eax, dword [ebx + 8]
test eax, eax
jne 0x4eed2d
movzx eax, word [ebx + 6]
cmp eax, dword [0x59debc]
je 0x4ef2a0
mov ebx, eax
sub ebx, dword [0x59debc]
cmp byte [esi + 0x215], 3
jne 0x4eed6d
push 0
mov eax, esi
call fcn.0044dda8
lea ecx, [esp + 8]
xor edx, edx
call fcn.0042f188
lea eax, [esp + 4]
xor edx, edx
call fcn.00555d50
imul ebx
mov ebx, eax
mov al, byte [esi + 0x215]
sub al, 2
jb 0x4eed7b
sub al, 1
jne 0x4eedf4
push 0
push 0
push 0xb
mov eax, esi
call fcn.0044dda8
push eax
call sub.user32.dll_SendMessageA
mov eax, esi
call fcn.0044dda8
mov ecx, ebx
xor edx, edx
call fcn.0042f1d4
push 0
push 1
push 0xb
mov eax, esi
call fcn.0044dda8
push eax
call sub.user32.dll_SendMessageA
lea edx, [esp + 4]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x44]
test ebx, ebx
jge 0x4eedcc
mov eax, dword [esp + 8]
sub eax, ebx
mov dword [esp + 0x10], eax
jmp 0x4eedd6
mov eax, dword [esp + 0x10]
sub eax, ebx
mov dword [esp + 8], eax
push 0x181
push 0
lea eax, [esp + 0xc]
push eax
mov eax, esi
call fcn.0044dda8
push eax
call sub.user32.dll_RedrawWindow
jmp 0x4ef2a0
mov eax, esi
call fcn.0044dda8
mov ecx, ebx
xor edx, edx
call fcn.0042f1d4
jmp 0x4ef2a0
xor eax, eax
mov dword [ebx + 8], eax
mov edx, ebx
mov eax, esi
call fcn.0047f7c4
jmp 0x4ef2a0
mov eax, esi
call fcn.0044dda8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4ef2a0
mov eax, dword [esi + 0x3c8]
cmp byte [eax + 0x8c], 0
je 0x4eef05
mov eax, esi
call fcn.004f0498
jmp 0x4eef05
mov ax, word [ebx + 4]
sub ax, 2
jb 0x4eeecf
sub ax, 3
jne 0x4eeee6
mov eax, dword [ebx + 8]
test eax, eax
setne dl
movzx ecx, word [ebx + 6]
xchg edx, eax
call fcn.005559e0
mov ebx, eax
sub ebx, dword [0x59debc]
cmp byte [esi + 0x215], 2
jne 0x4eeeaa
push 0
mov eax, esi
call fcn.0044dda8
lea ecx, [esp + 8]
xor edx, edx
call fcn.0042f188
lea eax, [esp + 4]
xor edx, edx
call fcn.00555d3c
imul ebx
mov ebx, eax
mov eax, esi
call fcn.0044dda8
xor ecx, ecx
mov edx, ebx
call fcn.0042f1d4
xor edx, edx
mov eax, esi
call fcn.004f092c
mov eax, esi
call fcn.004efb14
jmp 0x4ef2a0
mov edx, ebx
mov eax, esi
call fcn.0047f7c4
mov dl, 1
mov eax, esi
call fcn.004f092c
jmp 0x4ef2a0
mov edx, ebx
mov eax, esi
call fcn.0047f7c4
push 0xffffffffffffffff
push 0
mov eax, esi
call fcn.0044dda8
push eax
call sub.user32.dll_InvalidateRect
jmp 0x4ef2a0
mov eax, ebx
mov edx, dword [esi + 0x3c8]
call fcn.0056aa7c
test al, al
jne 0x4ef2a0
mov edx, ebx
mov eax, esi
call fcn.0047f7c4
xor edx, edx
mov eax, dword [esi + 0x3c8]
call fcn.00569884
test al, al
je 0x4ef1b5
mov eax, dword [ebx]
cmp eax, 0x20a
jg 0x4eef89
je 0x4ef09f
cmp eax, 0x7d
jg 0x4eef72
je 0x4ef116
sub eax, 3
je 0x4ef166
sub eax, 2
je 0x4ef166
sub eax, 0x42
je 0x4ef166
jmp 0x4ef1b5
sub eax, 0x85
je 0x4ef15d
sub eax, 0x17b
je 0x4eefde
jmp 0x4ef1b5
cmp eax, 0xb019
jg 0x4eefc0
je 0x4ef0d7
add eax, 0xffffeff9
sub eax, 2
jb 0x4ef13f
sub eax, 0xc
je 0x4ef13f
add eax, 0xffff600a
sub eax, 2
jb 0x4ef166
jmp 0x4ef1b5
sub eax, 0xb043
je 0x4ef09f
add eax, 0xfffff343
sub eax, 2
jb 0x4ef0b8
jmp 0x4ef1b5
mov eax, dword [0x59e978]
cmp dword [eax], 6
jl 0x4ef1b5
lea eax, [esp + 0x1c]
call fcn.00548e50
lea edx, [esp + 0x1c]
lea ecx, [esp + 0x14]
mov eax, esi
call fcn.00447044
mov eax, dword [esp + 0x14]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 8], eax
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
mov eax, esi
call fcn.0047ffac
mov edi, eax
test edi, edi
je 0x4ef1b5
mov eax, dword [esi + 0x22c]
call fcn.0047c764
mov edx, eax
xor ecx, ecx
mov eax, dword [esi + 0x3d8]
call fcn.00555a48
test al, al
je 0x4ef1b5
mov eax, edi
call fcn.0047c5dc
mov ebp, dword [esi + 0x3d8]
cmp eax, ebp
je 0x4ef1b5
mov edx, ebp
mov eax, dword [esi + 0x22c]
call fcn.0047c794
lea ecx, [esp + 4]
xor edx, edx
call fcn.0047c5f8
push 0xffffffffffffffff
lea eax, [esp + 8]
push eax
mov eax, esi
call fcn.0044dda8
push eax
call sub.user32.dll_InvalidateRect
mov dword [esi + 0x3d8], 0xffffffff
jmp 0x4ef1b5
cmp word [ebx + 4], 0
jne 0x4ef1b5
xor edx, edx
mov eax, esi
call fcn.004f092c
jmp 0x4ef1b5
mov ax, word [ebx + 4]
add eax, 0xffffffdf
sub ax, 8
jae 0x4ef1b5
xor edx, edx
mov eax, esi
call fcn.004f092c
jmp 0x4ef1b5
mov eax, esi
call fcn.0044e0ac
test al, al
je 0x4ef0f9
cmp dword [0x5a1570], 0
je 0x4ef0f9
mov eax, esi
call fcn.0044dda8
push eax
call dword [0x5a1570]
lea edx, [esi + 0x3e4]
mov eax, dword [esi + 0x3c8]
call fcn.0050d31c
mov eax, esi
call fcn.004f2be0
jmp 0x4ef1b5
test byte [esi + 0x54], 8
jne 0x4ef1b5
mov eax, esi
call fcn.0044dda8
xor ecx, ecx
xor edx, edx
call fcn.0042f1d4
mov dl, 1
mov eax, dword [esi + 0x3e4]
call fcn.0050d48c
jmp 0x4ef1b5
mov eax, dword [esi + 0x3c8]
call fcn.00568c80
test al, al
jne 0x4ef1b5
mov dl, 1
mov eax, dword [esi + 0x3e4]
call fcn.0050d48c
jmp 0x4ef1b5
mov eax, esi
call fcn.004efb14
jmp 0x4ef1b5
xor edx, edx
mov eax, dword [esi + 0x3c8]
call fcn.00569884
test al, al
je 0x4ef1b5
test byte [esi + 0x1c], 8
jne 0x4ef1b5
mov eax, esi
call fcn.0044dda8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4ef1b5
push 0
xor ecx, ecx
mov edx, 0x85
mov eax, esi
call fcn.004486d8
mov byte [esi + 0x38a], 1
mov dl, 1
mov eax, esi
call fcn.004f092c
mov byte [esi + 0x38a], 0
mov eax, dword [esi + 0x3c4]
test eax, eax
je 0x4ef1c8
mov edx, ebx
mov ecx, esi
call fcn.0056c0dc
mov eax, dword [ebx]
sub eax, 0x2c
je 0x4ef265
sub eax, 0x100a
je 0x4ef1ea
sub eax, 0xabf6
je 0x4ef265
jmp 0x4ef2a0
cmp byte [0x59dce4], 0
jne 0x4ef2a0
xor edx, edx
mov eax, dword [esi + 0x3c8]
call fcn.00569884
test al, al
je 0x4ef2a0
mov byte [0x59dce4], 1
mov eax, esi
call fcn.0044dda8
call fcn.0042f494
mov edi, eax
mov eax, edi
and eax, 1
test eax, eax
je 0x4ef233
cmp byte [esi + 0x277], 0
jne 0x4ef237
xor ebx, ebx
jmp 0x4ef239
mov bl, 1
and ebx, 0x7f
test eax, eax
je 0x4ef251
mov eax, esi
call fcn.0044dda8
mov edx, edi
and edx, 0xfffffffe
call fcn.0042f47c
test ebx, ebx
je 0x4ef25c
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x7c]
mov byte [0x59dce4], 0
jmp 0x4ef2a0
cmp word [esi + 0x3d2], 0
je 0x4ef2a0
cmp byte [esi + 0x215], 3
jne 0x4ef2a0
mov edi, dword [ebx + 8]
mov eax, dword [edi + 0x10]
mov dword [esp], eax
push esp
mov ecx, dword [edi + 8]
mov edx, esi
mov eax, dword [esi + 0x3d4]
call dword [esi + 0x3d0]
mov eax, dword [esp]
mov dword [edi + 0x10], eax
mov dword [ebx + 0xc], 1
add esp, 0x24
pop ebp
pop edi
pop esi
pop ebx
ret