Function at 0x40c50d
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28c
mov eax, dword [0x42e07c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [0x4306e8]
push esi
push edi
mov dword [ebp - 0x284], eax
movzx eax, ax
push 0xf1
push eax
push ebx
mov esi, ecx
mov dword [ebp - 0x280], ebx
mov dword [ebp - 0x274], eax
call dword [sym.imp.KERNEL32.dll_FindResourceW]
xor edi, edi
cmp eax, edi
jne 0x40c55d
xor eax, eax
jmp 0x40c832
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_LoadResource]
cmp eax, edi
je 0x40c556
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov ebx, eax
cmp ebx, edi
je 0x40c556
movzx eax, word [ebx + 6]
push 0x14
push eax
mov dword [ebp - 0x288], eax
mov dword [ebp - 0x264], edi
call fcn.00413e63
pop ecx
pop ecx
cmp eax, 0x200
jbe 0x40c5ac
push eax
lea eax, [ebp - 0x264]
push eax
call fcn.00412c7c
mov eax, dword [ebp - 0x264]
jmp 0x40c5b8
lea eax, [ebp - 0x260]
mov dword [ebp - 0x264], eax
mov dword [ebp - 0x28c], eax
cmp eax, edi
jne 0x40c5dc
lea eax, [ebp - 0x260]
test eax, eax
je 0x40c556
lea eax, [ebp - 0x264]
call fcn.0040e312
jmp 0x40c556
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0x270], edi
cmp dx, word [ebx + 6]
jae 0x40c635
add eax, 8
cmp word [ebx + ecx*2 + 8], di
je 0x40c614
mov edx, dword [ebp - 0x270]
inc dword [ebp - 0x270]
mov dword [eax - 8], edx
movzx edx, word [ebx + ecx*2 + 8]
mov dword [eax - 4], edx
mov word [eax], 4
jmp 0x40c623
mov dword [eax - 8], 8
mov dword [eax - 4], edi
mov word [eax], pe_nt_image_headers32
mov dword [eax + 8], edi
mov dword [eax + 4], edi
movzx edx, word [ebx + 6]
inc ecx
add eax, 0x14
cmp ecx, edx
jl 0x40c5ef
push edi
push dword [0x4306e4]
push 0xe800
push esi
push 0x64
push 0x64
push edi
push edi
push 0x5600094c
push edi
push str.ToolbarWindow32
push edi
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [ebp - 0x26c], eax
cmp eax, edi
jne 0x40c675
lea eax, [ebp - 0x260]
cmp dword [ebp - 0x264], eax
jmp 0x40c5ca
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push edi
push 0x14
push 0x41e
push eax
call esi
push edi
push edi
push 0x31
push dword [ebp - 0x26c]
call esi
mov dword [ebp - 0x268], eax
cmp eax, edi
jne 0x40c6aa
push 0xd
call dword [sym.imp.GDI32.dll_GetStockObject]
mov dword [ebp - 0x268], eax
push 0x58
lea eax, [ebp - 0x5c]
push edi
push eax
mov dword [ebp - 0x60], edi
call fcn.00414cd0
add esp, 0xc
lea eax, [ebp - 0x60]
push eax
push 0x5c
push dword [ebp - 0x268]
call dword [sym.imp.GDI32.dll_GetObjectW]
push dword [ebp - 0x60]
call fcn.00415e1d
pop ecx
movzx eax, ax
push 2
push dword [ebp - 0x274]
mov dword [ebp - 0x268], eax
mov eax, dword [0x4306e8]
push eax
mov dword [ebp - 0x278], eax
call dword [sym.imp.KERNEL32.dll_FindResourceW]
push eax
push dword [ebp - 0x278]
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
movzx eax, word [eax + 0xe]
cmp eax, 4
jbe 0x40c755
mov ecx, 0xff000000
cmp eax, 0x20
jne 0x40c724
or ecx, 0xffffffff
movzx eax, word [ebx + 2]
push 0x2040
push edi
push ecx
push 1
push eax
push dword [ebp - 0x274]
push dword [0x4306e8]
call dword [sym.imp.COMCTL32.dll_ImageList_LoadImageW]
push eax
push edi
push 0x430
push dword [ebp - 0x26c]
call esi
jmp 0x40c792
xor eax, eax
lea edi, [ebp - 0x278]
stosd dword es:[edi], eax
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x27c], eax
mov eax, dword [ebp - 0x284]
mov dword [ebp - 0x278], eax
lea eax, [ebp - 0x27c]
push eax
push dword [ebp - 0x270]
push 0x413
push dword [ebp - 0x26c]
call esi
xor edi, edi
push dword [ebp - 0x28c]
push dword [ebp - 0x288]
push 0x444
push dword [ebp - 0x26c]
call esi
movzx eax, word [ebx + 4]
cmp ax, word [ebp - 0x268]
ja 0x40c7bf
movzx eax, word [ebp - 0x268]
movzx ecx, word [ebx + 2]
movzx eax, ax
shl eax, 0x10
or eax, ecx
push eax
push edi
push 0x420
push dword [ebp - 0x26c]
call esi
movzx eax, word [ebx + 4]
cmp ax, word [ebp - 0x268]
ja 0x40c7ee
movzx eax, word [ebp - 0x268]
mov cx, word [ebx + 2]
add eax, 7
movzx eax, ax
add cx, 7
movzx ecx, cx
shl eax, 0x10
or eax, ecx
push eax
push edi
push 0x41f
push dword [ebp - 0x26c]
call esi
lea eax, [ebp - 0x260]
cmp dword [ebp - 0x264], eax
je 0x40c82c
lea eax, [ebp - 0x264]
call fcn.0040e312
mov eax, dword [ebp - 0x26c]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004144e4
leave
ret