Function at 0x44f540
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x4f22ec]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x31
xor esi, esi
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov edi, eax
cmp edi, 0x1c
jl 0x44f56b
mov esi, 0x14
jmp 0x44f576
cmp edi, 0x14
mov eax, 0xa
cmovge esi, eax
push 0
push dword [0x542fb0]
push 0x415
push dword [0x5430c4]
push 0
push 0
push 0
push 0
push 0x56011958
push 0
push str.ToolbarWindow32
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
push 0
push 1
push 0x22020
push edi
push edi
mov dword [0x542760], eax
call dword [sym.imp.COMCTL32.dll_ImageList_Create]
mov ebx, dword [0x542fb0]
mov dword [ebp - 0x1c], eax
movzx eax, si
push 0xa
mov dword [ebp - 0x24], eax
lea ecx, [eax + 0x7d]
movzx ecx, cx
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov esi, eax
test esi, esi
jne 0x44f5ff
call fcn.00440bb0
push eax
push str.save_icon
push str.Could_not_locate_resource__s:__s
call fcn.004407e0
mov ebx, dword [ebp - 0x1c]
add esp, 0xc
xor eax, eax
jmp 0x44f640
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x44f62d
call fcn.00440bb0
push eax
push str.save_icon
push str.Could_not_load_resource__s:__s
call fcn.004407e0
mov ebx, dword [ebp - 0x1c]
add esp, 0xc
xor eax, eax
jmp 0x44f640
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push dword [ebp - 0x20]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push 0
push 0
push 0
push 0x30000
push 1
push ebx
push eax
call dword [sym.imp.USER32.dll_CreateIconFromResourceEx]
mov esi, eax
push esi
push 0xffffffffffffffff
push dword [ebp - 0x1c]
call dword [sym.imp.COMCTL32.dll_ImageList_ReplaceIcon]
push esi
call dword [sym.imp.USER32.dll_DestroyIcon]
push dword [ebp - 0x1c]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0x430
push dword [0x542760]
call esi
push 0
push 0x14
push 0x41e
push dword [0x542760]
call esi
xor eax, eax
mov dword [ebp - 0xe], 0
mov word [ebp - 6], ax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
push 1
push 0x444
push dword [0x542760]
mov dword [ebp - 0xa], 0
mov dword [ebp - 0x14], 0x400
mov word [ebp - 0x10], 0x1004
call esi
push 0xcf1
call fcn.0041afe0
mov ecx, dword [0x542760]
add esp, 4
mov edx, eax
call fcn.0044cdf0
push 0
push dword [0x542fb0]
push 0x416
push dword [0x5430c4]
push 0
push 0
push 0
push 0
push 0x56011958
push 0
push str.ToolbarWindow32
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
push 0
push 1
push 0x22020
push edi
push edi
mov dword [0x542aec], eax
call dword [sym.imp.COMCTL32.dll_ImageList_Create]
mov ecx, dword [ebp - 0x24]
mov edi, dword [0x542fb0]
add ecx, 0x7e
push 0xa
movzx ecx, cx
push ecx
push edi
mov dword [ebp - 0x20], eax
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x44f768
call fcn.00440bb0
push eax
push str.hash_icon
push str.Could_not_locate_resource__s:__s
call fcn.004407e0
add esp, 0xc
xor eax, eax
jmp 0x44f7a5
push eax
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov esi, eax
test esi, esi
jne 0x44f792
call fcn.00440bb0
push eax
push str.hash_icon
push str.Could_not_load_resource__s:__s
call fcn.004407e0
add esp, 0xc
xor eax, eax
jmp 0x44f7a5
push dword [ebp - 0x24]
push edi
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push esi
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push 0
push 0
push 0
push 0x30000
push 1
push ebx
push eax
call dword [sym.imp.USER32.dll_CreateIconFromResourceEx]
mov edi, dword [ebp - 0x20]
mov esi, eax
push esi
push 0xffffffffffffffff
push edi
call dword [sym.imp.COMCTL32.dll_ImageList_ReplaceIcon]
push esi
call dword [sym.imp.USER32.dll_DestroyIcon]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push edi
push 0
push 0x430
push dword [0x542aec]
call esi
push 0
push 0x14
push 0x41e
push dword [0x542aec]
call esi
xor eax, eax
mov dword [ebp - 0xe], 0
mov word [ebp - 6], ax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
push 1
push 0x444
push dword [0x542aec]
mov dword [ebp - 0xa], 0
mov dword [ebp - 0x14], 0x401
mov word [ebp - 0x10], 0x1004
call esi
push 0xcf2
call fcn.0041afe0
mov ecx, dword [0x542aec]
add esp, 4
mov edx, eax
call fcn.0044cdf0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00491940
mov esp, ebp
pop ebp
ret