Function at 0x409695
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push dword [edi + 4]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x4096c8
push str.::IsWindow_m_hWnd_
push eax
push 0x256
push str.E:MyGitmylibraryPeMemoryRunPeMemoryRun2wtl_atlctrlw.h
push 2
call fcn.00415b00
add esp, 0x14
cmp eax, 1
jne 0x4096c8
int3
push esi
mov esi, dword [0xf5c948]
push 0xf1
push dword [ebp + 8]
push esi
call dword [sym.imp.KERNEL32.dll_FindResourceA]
test eax, eax
jne 0x4096e9
xor eax, eax
jmp 0x409811
push eax
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
je 0x4096e2
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov ebx, eax
test ebx, ebx
je 0x40980e
cmp word [ebx], 1
je 0x40972e
push str.pData__wVersion__1
push 0
push 0x264
push str.E:MyGitmylibraryPeMemoryRunPeMemoryRun2wtl_atlctrlw.h
push 2
call fcn.00415b00
add esp, 0x14
cmp eax, 1
jne 0x40972e
int3
movzx ecx, word [ebx + 2]
lea eax, [ebx + 8]
mov dword [ebp - 0x10], eax
movzx eax, word [ebx + 6]
mov dword [ebp - 8], eax
movzx eax, word [ebx + 4]
mov esi, edi
call fcn.00409641
xor esi, esi
cmp dword [edi + 0x48], esi
jne 0x409788
push dword [ebp + 8]
call fcn.00405463
cmp ax, 0x20
sete al
shl al, 5
xor al, byte [edi + 0x85]
pop ecx
and al, 0x20
xor byte [edi + 0x85], al
movzx eax, word [ebx + 6]
push eax
mov esi, edi
call fcn.0040ca02
test al, al
je 0x40980e
xor esi, esi
push dword [edi + 0x48]
call dword [sym.imp.COMCTL32.dll_ImageList_GetImageCount]
test byte [edi + 0x85], 0x20
mov dword [ebp - 0xc], eax
je 0x4097b6
push 0x2040
push esi
push esi
push esi
push dword [ebp + 8]
push dword [0xf5c948]
call dword [sym.imp.USER32.dll_LoadImageA]
jmp 0x4097c5
push dword [ebp + 8]
push dword [0xf5c948]
call dword [sym.imp.USER32.dll_LoadBitmapA]
mov dword [ebp - 4], eax
cmp eax, esi
jne 0x4097ee
push str.bmp.m_hBitmap___0
push esi
push 0x28a
push str.E:MyGitmylibraryPeMemoryRunPeMemoryRun2wtl_atlctrlw.h
push 2
call fcn.00415b00
add esp, 0x14
cmp eax, 1
jne 0x40980e
int3
push dword [edi + 0xa0]
push dword [ebp - 4]
push dword [edi + 0x48]
call dword [sym.imp.COMCTL32.dll_ImageList_AddMasked]
cmp eax, 0xffffffff
jne 0x409816
push dword [ebp - 4]
call dword [sym.imp.GDI32.dll_DeleteObject]
xor eax, eax
pop ebx
pop esi
leave
ret 4
mov eax, dword [ebp - 8]
cmp eax, esi
jle 0x40983a
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 8], eax
cmp word [ebx], si
je 0x409832
lea esi, [edi + 0x4c]
call fcn.00407205
xor esi, esi
add ebx, 2
dec dword [ebp - 8]
jne 0x409823
push dword [edi + 0x48]
call dword [sym.imp.COMCTL32.dll_ImageList_GetImageCount]
mov ebx, eax
cmp ebx, dword [edi + 0x50]
je 0x40987c
push str.nImageCount__m_arrCommand.GetSize__
push esi
push 0x298
push str.E:MyGitmylibraryPeMemoryRunPeMemoryRun2wtl_atlctrlw.h
push 2
call fcn.00415b00
add esp, 0x14
cmp eax, 1
jne 0x40986a
int3
cmp ebx, dword [edi + 0x50]
je 0x40987c
push dword [ebp - 4]
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, esi
jmp 0x409810
call fcn.00404649
test al, al
je 0x4098bc
mov eax, ebx
sub eax, dword [ebp - 0xc]
push eax
push dword [ebp - 0xc]
push edi
call fcn.0040ca67
cmp ebx, dword [edi + 0xb8]
je 0x4098bc
push str.nImageCount__m_arrVistaBitmap.GetSize__
push esi
push 0x2a1
push str.E:MyGitmylibraryPeMemoryRunPeMemoryRun2wtl_atlctrlw.h
push 2
call fcn.00415b00
add esp, 0x14
cmp eax, 1
jne 0x4098bc
int3
xor esi, esi
inc esi
jmp 0x40986f