Function at 0x4fc060
Capabilities:
Enumerate pe sections

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffdc
mov esi, edx
mov ebx, eax
mov eax, dword [esi]
sub eax, 0xb013
je 0x4fc079
dec eax
je 0x4fc099
jmp 0x4fc0b7
cmp dword [esi + 8], 0
jne 0x4fc0b7
cmp word [ebx + 0x40a], 0
je 0x4fc0b7
mov edx, ebx
mov eax, dword [ebx + 0x40c]
call dword [ebx + 0x408]
jmp 0x4fc0b7
cmp dword [esi + 8], 0
jne 0x4fc0b7
cmp word [ebx + 0x402], 0
je 0x4fc0b7
mov edx, ebx
mov eax, dword [ebx + 0x404]
call dword [ebx + 0x400]
cmp dword [esi], 0xa100
jne 0x4fc425
movzx eax, word [esi + 6]
cmp eax, 7
jg 0x4fc0ed
je 0x4fc114
dec eax
je 0x4fc221
dec eax
je 0x4fc120
dec eax
je 0x4fc268
sub eax, 3
je 0x4fc39c
jmp 0x4fc425
sub eax, 9
je 0x4fc3f8
dec eax
je 0x4fc3d0
sub eax, 0x29
je 0x4fc3ec
sub eax, 0x11
je 0x4fc3e2
jmp 0x4fc425
mov dword [esi + 0xc], 1
jmp 0x4fcbf2
mov eax, dword [ebx + 0x3d8]
call fcn.005a1ac4
cmp eax, dword [esi + 8]
jne 0x4fc425
cmp dword [ebx + 0x3f8], 0
je 0x4fcbf2
mov eax, dword [ebx + 0x22c]
call fcn.0044a3bc
lea eax, [ebx + 0x3f8]
call fcn.0040f124
xor eax, eax
mov dword [ebx + 0x3c8], eax
push 0x737
push 0
push 0
push 0
push 0
push 0
mov eax, ebx
call fcn.004668b8
push eax
call sub.user32.dll_SetWindowPos
mov eax, dword [ebx + 0x3d8]
cmp byte [eax + 9], 0
jne 0x4fc1b3
mov eax, dword [ebx + 0x70]
call fcn.004283a8
push eax
mov eax, ebx
call fcn.004668b8
pop edx
call fcn.0043115c
mov eax, dword [ebx + 0x70]
call fcn.004283a8
push eax
mov eax, ebx
call fcn.004668b8
pop edx
call fcn.004313e0
mov eax, dword [ebx + 0x22c]
call fcn.0044a598
xor edx, edx
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x12c]
mov eax, dword [ebx + 0x68]
mov eax, dword [eax + 0x18]
call fcn.004283a8
push eax
mov eax, ebx
call fcn.004668b8
pop edx
call fcn.004313c8
cmp byte [ebx + 0x277], 0
je 0x4fc209
mov eax, ebx
call fcn.004668b8
call fcn.00431570
or eax, 1
push eax
mov eax, ebx
call fcn.004668b8
pop edx
call fcn.00431558
push 0x40
push 0
push 0
mov eax, ebx
call fcn.004668b8
push eax
call sub.user32.dll_RedrawWindow
jmp 0x4fcbf2
mov eax, dword [ebx + 0x3d8]
call fcn.005a1ac4
cmp eax, dword [esi + 8]
jne 0x4fc425
mov eax, esi
mov edx, dword [ebx + 0x3d8]
call fcn.005a39c8
xor eax, eax
mov dword [ebx + 0x3c8], eax
xor edx, edx
mov eax, dword [ebx + 0x3d8]
call fcn.005a2744
mov edx, eax
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x12c]
jmp 0x4fcbf2
mov eax, dword [ebx + 0x3d8]
call fcn.005a1ac4
cmp eax, dword [esi + 8]
jne 0x4fc425
xor edx, edx
mov eax, dword [ebx + 0x3d8]
call fcn.005a2744
test al, al
je 0x4fcbf2
cmp byte [ebx + 0x38d], 0
jne 0x4fcbf2
mov eax, dword [ebx + 0x22c]
call fcn.0044a3bc
mov dl, 1
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x12c]
mov eax, ebx
call fcn.00466bbc
test al, al
je 0x4fc2db
mov eax, dword [0x5f4d38]
cmp dword [eax], 0
je 0x4fc2db
mov eax, ebx
call fcn.004668b8
push eax
mov eax, dword [0x5f4d38]
mov eax, dword [eax]
call eax
lea edx, [ebx + 0x3f8]
mov eax, dword [ebx + 0x3d8]
call fcn.0052f278
mov eax, esi
mov edx, dword [ebx + 0x3d8]
call fcn.005a39c8
mov esi, dword [ebx + 0x3d8]
cmp byte [esi + 9], 0
jne 0x4fc32a
mov eax, esi
call fcn.005a1790
mov eax, dword [eax + 0x520]
mov edx, dword [ebx + 0x3d8]
imul edx, dword [edx + 0x94], 0x22
mov edx, dword [eax + edx*8 + 0x1c]
mov eax, ebx
call fcn.00460178
xor edx, edx
mov eax, dword [ebx + 0x3d8]
call fcn.005a2744
test al, al
je 0x4fc368
mov eax, ebx
call fcn.004668b8
call fcn.00431570
test al, 1
je 0x4fc368
mov eax, ebx
call fcn.004668b8
call fcn.00431570
and eax, 0xfffffffe
push eax
mov eax, ebx
call fcn.004668b8
pop edx
call fcn.00431558
mov eax, ebx
call fcn.00500c5c
mov eax, ebx
call fcn.004fe0b0
push 0x585
push 0
push 0
mov eax, ebx
call fcn.004668b8
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [ebx + 0x22c]
call fcn.0044a598
jmp 0x4fcbf2
mov edi, dword [ebx + 0x3d8]
cmp byte [edi + 0x29], 0
jne 0x4fc425
xor edx, edx
mov eax, edi
call fcn.005a2744
test al, al
je 0x4fc425
mov eax, dword [ebx + 0x3d8]
xor edx, edx
mov dword [eax + 0x48], edx
mov byte [eax + 0x29], 0
mov eax, ebx
call fcn.004fd648
jmp 0x4fcbf2
mov eax, dword [ebx + 0x3d8]
movzx eax, byte [eax + 0x29]
mov dword [esi + 0xc], eax
jmp 0x4fcbf2
xor eax, eax
mov dword [ebx + 0x3c8], eax
jmp 0x4fc425
mov dword [esi + 0xc], 1
jmp 0x4fcbf2
mov eax, dword [ebx + 0x3d8]
call fcn.005a1ac4
test eax, eax
je 0x4fcbf2
mov eax, dword [ebx + 0x3d8]
call fcn.005a1ac4
mov eax, dword [eax + 0x7a60]
inc eax
mov dword [esi + 0xc], eax
jmp 0x4fcbf2
test byte [ebx + 0x54], 0x40
jne 0x4fc445
cmp dword [ebx + 0x3d8], 0
je 0x4fc445
xor edx, edx
mov eax, dword [ebx + 0x3d8]
call fcn.005a2744
test al, al
jne 0x4fc453
mov edx, esi
mov eax, ebx
call fcn.0044d308
jmp 0x4fcad6
mov eax, dword [esi]
cmp eax, 0x201
jg 0x4fc48a
je 0x4fc4ac
add eax, 0xfffffff9
sub eax, 2
jb 0x4fc5e4
sub eax, 0x7c
je 0x4fc74d
sub eax, 0x8f
je 0x4fc781
dec eax
je 0x4fc637
jmp 0x4fc838
sub eax, 0x317
je 0x4fc4f3
add eax, 0xfffff2fd
sub eax, 2
jb 0x4fc4de
sub eax, 5
je 0x4fc4c1
sub eax, 0xa008
je 0x4fc4d2
jmp 0x4fc838
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0xcc]
mov dword [ebx + 0x3f0], eax
jmp 0x4fc838
mov edx, esi
mov eax, ebx
call fcn.004fcc24
mov dword [esi + 0xc], eax
jmp 0x4fcbf2
mov dword [esi + 0xc], 1
jmp 0x4fcbf2
mov eax, dword [esi + 8]
cmp dword [eax + 0x18], 0xffffffff
jne 0x4fc838
and dword [eax], 0xffffffef
jmp 0x4fc838
cmp byte [ebx + 0x215], 3
jne 0x4fcbf2
cmp dword [ebx + 0x3f8], 0
je 0x4fcbf2
mov edi, dword [ebx + 0x3f8]
mov eax, dword [esi + 4]
push eax
call sub.gdi32.dll_SaveDC
mov ebp, eax
mov eax, ebx
call fcn.004fce64
mov edx, eax
add edx, dword [edi + 0x84]
mov ecx, dword [edi + 0x8c]
mov eax, dword [esi + 4]
call fcn.0045e914
push 0
mov ecx, dword [esi + 4]
mov edx, 0x14
mov eax, ebx
call fcn.004611a4
mov eax, dword [edi + 0x7c]
xor ecx, ecx
mov edx, 1
call fcn.005300e0
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.005300e0
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 [esi + 4]
push eax
call sub.gdi32.dll_IntersectClipRect
mov eax, dword [esi + 4]
mov edx, dword [edi + 0x68]
mov dword [edx + 0x48], eax
mov edx, esi
mov eax, ebx
call fcn.004fd108
push ebp
mov eax, dword [esi + 4]
push eax
call sub.gdi32.dll_RestoreDC
jmp 0x4fcbf2
mov eax, ebx
call fcn.004668b8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4fc600
mov eax, dword [ebx + 0x3f8]
mov edx, dword [eax]
call dword [edx + 0xc]
mov eax, ebx
call fcn.0044d8ac
test eax, eax
je 0x4fc838
mov eax, ebx
call fcn.0044d8ac
call fcn.0044a120
push eax
mov eax, ebx
call fcn.0044d8ac
call fcn.0044a120
mov edx, eax
mov eax, ebx
pop ecx
call fcn.0044b878
jmp 0x4fc838
mov dl, 1
mov eax, dword [ebx + 0x3f8]
call fcn.0052f3e8
cmp word [esi + 4], 5
jne 0x4fc73a
mov eax, dword [esi + 8]
test eax, eax
jne 0x4fc65a
movzx eax, word [esi + 6]
mov edx, dword [0x5f4900]
cmp eax, dword [edx]
je 0x4fcbf2
mov edx, dword [0x5f4900]
mov esi, eax
sub esi, dword [edx]
cmp byte [ebx + 0x215], 3
jne 0x4fc69e
push 0
mov eax, ebx
call fcn.004668b8
lea ecx, [esp + 8]
xor edx, edx
call fcn.00431264
lea eax, [esp + 4]
xor edx, edx
call fcn.005cc640
imul esi
mov esi, eax
mov al, byte [ebx + 0x215]
sub al, 2
jb 0x4fc6ac
sub al, 1
jne 0x4fc725
push 0
push 0
push 0xb
mov eax, ebx
call fcn.004668b8
push eax
call sub.user32.dll_SendMessageA
mov eax, ebx
call fcn.004668b8
mov ecx, esi
xor edx, edx
call fcn.004312b0
push 0
push 1
push 0xb
mov eax, ebx
call fcn.004668b8
push eax
call sub.user32.dll_SendMessageA
lea edx, [esp + 4]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x44]
test esi, esi
jge 0x4fc6fd
mov eax, dword [esp + 8]
sub eax, esi
mov dword [esp + 0x10], eax
jmp 0x4fc707
mov eax, dword [esp + 0x10]
sub eax, esi
mov dword [esp + 8], eax
push 0x181
push 0
lea eax, [esp + 0xc]
push eax
mov eax, ebx
call fcn.004668b8
push eax
call sub.user32.dll_RedrawWindow
jmp 0x4fcbf2
mov eax, ebx
call fcn.004668b8
mov ecx, esi
xor edx, edx
call fcn.004312b0
jmp 0x4fcbf2
xor eax, eax
mov dword [esi + 8], eax
mov edx, esi
mov eax, ebx
call fcn.0044d308
jmp 0x4fcbf2
mov eax, ebx
call fcn.004668b8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4fcbf2
mov eax, dword [ebx + 0x3d8]
cmp byte [eax + 0x90], 0
je 0x4fc838
mov eax, ebx
call fcn.004fe0b0
jmp 0x4fc838
mov ax, word [esi + 4]
sub ax, 2
jb 0x4fc802
sub ax, 3
jne 0x4fc819
mov eax, dword [esi + 8]
test eax, eax
setne dl
movzx ecx, word [esi + 6]
xchg edx, eax
call fcn.005cc234
mov edx, dword [0x5f4900]
mov esi, eax
sub esi, dword [edx]
cmp byte [ebx + 0x215], 2
jne 0x4fc7dd
push 0
mov eax, ebx
call fcn.004668b8
lea ecx, [esp + 8]
xor edx, edx
call fcn.00431264
lea eax, [esp + 4]
xor edx, edx
call fcn.005cc62c
imul esi
mov esi, eax
mov eax, ebx
call fcn.004668b8
xor ecx, ecx
mov edx, esi
call fcn.004312b0
xor edx, edx
mov eax, ebx
call fcn.004fe610
mov eax, ebx
call fcn.004fd648
jmp 0x4fcbf2
mov edx, esi
mov eax, ebx
call fcn.0044d308
mov dl, 1
mov eax, ebx
call fcn.004fe610
jmp 0x4fcbf2
mov edx, esi
mov eax, ebx
call fcn.0044d308
push 0xffffffffffffffff
push 0
mov eax, ebx
call fcn.004668b8
push eax
call sub.user32.dll_InvalidateRect
jmp 0x4fcbf2
mov eax, esi
mov edx, dword [ebx + 0x3d8]
call fcn.005a39c8
test al, al
jne 0x4fcbf2
mov edx, esi
mov eax, ebx
call fcn.0044d308
xor edx, edx
mov eax, dword [ebx + 0x3d8]
call fcn.005a2744
test al, al
je 0x4fcad6
mov eax, dword [esi]
cmp eax, 0x20a
jg 0x4fc8bc
je 0x4fc9bc
cmp eax, 0x7d
jg 0x4fc8a5
je 0x4fca37
sub eax, 3
je 0x4fca87
sub eax, 2
je 0x4fca87
sub eax, 0x42
je 0x4fca87
jmp 0x4fcad6
sub eax, 0x85
je 0x4fca7e
sub eax, 0x17b
je 0x4fc911
jmp 0x4fcad6
cmp eax, 0xb019
jg 0x4fc8f3
je 0x4fc9f4
add eax, 0xffffeff9
sub eax, 2
jb 0x4fca60
sub eax, 0xc
je 0x4fca60
add eax, 0xffff600a
sub eax, 2
jb 0x4fca87
jmp 0x4fcad6
sub eax, 0xb043
je 0x4fc9bc
add eax, 0xfffff343
sub eax, 2
jb 0x4fc9d5
jmp 0x4fcad6
mov eax, dword [0x5f4960]
cmp dword [eax], 6
jl 0x4fcad6
cmp byte [ebx + 0x278], 0
je 0x4fcad6
lea eax, [esp + 0x1c]
call fcn.0057d11c
lea edx, [esp + 0x1c]
lea ecx, [esp + 0x14]
mov eax, ebx
call fcn.0045fb1c
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, ebx
call fcn.0044daf0
mov edi, eax
test edi, edi
je 0x4fcad6
mov eax, dword [ebx + 0x22c]
call fcn.0044a2a8
mov edx, eax
xor ecx, ecx
mov eax, dword [ebx + 0x3e8]
call fcn.005cc29c
test al, al
je 0x4fcad6
mov eax, edi
call fcn.0044a120
mov ebp, dword [ebx + 0x3e8]
cmp eax, ebp
je 0x4fcad6
mov edx, ebp
mov eax, ebx
call fcn.004fe1bc
mov dword [ebx + 0x3e8], 0xffffffff
jmp 0x4fcad6
cmp word [esi + 4], 0
jne 0x4fcad6
xor edx, edx
mov eax, ebx
call fcn.004fe610
jmp 0x4fcad6
mov ax, word [esi + 4]
add eax, 0xffffffdf
sub ax, 8
jae 0x4fcad6
xor edx, edx
mov eax, ebx
call fcn.004fe610
jmp 0x4fcad6
mov eax, ebx
call fcn.00466bbc
test al, al
je 0x4fca1a
mov eax, dword [0x5f4d38]
cmp dword [eax], 0
je 0x4fca1a
mov eax, ebx
call fcn.004668b8
push eax
mov eax, dword [0x5f4d38]
mov eax, dword [eax]
call eax
lea edx, [ebx + 0x3f8]
mov eax, dword [ebx + 0x3d8]
call fcn.0052f278
mov eax, ebx
call fcn.00500c5c
jmp 0x4fcad6
test byte [ebx + 0x54], 8
jne 0x4fcad6
mov eax, ebx
call fcn.004668b8
xor ecx, ecx
xor edx, edx
call fcn.004312b0
mov dl, 1
mov eax, dword [ebx + 0x3f8]
call fcn.0052f3e8
jmp 0x4fcad6
mov eax, dword [ebx + 0x3d8]
call fcn.005a1ad8
test al, al
jne 0x4fcad6
mov dl, 1
mov eax, dword [ebx + 0x3f8]
call fcn.0052f3e8
jmp 0x4fcad6
mov eax, ebx
call fcn.004fd648
jmp 0x4fcad6
xor edx, edx
mov eax, dword [ebx + 0x3d8]
call fcn.005a2744
test al, al
je 0x4fcad6
test byte [ebx + 0x1c], 8
jne 0x4fcad6
mov eax, ebx
call fcn.004668b8
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4fcad6
push 0
xor ecx, ecx
mov edx, 0x85
mov eax, ebx
call fcn.004611a4
mov byte [ebx + 0x38e], 1
mov dl, 1
mov eax, ebx
call fcn.004fe610
mov byte [ebx + 0x38e], 0
mov eax, dword [ebx + 0x3d4]
test eax, eax
je 0x4fcae9
mov edx, esi
mov ecx, ebx
call fcn.005a53d0
mov eax, dword [esi]
cmp eax, 0x1036
jg 0x4fcb16
je 0x4fcb31
sub eax, 0x2c
je 0x4fcbae
sub eax, 0xfee
je 0x4fcbeb
sub eax, 0xd
je 0x4fcbeb
jmp 0x4fcbf2
sub eax, 0xb029
je 0x4fcbeb
sub eax, 0xc03
je 0x4fcbae
jmp 0x4fcbf2
cmp byte [0x5f3654], 0
jne 0x4fcbf2
xor edx, edx
mov eax, dword [ebx + 0x3d8]
call fcn.005a2744
test al, al
je 0x4fcbf2
mov byte [0x5f3654], 1
mov eax, ebx
call fcn.004668b8
call fcn.00431570
mov edi, eax
mov eax, edi
and eax, 1
test eax, eax
je 0x4fcb7a
cmp byte [ebx + 0x277], 0
jne 0x4fcb7e
xor edx, edx
jmp 0x4fcb80
mov dl, 1
mov esi, edx
and esi, 0x7f
test eax, eax
je 0x4fcb9a
mov eax, ebx
call fcn.004668b8
mov edx, edi
and edx, 0xfffffffe
call fcn.00431558
test esi, esi
je 0x4fcba5
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x7c]
mov byte [0x5f3654], 0
jmp 0x4fcbf2
cmp word [ebx + 0x3e2], 0
je 0x4fcbf2
cmp byte [ebx + 0x215], 3
jne 0x4fcbf2
mov edi, dword [esi + 8]
mov eax, dword [edi + 0x10]
mov dword [esp], eax
push esp
mov ecx, dword [edi + 8]
mov edx, ebx
mov eax, dword [ebx + 0x3e4]
call dword [ebx + 0x3e0]
mov eax, dword [esp]
mov dword [edi + 0x10], eax
mov dword [esi + 0xc], 1
jmp 0x4fcbf2
mov eax, ebx
call fcn.004fce74
add esp, 0x24
pop ebp
pop edi
pop esi
pop ebx
ret