Function at 0x313f4ddc
Capabilities:
Enumerate gui resources

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 2
add esp, 0xfffff004
push eax
dec eax
jne 0x313f4de5
mov eax, dword [ebp - 4]
add esp, 0xfffffed0
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x78], ebx
mov esi, dword [ebp + 8]
lea edi, [ebp - 0x84]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x6c], eax
xor eax, eax
push ebp
push 0x313f5d08
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 0x7c], 0xffffffff
je 0x313f5ced
push 0
push 0
push 0x31
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x4c]
push eax
call sub.user32.dll_GetSysColorBrush
mov ebx, eax
push ebx
mov eax, dword [ebp + 0xc]
call fcn.3128d578
call fcn.31287ce0
push eax
call sub.gdi32.dll_SelectObject
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0xdc]
push eax
mov eax, dword [ebp - 0x6c]
call fcn.313f49ec
cmp eax, dword [ebp - 0x7c]
sete cl
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x6c]
call fcn.313f4a00
cmp dword [ebp - 0x68], 1
jne 0x313f4e90
cmp dword [ebp - 0xdc], 0
jl 0x313f5ced
lea eax, [ebp - 0xbc]
push eax
cmp dword [ebp - 0x68], 2
jne 0x313f4eaa
mov eax, dword [ebp - 0x6c]
call fcn.313f49ec
cmp eax, dword [ebp - 0x7c]
je 0x313f4eae
xor ecx, ecx
jmp 0x313f4eb0
mov cl, 1
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x6c]
call fcn.313f4a00
lea esi, [ebp - 0xbc]
lea edi, [ebp - 0xcc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x20f8], 0x13
mov dword [ebp - 0x20f0], 0x10
lea eax, [ebp - 0x20dc]
mov dword [ebp - 0x20ec], eax
mov dword [ebp - 0x20e8], 0x2000
lea eax, [ebp - 0x20f8]
push eax
mov eax, dword [ebp - 0x7c]
push eax
push 0x133c
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x4c]
push eax
call sub.user32.dll_GetSysColorBrush
lea eax, [ebp - 0x78]
lea edx, [ebp - 0x20dc]
mov ecx, 0x1000
call fcn.31237000
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x54]
call fcn.31416e50
cmp word [eax + 0xa4], 0
jle 0x313f54a9
mov ebx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x6c]
call fcn.313f611c
sub al, 1
jb 0x313f4f57
je 0x313f504f
jmp 0x313f508e
mov eax, dword [ebp - 0x6c]
call fcn.313f60e0
sub al, 1
jb 0x313f4f6e
je 0x313f4fe0
dec al
je 0x313f4fa7
jmp 0x313f5019
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x54]
call fcn.31416e50
movsx eax, word [eax + 0xa4]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x54]
call fcn.31416e50
movsx esi, word [eax + 0xac]
lea eax, [ebp - 0x74]
mov edx, 0x313f5d24
call fcn.31236e44
jmp 0x313f50cb
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x54]
call fcn.31416e50
movsx eax, word [eax + 0xa8]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x54]
call fcn.31416e50
movsx esi, word [eax + 0xb0]
lea eax, [ebp - 0x74]
mov edx, 0x313f5d40
call fcn.31236e44
jmp 0x313f50cb
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x54]
call fcn.31416e50
movsx eax, word [eax + 0xa6]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x54]
call fcn.31416e50
movsx esi, word [eax + 0xae]
lea eax, [ebp - 0x74]
mov edx, 0x313f5d5c
call fcn.31236e44
jmp 0x313f50cb
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x54]
call fcn.31416e50
movsx eax, word [eax + 0xaa]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x54]
call fcn.31416e50
movsx esi, word [eax + 0xb2]
lea eax, [ebp - 0x74]
mov edx, 0x313f5d7c
call fcn.31236e44
jmp 0x313f50cb
lea eax, [ebp - 0x74]
mov edx, 0x313f5d9c
call fcn.31236e44
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x54]
call fcn.31416e50
mov edx, dword [ebp - 0x74]
call fcn.313d2a98
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x54]
call fcn.31416e50
mov ecx, 0x313f5db8
mov edx, dword [ebp - 0x74]
call fcn.313d2f28
mov esi, eax
jmp 0x313f50cb
lea eax, [ebp - 0x74]
mov edx, 0x313f5ddc
call fcn.31236e44
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x54]
call fcn.31416e50
mov edx, dword [ebp - 0x74]
call fcn.313d2a98
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x54]
call fcn.31416e50
mov ecx, 0x313f5db8
mov edx, dword [ebp - 0x74]
call fcn.313d2f28
mov esi, eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x54]
call fcn.31416e50
mov edx, esi
call fcn.313cc2fc
test al, al
je 0x313f54a9
lea eax, [ebp - 0xcc]
xor edx, edx
call fcn.314142a0
push eax
lea eax, [ebp - 0xcc]
xor edx, edx
call fcn.3141428c
pop edx
call fcn.313b6b80
mov dword [ebp - 0x9c], eax
xor eax, eax
push ebp
push 0x313f54a2
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 0x68], 2
jne 0x313f531f
mov eax, dword [ebp - 0x6c]
call fcn.313f49ec
cmp eax, dword [ebp - 0x7c]
jne 0x313f531f
push 0xcc0020
mov edi, dword [ebp - 0xc8]
push edi
mov esi, dword [ebp - 0xcc]
push esi
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x54]
mov eax, dword [eax + 0x38]
call fcn.3128d578
call fcn.31287ce0
push eax
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
call dword [edx + 0x30]
push eax
mov eax, edi
add eax, dword [ebp - 0x80]
push eax
mov eax, esi
add eax, dword [ebp - 0x84]
push eax
mov eax, dword [ebp - 0x9c]
call fcn.3128d578
call fcn.31287ce0
push eax
call sub.gdi32.dll_BitBlt
lea eax, [ebp - 0xdc]
mov ecx, dword [ebp - 0x80]
mov edx, dword [ebp - 0x84]
call fcn.3123ab24
push 0xcc0020
lea eax, [ebp - 0x211c]
push eax
mov eax, dword [ebp - 0x6c]
call fcn.313f49ec
cmp eax, dword [ebp - 0x7c]
sete cl
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x6c]
call fcn.313f4a00
mov eax, dword [ebp - 0x2118]
push eax
lea eax, [ebp - 0x212c]
push eax
mov eax, dword [ebp - 0x6c]
call fcn.313f49ec
cmp eax, dword [ebp - 0x7c]
sete cl
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x6c]
call fcn.313f4a00
mov eax, dword [ebp - 0x212c]
push eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x54]
mov eax, dword [eax + 0x38]
call fcn.3128d578
call fcn.31287ce0
push eax
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
call dword [edx + 0x30]
push eax
push 0
push 0
mov eax, dword [ebp - 0x9c]
call fcn.3128d578
call fcn.31287ce0
push eax
call sub.gdi32.dll_BitBlt
push 0xcc0020
push 0
push 0
mov eax, dword [ebp - 0x9c]
call fcn.3128d578
call fcn.31287ce0
push eax
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
call dword [edx + 0x30]
push eax
add edi, dword [ebp - 0x80]
push edi
add esi, dword [ebp - 0x84]
push esi
mov eax, dword [ebp + 0xc]
call fcn.3128d578
call fcn.31287ce0
push eax
call sub.gdi32.dll_BitBlt
lea eax, [ebp - 0x210c]
push eax
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 0x9c]
call fcn.3141480c
push 1
push ebx
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
lea eax, [ebp - 0x211c]
push eax
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
call dword [edx + 0x30]
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.3123aa38
lea eax, [ebp - 0x211c]
push eax
lea ecx, [ebp - 0x2134]
xor edx, edx
xor eax, eax
call fcn.3123aa68
lea eax, [ebp - 0x2134]
push eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x54]
call fcn.31416e50
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
lea ecx, [ebp - 0x210c]
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x70]
call fcn.313aeb48
jmp 0x313f5489
lea eax, [ebp - 0x210c]
push eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x54]
mov eax, dword [eax + 0x38]
xor ecx, ecx
xor edx, edx
call fcn.3141480c
cmp dword [ebp - 0x68], 1
jne 0x313f5346
xor eax, eax
mov dword [ebp - 0x2108], eax
push 1
push ebx
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
lea eax, [ebp - 0x211c]
push eax
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
call dword [edx + 0x30]
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.3123aa38
lea eax, [ebp - 0x211c]
push eax
lea ecx, [ebp - 0x2134]
mov edi, dword [ebp - 0xc8]
mov edx, edi
mov esi, dword [ebp - 0xcc]
mov eax, esi
call fcn.3123aa68
lea eax, [ebp - 0x2134]
push eax
mov eax, dword [ebp - 0x9c]
push eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x54]
call fcn.31416e50
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
lea ecx, [ebp - 0x210c]
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x70]
call fcn.313aeb48
mov eax, dword [ebp + 0xc]
call fcn.3128d578
call fcn.31287ce0
push eax
call sub.gdi32.dll_SaveDC
mov ebx, eax
lea edx, [ebp - 0xdc]
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov eax, dword [ebp - 0x6c]
call fcn.313f60e0
test al, al
je 0x313f53f6
sub al, 2
jne 0x313f5425
mov eax, dword [ebp - 0xd0]
push eax
mov eax, dword [ebp - 0xd4]
push eax
mov eax, dword [ebp - 0xd8]
push eax
mov eax, dword [ebp - 0xdc]
push eax
mov eax, dword [ebp + 0xc]
call fcn.3128d578
call fcn.31287ce0
push eax
call sub.gdi32.dll_ExcludeClipRect
push 0xcc0020
push 0
push 0
mov eax, dword [ebp - 0x9c]
call fcn.3128d578
call fcn.31287ce0
push eax
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
call dword [edx + 0x30]
push eax
add edi, dword [ebp - 0x80]
push edi
add esi, dword [ebp - 0x84]
push esi
mov eax, dword [ebp + 0xc]
call fcn.3128d578
call fcn.31287ce0
push eax
call sub.gdi32.dll_BitBlt
push ebx
mov eax, dword [ebp + 0xc]
call fcn.3128d578
call fcn.31287ce0
push eax
call sub.gdi32.dll_RestoreDC
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x313f54a9
lea eax, [ebp - 0x9c]
call fcn.3124bdd0
ret
lea eax, [ebp - 0xbc]
mov ecx, dword [ebp - 0x80]
mov edx, dword [ebp - 0x84]
call fcn.3123ab24
lea esi, [ebp - 0xbc]
lea edi, [ebp - 0xdc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0xfffffffffffffffd
push 0xfffffffffffffffd
lea eax, [ebp - 0xdc]
push eax
call sub.user32.dll_EnumWindows
push 0
push 0
push 0x1302
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x4c]
push eax
call sub.user32.dll_GetSysColorBrush
mov ebx, eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x54]
mov eax, dword [eax + 0x30]
test eax, eax
jne 0x313f5505
xor esi, esi
jmp 0x313f550b
mov esi, dword [eax + 0x27c]
test eax, eax
je 0x313f552b
mov eax, dword [ebp + 0xc]
call fcn.3128d578
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x6c]
mov edx, dword [edx + 0x54]
mov edx, dword [edx + 0x30]
mov edx, dword [edx + 0x64]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x6c]
call fcn.313f60e0
sub al, 2
jb 0x313f554a
je 0x313f5711
dec al
je 0x313f59d6
jmp 0x313f5cd3
test ebx, ebx
je 0x313f56c0
cmp dword [ebp - 0x20e4], 0xffffffff
jle 0x313f56c0
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x90]
push eax
push ebx
call sub.comctl32.dll_ImageList_GetIconSize
test esi, esi
je 0x313f55ed
lea eax, [ebp - 0xbc]
xor edx, edx
call fcn.314142a0
sub eax, dword [ebp - 0x90]
sar eax, 1
jns 0x313f5591
adc eax, 0
add eax, dword [ebp - 0xb8]
push eax
mov eax, dword [ebp - 0x20e4]
push eax
push 1
lea eax, [ebp - 0xbc]
xor edx, edx
call fcn.3141428c
mov ebx, eax
mov eax, dword [ebp + 0xc]
call fcn.3128d578
mov edx, dword [ebp - 0x78]
call fcn.313b0798
add eax, dword [ebp - 0x90]
add eax, 8
sub ebx, eax
sar ebx, 1
jns 0x313f55d2
adc ebx, 0
add ebx, dword [ebp - 0xbc]
push ebx
mov eax, dword [ebp + 0xc]
call fcn.3128d578
mov edx, eax
mov eax, esi
pop ecx
call fcn.312f1c80
jmp 0x313f5663
push 0
lea eax, [ebp - 0xbc]
xor edx, edx
call fcn.314142a0
sub eax, dword [ebp - 0x90]
sar eax, 1
jns 0x313f5609
adc eax, 0
add eax, dword [ebp - 0xb8]
push eax
lea eax, [ebp - 0xbc]
xor edx, edx
call fcn.3141428c
mov esi, eax
mov eax, dword [ebp + 0xc]
call fcn.3128d578
mov edx, dword [ebp - 0x78]
call fcn.313b0798
add eax, dword [ebp - 0x90]
add eax, 8
sub esi, eax
sar esi, 1
jns 0x313f5641
adc esi, 0
add esi, dword [ebp - 0xbc]
push esi
mov eax, dword [ebp + 0xc]
call fcn.3128d578
call fcn.31287ce0
push eax
mov eax, dword [ebp - 0x20e4]
push eax
push ebx
call sub.comctl32.dll_ImageList_Draw
mov eax, dword [ebp - 0x90]
add dword [ebp - 0xbc], eax
lea esi, [ebp - 0xbc]
lea edi, [ebp - 0xdc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0xbc]
push eax
push 0x25
mov eax, dword [ebp - 0x70]
push eax
cmp dword [ebp - 0x68], 0
setne al
push eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x54]
call fcn.31416e50
push eax
mov eax, dword [ebp + 0xc]
call fcn.3128d578
push eax
mov eax, dword [ebp - 0x78]
call fcn.31236e7c
mov edx, eax
mov cl, 1
pop eax
call fcn.313b124c
jmp 0x313f5cd3
lea esi, [ebp - 0xbc]
lea edi, [ebp - 0xdc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0xbc]
push eax
push 0x25
mov eax, dword [ebp - 0x70]
push eax
cmp dword [ebp - 0x68], 0
setne al
push eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x54]
call fcn.31416e50
push eax
mov eax, dword [ebp + 0xc]
call fcn.3128d578
push eax
mov eax, dword [ebp - 0x78]
call fcn.31236e7c
mov edx, eax
mov cl, 1
pop eax
call fcn.313b124c
jmp 0x313f5cd3
mov eax, dword [ebp + 0xc]
call fcn.3128d578
mov eax, dword [eax + 0x48]
mov dl, 1
call fcn.31286c58
push ebp
mov eax, 0xfffff574
call fcn.313f4b30
pop ecx
mov eax, dword [ebp + 0xc]
call fcn.3128d578
lea ecx, [ebp - 0xa4]
mov edx, dword [ebp - 0x78]
call fcn.313b07b8
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x90], eax
test ebx, ebx
je 0x313f5916
cmp dword [ebp - 0x20e4], 0xffffffff
jle 0x313f5916
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x98]
push eax
push ebx
call sub.comctl32.dll_ImageList_GetIconSize
mov eax, dword [ebp - 0x6c]
call fcn.313f49ec
cmp eax, dword [ebp - 0x7c]
jne 0x313f57a5
lea eax, [ebp - 0xbc]
xor ecx, ecx
mov edx, 2
call fcn.3123ab24
lea eax, [ebp - 0xbc]
xor edx, edx
call fcn.314142a0
mov edx, dword [ebp - 0x94]
add edx, 4
add edx, dword [ebp - 0x8c]
sub eax, edx
sar eax, 1
jns 0x313f57ca
adc eax, 0
mov edi, dword [ebp - 0xb0]
sub edi, eax
sub edi, dword [ebp - 0x94]
test esi, esi
je 0x313f581b
push edi
mov eax, dword [ebp - 0x20e4]
push eax
push 1
lea eax, [ebp - 0xbc]
xor edx, edx
call fcn.3141428c
sub eax, dword [ebp - 0x98]
sar eax, 1
jns 0x313f5800
adc eax, 0
add eax, dword [ebp - 0xbc]
push eax
mov eax, dword [ebp + 0xc]
call fcn.3128d578
mov edx, eax
mov eax, esi
pop ecx
call fcn.312f1c80
jmp 0x313f585a
push 1
push edi
lea eax, [ebp - 0xbc]
xor edx, edx
call fcn.3141428c
sub eax, dword [ebp - 0x98]
sar eax, 1
jns 0x313f5838
adc eax, 0
add eax, dword [ebp - 0xbc]
push eax
mov eax, dword [ebp + 0xc]
call fcn.3128d578
call fcn.31287ce0
push eax
mov eax, dword [ebp - 0x20e4]
push eax
push ebx
call sub.comctl32.dll_ImageList_Draw
mov eax, dword [ebp + 0xc]
call fcn.3128d578
mov eax, dword [eax + 0x48]
mov dl, 1
call fcn.31286c58
sub edi, 4
push edi
mov eax, dword [ebp - 0x78]
push eax
lea eax, [ebp - 0xbc]
xor edx, edx
call fcn.3141428c
sub eax, dword [ebp - 0x90]
sar eax, 1
jns 0x313f588e
adc eax, 0
add eax, dword [ebp - 0xbc]
push eax
mov eax, dword [ebp + 0xc]
call fcn.3128d578
lea edx, [ebp - 0xbc]
pop ecx
call fcn.313b07d4
lea eax, [ebp - 0xbc]
xor edx, edx
call fcn.314142a0
mov edx, dword [ebp - 0x8c]
sub edx, eax
sar edx, 1
jns 0x313f58c5
adc edx, 0
add edx, 2
push edx
lea eax, [ebp - 0xbc]
xor edx, edx
call fcn.3141428c
mov edx, dword [ebp - 0x90]
sub edx, eax
sar edx, 1
jns 0x313f58e5
adc edx, 0
push edx
lea eax, [ebp - 0xbc]
push eax
call sub.user32.dll_EnumWindows
mov ecx, dword [ebp - 0x8c]
add ecx, 4
neg ecx
sar ecx, 1
jns 0x313f5904
adc ecx, 0
lea eax, [ebp - 0xbc]
xor edx, edx
call fcn.3123ab24
jmp 0x313f59ca
mov eax, dword [ebp + 0xc]
call fcn.3128d578
mov eax, dword [eax + 0x48]
mov dl, 1
call fcn.31286c58
lea eax, [ebp - 0xbc]
xor edx, edx
call fcn.314142a0
sub eax, dword [ebp - 0x8c]
sar eax, 1
jns 0x313f5942
adc eax, 0
mov edx, dword [ebp - 0xb0]
sub edx, eax
push edx
mov eax, dword [ebp - 0x78]
push eax
lea eax, [ebp - 0xbc]
xor edx, edx
call fcn.3141428c
sub eax, dword [ebp - 0x90]
sar eax, 1
jns 0x313f5969
adc eax, 0
add eax, dword [ebp - 0xbc]
push eax
mov eax, dword [ebp + 0xc]
call fcn.3128d578
lea edx, [ebp - 0xbc]
pop ecx
call fcn.313b07d4
lea eax, [ebp - 0xbc]
xor edx, edx
call fcn.314142a0
mov edx, dword [ebp - 0x8c]
sub edx, eax
sar edx, 1
jns 0x313f59a0
adc edx, 0
push edx
lea eax, [ebp - 0xbc]
xor edx, edx
call fcn.3141428c
mov edx, dword [ebp - 0x90]
sub edx, eax
sar edx, 1
jns 0x313f59bd
adc edx, 0
push edx
lea eax, [ebp - 0xbc]
push eax
call sub.user32.dll_EnumWindows
push ebp
call fcn.313f4da8
pop ecx
jmp 0x313f5cd3
mov eax, dword [ebp + 0xc]
call fcn.3128d578
mov eax, dword [eax + 0x48]
mov dl, 1
call fcn.31286c58
push ebp
mov eax, 0xfffffc7c
call fcn.313f4b30
pop ecx
lea eax, [ebp - 0xbc]
or ecx, 0xffffffff
mov edx, 0xfffffffe
call fcn.3123ab24
mov eax, dword [ebp + 0xc]
call fcn.3128d578
lea ecx, [ebp - 0xac]
mov edx, dword [ebp - 0x78]
call fcn.313b07b8
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x90], eax
test ebx, ebx
je 0x313f5c00
cmp dword [ebp - 0x20e4], 0xffffffff
jle 0x313f5c00
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x98]
push eax
push ebx
call sub.comctl32.dll_ImageList_GetIconSize
mov eax, dword [ebp - 0x6c]
call fcn.313f49ec
cmp eax, dword [ebp - 0x7c]
jne 0x313f5a7d
lea eax, [ebp - 0xbc]
xor ecx, ecx
mov edx, 2
call fcn.3123ab24
lea eax, [ebp - 0xbc]
xor edx, edx
call fcn.314142a0
mov edi, eax
mov eax, dword [ebp - 0x94]
add eax, 4
add eax, dword [ebp - 0x8c]
sub edi, eax
sar edi, 1
jns 0x313f5aa4
adc edi, 0
add edi, dword [ebp - 0xb8]
test esi, esi
je 0x313f5aed
push edi
mov eax, dword [ebp - 0x20e4]
push eax
push 1
lea eax, [ebp - 0xbc]
xor edx, edx
call fcn.3141428c
sub eax, dword [ebp - 0x98]
sar eax, 1
jns 0x313f5ad2
adc eax, 0
add eax, dword [ebp - 0xbc]
push eax
mov eax, dword [ebp + 0xc]
call fcn.3128d578
mov edx, eax
mov eax, esi
pop ecx
call fcn.312f1c80
jmp 0x313f5b2c
push 1
push edi
lea eax, [ebp - 0xbc]
xor edx, edx
call fcn.3141428c
sub eax, dword [ebp - 0x98]
sar eax, 1
jns 0x313f5b0a
adc eax, 0
add eax, dword [ebp - 0xbc]
push eax
mov eax, dword [ebp + 0xc]
call fcn.3128d578
call fcn.31287ce0
push eax
mov eax, dword [ebp - 0x20e4]
push eax
push ebx
call sub.comctl32.dll_ImageList_Draw
mov eax, dword [ebp + 0xc]
call fcn.3128d578
mov eax, dword [eax + 0x48]
mov dl, 1
call fcn.31286c58
add edi, 4
add edi, dword [ebp - 0x94]
push edi
mov eax, dword [ebp - 0x78]
push eax
lea eax, [ebp - 0xbc]
xor edx, edx
call fcn.3141428c
mov ebx, eax
sub ebx, dword [ebp - 0x90]
sar ebx, 1
jns 0x313f5b68
adc ebx, 0
add ebx, dword [ebp - 0xbc]
mov eax, dword [ebp + 0xc]
call fcn.3128d578
mov edx, dword [ebp - 0x78]
call fcn.31286d58
add ebx, eax
push ebx
mov eax, dword [ebp + 0xc]
call fcn.3128d578
lea edx, [ebp - 0xbc]
pop ecx
call fcn.313b07d4
lea eax, [ebp - 0xbc]
xor edx, edx
call fcn.314142a0
mov edx, dword [ebp - 0x8c]
sub edx, eax
sar edx, 1
jns 0x313f5bb1
adc edx, 0
add edx, 2
push edx
lea eax, [ebp - 0xbc]
xor edx, edx
call fcn.3141428c
mov edx, dword [ebp - 0x90]
sub edx, eax
sar edx, 1
jns 0x313f5bd1
adc edx, 0
push edx
lea eax, [ebp - 0xbc]
push eax
call sub.user32.dll_EnumWindows
mov ecx, dword [ebp - 0x94]
add ecx, 4
sar ecx, 1
jns 0x313f5bee
adc ecx, 0
lea eax, [ebp - 0xbc]
xor edx, edx
call fcn.3123ab24
jmp 0x313f5ccc
mov eax, dword [ebp + 0xc]
call fcn.3128d578
mov eax, dword [eax + 0x48]
mov dl, 1
call fcn.31286c58
lea eax, [ebp - 0xbc]
xor edx, edx
call fcn.314142a0
sub eax, dword [ebp - 0x8c]
sar eax, 1
jns 0x313f5c2c
adc eax, 0
add eax, dword [ebp - 0xb8]
push eax
mov eax, dword [ebp - 0x78]
push eax
lea eax, [ebp - 0xbc]
xor edx, edx
call fcn.3141428c
mov ebx, eax
sub ebx, dword [ebp - 0x90]
sar ebx, 1
jns 0x313f5c53
adc ebx, 0
add ebx, dword [ebp - 0xbc]
mov eax, dword [ebp + 0xc]
call fcn.3128d578
mov edx, dword [ebp - 0x6c]
mov edx, dword [edx + 8]
call fcn.31286d58
add ebx, eax
push ebx
mov eax, dword [ebp + 0xc]
call fcn.3128d578
lea edx, [ebp - 0xbc]
pop ecx
call fcn.313b07d4
lea eax, [ebp - 0xbc]
xor edx, edx
call fcn.314142a0
mov edx, dword [ebp - 0x8c]
sub edx, eax
sar edx, 1
jns 0x313f5c9f
adc edx, 0
add edx, 2
push edx
lea eax, [ebp - 0xbc]
xor edx, edx
call fcn.3141428c
mov edx, dword [ebp - 0x90]
sub edx, eax
sar edx, 1
jns 0x313f5cbf
adc edx, 0
push edx
lea eax, [ebp - 0xbc]
push eax
call sub.user32.dll_EnumWindows
push ebp
call fcn.313f4da8
pop ecx
mov eax, dword [ebp - 0x88]
push eax
mov eax, dword [ebp + 0xc]
call fcn.3128d578
call fcn.31287ce0
push eax
call sub.gdi32.dll_SelectObject
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x313f5d0f
lea eax, [ebp - 0x78]
mov edx, 2
call fcn.31236de8
ret