Function at 0x313f8408
Capabilities:
Enumerate gui resources

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffb4
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 4], ebx
mov esi, edx
mov ebx, eax
xor eax, eax
push ebp
push 0x313f87de
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
push esi
mov esi, eax
lea edi, [ebp - 0x1c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
push 0xffffffffffffffff
push 0xffffffffffffffff
lea eax, [ebp - 0x1c]
push eax
call sub.user32.dll_EnumWindows
push 0x313f87fc
mov eax, dword [ebx + 0x54]
call fcn.31416e50
mov edi, dword [ebx + 0x54]
mov ecx, dword [edi + 4]
mov edx, dword [edi + 0x1c]
call fcn.313d2b00
mov edi, eax
mov eax, dword [ebx + 0x54]
call fcn.31416e50
test eax, eax
je 0x313f8714
mov eax, dword [ebx + 0x54]
call fcn.31416e50
mov edx, dword [ebx + 0x54]
mov edx, dword [edx + 0x1c]
call fcn.313cc320
test al, al
je 0x313f8714
mov eax, dword [ebx + 0x54]
call fcn.31416e50
mov edx, edi
call fcn.313cc2fc
test al, al
je 0x313f8530
mov eax, ebx
call fcn.313f8a88
test al, al
je 0x313f84fa
mov eax, dword [0x3143f994]
push eax
mov eax, dword [ebx + 0x54]
call fcn.31416e50
mov eax, dword [eax + 0x94]
imul edx, edi, 0xd
lea eax, [eax + edx*4]
push eax
push 0
push 1
push 0
mov eax, dword [ebx + 0x20]
push eax
lea eax, [ebp - 0x40]
push eax
mov ecx, dword [ebx + 0x1c]
xor edx, edx
xor eax, eax
call fcn.31263970
lea edx, [ebp - 0x40]
mov eax, dword [ebx + 0x54]
mov eax, dword [eax + 0x38]
mov cl, 1
call fcn.31419a24
jmp 0x313f8714
mov eax, dword [0x3143f994]
push eax
mov eax, dword [ebx + 0x54]
call fcn.31416e50
mov eax, dword [eax + 0x94]
imul edx, edi, 0xd
lea eax, [eax + edx*4]
push eax
push 0
push 1
push 0
mov edx, dword [ebp + 8]
mov eax, dword [ebx + 0x54]
mov eax, dword [eax + 0x38]
mov cl, 1
call fcn.31419a24
jmp 0x313f8714
mov eax, ebx
call fcn.313f8a88
test al, al
jne 0x313f8714
mov eax, ebx
call fcn.313f8924
dec eax
cmp esi, eax
je 0x313f8714
mov eax, dword [ebx + 0x54]
call fcn.31416e50
mov edx, 0x313f8828
call fcn.313d2a98
mov edi, eax
mov eax, dword [ebx + 0x54]
call fcn.31416e50
test eax, eax
je 0x313f8714
mov eax, dword [ebx + 0x54]
call fcn.31416e50
mov edx, edi
call fcn.313cc320
test al, al
je 0x313f8714
push 0x313f8844
mov eax, dword [ebx + 0x54]
call fcn.31416e50
push eax
mov ecx, 0x313f8828
mov edx, edi
pop eax
call fcn.313d2b00
mov dword [ebp - 8], eax
mov eax, dword [ebx + 0x54]
call fcn.31416e50
mov edx, dword [ebp - 8]
call fcn.313cc2fc
test al, al
je 0x313f8714
mov eax, dword [ebx + 0x54]
call fcn.31416e50
lea ecx, [ebp - 0x48]
mov edx, dword [ebp - 8]
call fcn.313d2a24
mov eax, dword [ebp - 0x48]
dec eax
mov edx, dword [ebx + 0x20]
sub edx, 2
call fcn.313b6b80
mov dword [ebp - 0xc], eax
push 0xcc0020
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
push eax
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x30]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 8]
sub edx, eax
push edx
mov eax, dword [ebx + 0x54]
mov eax, dword [eax + 0x38]
call fcn.3128d578
call fcn.31287ce0
push eax
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x30]
push eax
push 0
push 0
mov eax, dword [ebp - 0xc]
call fcn.3128d578
call fcn.31287ce0
push eax
call sub.gdi32.dll_BitBlt
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebx + 0x54]
mov eax, dword [eax + 0x38]
xor ecx, ecx
xor edx, edx
call fcn.3141480c
push 1
push 0
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
lea eax, [ebp - 0x40]
push eax
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x30]
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.31263970
lea eax, [ebp - 0x40]
push eax
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x30]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
pop edx
sub eax, edx
lea ecx, [ebp - 0x48]
mov edx, 1
call fcn.3123aa68
lea eax, [ebp - 0x48]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebx + 0x54]
call fcn.31416e50
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
mov edx, 0x313f8828
lea ecx, [ebp - 0x30]
mov eax, edi
call fcn.313aeb48
push 0xcc0020
push 0
push 0
mov eax, dword [ebp - 0xc]
call fcn.3128d578
call fcn.31287ce0
push eax
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x30]
push eax
push 1
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x30]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 8]
sub edx, eax
push edx
mov eax, dword [ebx + 0x54]
mov eax, dword [eax + 0x38]
call fcn.3128d578
call fcn.31287ce0
push eax
call sub.gdi32.dll_BitBlt
lea eax, [ebp - 0xc]
call fcn.3124bdd0
dec dword [ebp - 0x10]
add dword [ebp - 0x1c], 2
sub dword [ebp - 0x14], 4
lea ecx, [ebp - 4]
mov edx, esi
mov eax, ebx
call fcn.313f8938
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x1c]
xor edx, edx
call fcn.3141428c
push eax
mov eax, dword [ebx + 0x54]
mov eax, dword [eax + 0x38]
call fcn.3128d578
mov edx, dword [ebp - 4]
pop ecx
call fcn.313b0650
mov edx, dword [ebp - 0x4c]
lea eax, [ebp - 4]
call fcn.31236e44
mov eax, dword [ebx + 0x70]
test eax, eax
je 0x313f87c0
mov edi, eax
cmp byte [edi + 0x27c], 0
jne 0x313f87a8
cmp esi, 0xffffffff
jle 0x313f87a8
mov eax, dword [edi + 0x270]
call fcn.31267274
cmp esi, eax
jge 0x313f87a8
mov eax, dword [edi + 0x270]
mov edx, esi
call fcn.312b2ef8
movzx edx, byte [eax + 0x14]
mov eax, dword [ebx + 0x70]
call fcn.313bc6d0
push eax
lea ecx, [ebp - 0x1c]
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.313f8368
jmp 0x313f87c0
xor edx, edx
mov eax, dword [ebx + 0x70]
call fcn.313bc6d0
push eax
lea ecx, [ebp - 0x1c]
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.313f8368
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x313f87e5
lea eax, [ebp - 0x4c]
call fcn.31236de0
lea eax, [ebp - 4]
call fcn.31236de0
ret