Function at 0x45c4b0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x5512ec]
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 0x45c4db
mov esi, 0x14
jmp 0x45c4e6
cmp edi, 0x14
mov eax, 0xa
cmovge esi, eax
push 0
push dword [0x5a29d0]
push 0x415
push dword [0x5a2ae4]
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 [0x5a2180], eax
call dword [sym.imp.COMCTL32.dll_ImageList_Create]
mov ebx, dword [0x5a29d0]
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 0x45c56f
call fcn.0044b6b0
push eax
push str.save_icon
push str.Could_not_locate_resource__s:__s
call fcn.0044b0b0
mov ebx, dword [ebp - 0x1c]
add esp, 0xc
xor eax, eax
jmp 0x45c5b0
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x45c59d
call fcn.0044b6b0
push eax
push str.save_icon
push str.Could_not_load_resource__s:__s
call fcn.0044b0b0
mov ebx, dword [ebp - 0x1c]
add esp, 0xc
xor eax, eax
jmp 0x45c5b0
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 [0x5a2180]
call esi
push 0
push 0x14
push 0x41e
push dword [0x5a2180]
call esi
xor eax, eax
mov dword [ebp - 0x14], 0x400
mov word [ebp - 6], ax
xorps xmm0, xmm0
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
push 1
push 0x444
push dword [0x5a2180]
movlpd qword [ebp - 0xe], xmm0
mov word [ebp - 0x10], 0x1004
call esi
push 0xcf1
call fcn.0041e970
mov ecx, dword [0x5a2180]
add esp, 4
mov edx, eax
call fcn.00459a60
push 0
push dword [0x5a29d0]
push 0x416
push dword [0x5a2ae4]
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 [0x5a250c], eax
call dword [sym.imp.COMCTL32.dll_ImageList_Create]
mov ecx, dword [ebp - 0x24]
mov edi, dword [0x5a29d0]
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 0x45c6d2
call fcn.0044b6b0
push eax
push str.hash_icon
push str.Could_not_locate_resource__s:__s
call fcn.0044b0b0
add esp, 0xc
xor eax, eax
jmp 0x45c70f
push eax
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov esi, eax
test esi, esi
jne 0x45c6fc
call fcn.0044b6b0
push eax
push str.hash_icon
push str.Could_not_load_resource__s:__s
call fcn.0044b0b0
add esp, 0xc
xor eax, eax
jmp 0x45c70f
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 [0x5a250c]
call esi
push 0
push 0x14
push 0x41e
push dword [0x5a250c]
call esi
xor eax, eax
mov dword [ebp - 0x14], 0x401
mov word [ebp - 6], ax
xorps xmm0, xmm0
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
push 1
push 0x444
push dword [0x5a250c]
movlpd qword [ebp - 0xe], xmm0
mov word [ebp - 0x10], 0x1004
call esi
push 0xcf2
call fcn.0041e970
mov ecx, dword [0x5a250c]
add esp, 4
mov edx, eax
call fcn.00459a60
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004a8b60
mov esp, ebp
pop ebp
ret