Function at 0x4690b0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f9cf0
mov eax, dword fs:[0]
push eax
sub esp, 0x28c
mov eax, dword [0x53c160]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x274], ecx
mov ebx, dword [0x547960]
mov eax, dword [sym.imp.KERNEL32.DLL_FindResourceW]
push 0xf1
push 0x80
push ebx
mov dword [ebp - 0x280], ebx
mov dword [ebp - 0x288], eax
call eax
test eax, eax
je 0x4693e9
push eax
mov eax, dword [sym.imp.KERNEL32.DLL_LoadResource]
push ebx
mov dword [ebp - 0x28c], eax
call eax
test eax, eax
je 0x4693e9
push eax
mov eax, dword [sym.imp.KERNEL32.DLL_LockResource]
mov dword [ebp - 0x290], eax
call eax
mov ebx, eax
test ebx, ebx
je 0x4693e9
movzx eax, word [ebx + 6]
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x270], 0
mov ecx, 0x14
mov dword [ebp - 4], 0
mul ecx
test edx, edx
jne 0x469407
cmp eax, 0xffffffff
ja 0x469407
cmp eax, 0x200
jbe 0x46918a
push eax
lea ecx, [ebp - 0x270]
lfence
call fcn.0040dd50
jmp 0x469196
lea eax, [ebp - 0x26c]
mov dword [ebp - 0x270], eax
mov edi, dword [ebp - 0x270]
mov dword [ebp - 0x294], edi
test edi, edi
je 0x4693ca
xor esi, esi
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x278], esi
cmp ax, word [ebx + 6]
jae 0x46921a
xor edx, edx
nop
cmp word [ebx + ecx*2 + 8], 0
je 0x4691df
mov eax, esi
inc esi
mov dword [edx + edi], eax
xor al, al
mov dword [ebp - 0x278], esi
mov ah, 4
movzx esi, word [ebx + ecx*2 + 8]
jmp 0x4691ec
xor ah, ah
mov dword [edx + edi], 8
mov al, 1
xor esi, esi
mov dword [edx + edi + 4], esi
inc ecx
mov esi, dword [ebp - 0x278]
mov byte [edx + edi + 8], ah
mov byte [edx + edi + 9], al
mov dword [edx + edi + 0xc], 0
mov dword [edx + edi + 0x10], 0
add edx, 0x14
movzx eax, word [ebx + 6]
cmp ecx, eax
jl 0x4691c0
push 0
push dword [0x54795c]
push 0xe800
push dword [ebp - 0x274]
push 0x64
push 0x64
push 0
push 0
push 0x5600094c
push 0
push str.ToolbarWindow32
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov edi, eax
test edi, edi
je 0x4693ca
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 0x46927e
push 0xd
call dword [sym.imp.GDI32.dll_GetStockObject]
mov esi, eax
push 0x5c
lea eax, [ebp - 0x6c]
push 0
push eax
call fcn.004c6130
add esp, 0xc
lea eax, [ebp - 0x6c]
push eax
push 0x5c
push esi
call dword [sym.imp.GDI32.dll_GetObjectW]
mov eax, dword [ebp - 0x6c]
mov esi, dword [0x547960]
cdq
xor eax, edx
sub eax, edx
push 2
movzx eax, ax
push 0x80
mov ecx, eax
mov dword [ebp - 0x274], eax
push esi
mov dword [ebp - 0x27c], ecx
call dword [ebp - 0x288]
push eax
push esi
call dword [ebp - 0x28c]
push eax
call dword [ebp - 0x290]
movzx edx, word [eax + 0xe]
cmp edx, 4
jbe 0x469318
movzx ecx, word [ebx + 2]
or eax, 0xffffffff
push 0x2040
push 0
cmp edx, 0x20
mov esi, 0xff000000
cmovne eax, esi
push eax
push 1
push ecx
push 0x80
push dword [0x547960]
call dword [sym.imp.COMCTL32.dll_ImageList_LoadImageW]
push eax
push 0
push 0x430
jmp 0x469340
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x284], eax
lea eax, [ebp - 0x284]
push eax
push dword [ebp - 0x278]
mov dword [ebp - 0x280], 0x80
push 0x413
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push edi
call esi
push dword [ebp - 0x294]
push dword [ebp - 0x298]
push 0x444
push edi
call esi
movzx ecx, word [ebx + 4]
cmp cx, word [ebp - 0x274]
mov edx, ecx
mov eax, dword [ebp - 0x27c]
movzx eax, ax
cmovbe edx, eax
movzx eax, word [ebx + 2]
movzx ecx, dx
shl ecx, 0x10
or ecx, eax
push ecx
push 0
push 0x420
push edi
call esi
movzx ecx, word [ebx + 4]
cmp cx, word [ebp - 0x274]
mov edx, ecx
mov eax, dword [ebp - 0x27c]
movzx eax, ax
cmovbe edx, eax
mov ax, word [ebx + 2]
add dx, 7
add ax, 7
movzx ecx, dx
shl ecx, 0x10
movzx eax, ax
or ecx, eax
push ecx
push 0
push 0x41f
push edi
call esi
jmp 0x4693cc
xor edi, edi
lea eax, [ebp - 0x26c]
cmp dword [ebp - 0x270], eax
je 0x4693e5
lea ecx, [ebp - 0x270]
call fcn.0040dd30
mov eax, edi
jmp 0x4693eb
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004c3ba1
mov esp, ebp
pop ebp
ret
push 0x80070216
lfence
call fcn.00407080
int3