Function at 0x40f260
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44999b
mov eax, dword fs:[0]
push eax
sub esp, 0x290
mov eax, dword [0x469070]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, edx
mov dword [ebp - 0x280], eax
mov esi, ecx
mov ebx, dword [0x46b2f0]
mov edi, dword [ebp + 0xc]
push 0xf1
movzx eax, ax
push eax
push ebx
mov dword [ebp - 0x28c], ebx
call dword [sym.imp.KERNEL32.dll_FindResourceW]
test eax, eax
jne 0x40f2c2
xor eax, eax
jmp 0x40f542
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
je 0x40f2bb
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov ebx, eax
test ebx, ebx
je 0x40f2bb
movzx eax, word [ebx + 6]
mov dword [ebp - 0x294], eax
mov dword [ebp - 0x27c], 0
push eax
lea ecx, [ebp - 0x27c]
mov dword [ebp - 4], 0
call fcn.0040f210
mov dword [ebp - 0x290], eax
test eax, eax
je 0x40f525
xor ecx, ecx
xor edx, edx
mov dword [ebp - 0x284], ecx
cmp cx, word [ebx + 6]
jae 0x40f377
add eax, 8
cmp word [ebx + edx*2 + 8], 0
je 0x40f344
mov dword [eax - 8], ecx
inc ecx
mov dword [ebp - 0x284], ecx
movzx ecx, word [ebx + edx*2 + 8]
mov dword [eax - 4], ecx
mov word [eax], 4
jmp 0x40f357
mov dword [eax - 8], 8
mov dword [eax - 4], 0
mov word [eax], 0x100
mov dword [eax + 8], 0
inc edx
mov dword [eax + 4], 0
add eax, 0x14
movzx ecx, word [ebx + 6]
cmp edx, ecx
mov ecx, dword [ebp - 0x284]
jl 0x40f323
push 0
push dword [0x46b2ec]
push 0xe800
push esi
push 0x64
push 0x64
push 0
push 0
push edi
push 0
push 0x45cf54
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov edi, eax
test edi, edi
je 0x40f525
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0x14
push 0x41e
push edi
call esi
push 0
push 0
push 0x31
push edi
call esi
mov esi, eax
test esi, esi
jne 0x40f3d2
push 0xd
call dword [sym.imp.GDI32.dll_GetStockObject]
mov esi, eax
push 0x5c
lea eax, [ebp - 0x74]
push 0
push eax
call fcn.0042c5c0
add esp, 0xc
lea eax, [ebp - 0x74]
push eax
push 0x5c
push esi
call dword [sym.imp.GDI32.dll_GetObjectW]
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x280]
mov esi, dword [0x46b2f0]
cdq
xor eax, edx
sub eax, edx
movzx eax, ax
mov dword [ebp - 0x288], eax
push 2
movzx eax, cx
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindResourceW]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
movzx ecx, word [eax + 0xe]
cmp ecx, 4
jbe 0x40f46e
push 0x2040
or edx, 0xffffffff
mov eax, 0xff000000
cmp ecx, 0x20
mov ecx, dword [ebp - 0x280]
push 0
cmove eax, edx
push eax
movzx eax, word [ebx + 2]
push 1
push eax
movzx eax, cx
push eax
push dword [0x46b2f0]
call dword [sym.imp.COMCTL32.dll_ImageList_LoadImageW]
push eax
push 0
push 0x430
jmp 0x40f4a2
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x29c], eax
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x298], 0
mov dword [ebp - 0x298], eax
lea eax, [ebp - 0x29c]
push eax
push dword [ebp - 0x284]
push 0x413
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push edi
call esi
push dword [ebp - 0x290]
push dword [ebp - 0x294]
push 0x444
push edi
call esi
movzx ecx, word [ebx + 4]
mov eax, dword [ebp - 0x288]
cmp cx, ax
jbe 0x40f4d2
mov eax, ecx
jmp 0x40f4d5
movzx eax, ax
movzx ecx, ax
movzx eax, word [ebx + 2]
shl ecx, 0x10
or ecx, eax
push ecx
push 0
push 0x420
push edi
call esi
movzx ecx, word [ebx + 4]
mov eax, dword [ebp - 0x288]
cmp cx, ax
jbe 0x40f4ff
mov eax, ecx
jmp 0x40f502
movzx eax, ax
add eax, 7
movzx ecx, ax
mov ax, word [ebx + 2]
add ax, 7
shl ecx, 0x10
movzx eax, ax
or ecx, eax
push ecx
push 0
push 0x41f
push edi
call esi
jmp 0x40f527
xor edi, edi
lea eax, [ebp - 0x278]
cmp dword [ebp - 0x27c], eax
je 0x40f540
lea ecx, [ebp - 0x27c]
call fcn.0040d280
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00429d08
mov esp, ebp
pop ebp
ret