Function at 0x404cd0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42e41b
mov eax, dword fs:[0]
push eax
sub esp, 0x290
mov eax, dword [0x43a204]
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 eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x14]
mov ebx, dword [0x43b35c]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x27c], eax
push 0xf1
movzx eax, ax
push eax
mov dword [ebp - 0x298], ecx
mov ecx, dword [ebp + 0x18]
push ebx
mov dword [ebp - 0x290], ecx
mov dword [ebp - 0x288], ebx
call dword [sym.imp.KERNEL32.dll_FindResourceW]
test eax, eax
jne 0x404d60
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.00413a6c
mov esp, ebp
pop ebp
ret
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
je 0x404d42
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov ebx, eax
mov dword [ebp - 0x284], ebx
test ebx, ebx
je 0x404d42
mov esi, dword [ebp + 0x10]
xor ecx, ecx
movzx eax, word [ebx + 6]
test esi, esi
mov dword [ebp - 0x270], 0
setne cl
add eax, ecx
mov dword [ebp - 0x278], ecx
mov dword [ebp - 0x29c], eax
mov edx, 0x14
mov dword [ebp - 4], 0
mul edx
test edx, edx
ja 0x405098
jb 0x404dc6
cmp eax, 0xffffffff
ja 0x405098
cmp eax, 0x200
jbe 0x404de7
push eax
lea ecx, [ebp - 0x270]
call fcn.00404250
mov edi, dword [ebp - 0x270]
mov ecx, dword [ebp - 0x278]
jmp 0x404df3
lea edi, [ebp - 0x26c]
mov dword [ebp - 0x270], edi
mov dword [ebp - 0x274], edi
test edi, edi
je 0x40507a
test esi, esi
je 0x404e26
mov dword [edi], 4
mov dword [edi + 4], 0
mov word [edi + 8], 0x100
mov dword [edi + 0xc], 0
mov dword [edi + 0x10], 0
xor eax, eax
mov dword [ebp - 0x280], 0
xor edx, edx
cmp ax, word [ebx + 6]
jae 0x404e9c
lea eax, [ecx*4 + 2]
add eax, ecx
lea eax, [edi + eax*4]
xor edi, edi
cmp word [ebx + edx*2 + 8], 0
je 0x404e63
mov dword [eax - 8], edi
inc edi
movzx ecx, word [ebx + edx*2 + 8]
mov dword [eax - 4], ecx
mov word [eax], 4
jmp 0x404e76
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
jl 0x404e48
mov dword [ebp - 0x280], edi
mov edi, dword [ebp - 0x274]
push 0
push dword [0x43b358]
push dword [ebp - 0x290]
push dword [ebp - 0x294]
push 0x64
push 0x64
push 0
push 0
push dword [ebp - 0x298]
push 0
push str.ToolbarWindow32
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov ebx, eax
test ebx, ebx
je 0x405074
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0x14
push 0x41e
push ebx
call esi
push 0
push 0
push 0x31
push ebx
call esi
mov esi, eax
test esi, esi
jne 0x404f02
push 0xd
call dword [sym.imp.GDI32.dll_GetStockObject]
mov esi, eax
push 0x5c
lea eax, [ebp - 0x6c]
push 0
push eax
call fcn.00415b10
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 [0x43b35c]
cdq
xor eax, edx
sub eax, edx
movzx eax, ax
mov ecx, eax
mov dword [ebp - 0x278], eax
mov dword [ebp - 0x274], ecx
mov ecx, dword [ebp - 0x27c]
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 0x404fb4
mov esi, dword [ebp - 0x284]
or eax, 0xffffffff
push 0x2040
push 0
cmp ecx, 0x20
mov edx, 0xff000000
mov ecx, dword [ebp - 0x27c]
cmovne eax, edx
push eax
movzx eax, word [esi + 2]
push 1
push eax
movzx eax, cx
push eax
push dword [0x43b35c]
call dword [sym.imp.COMCTL32.dll_ImageList_LoadImageW]
push eax
mov eax, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0x430
push ebx
call eax
jmp 0x404fec
mov eax, dword [ebp - 0x288]
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x27c]
mov dword [ebp - 0x288], eax
lea eax, [ebp - 0x28c]
push eax
push dword [ebp - 0x280]
mov eax, dword [sym.imp.USER32.dll_SendMessageW]
push 0x413
push ebx
call eax
mov esi, dword [ebp - 0x284]
push edi
push dword [ebp - 0x29c]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push 0x444
push ebx
call edi
movzx ecx, word [esi + 4]
cmp cx, word [ebp - 0x278]
mov edx, ecx
mov eax, dword [ebp - 0x274]
movzx eax, ax
cmovbe edx, eax
movzx eax, word [esi + 2]
movzx ecx, dx
shl ecx, 0x10
or ecx, eax
push ecx
push 0
push 0x420
push ebx
call edi
movzx ecx, word [esi + 4]
cmp cx, word [ebp - 0x278]
mov edx, ecx
mov eax, dword [ebp - 0x274]
movzx eax, ax
cmovbe edx, eax
mov ax, word [esi + 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 ebx
call edi
mov edi, dword [ebp - 0x270]
jmp 0x40507c
mov edi, dword [ebp - 0x270]
xor ebx, ebx
lea eax, [ebp - 0x26c]
cmp edi, eax
je 0x405091
lea ecx, [ebp - 0x270]
call fcn.00405880
mov eax, ebx
jmp 0x404d44
push 0x80070216
call fcn.00404590
int3