Function at 0x403ab0
Capabilities:
Extract resource via kernel32 functions
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x455286
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x260
mov eax, dword [0x46c118]
push ebx
push ebp
push esi
mov esi, dword [eax + 8]
mov eax, dword [esp + 0x280]
push edi
and eax, 0xffff
push 0xf1
push eax
push esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x20], eax
call dword [sym.imp.KERNEL32.dll_FindResourceA]
xor edi, edi
cmp eax, edi
jne 0x403b05
xor eax, eax
jmp 0x403dcf
push eax
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
cmp eax, edi
jne 0x403b18
xor eax, eax
jmp 0x403dcf
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov ebx, eax
cmp ebx, edi
jne 0x403b2c
xor eax, eax
jmp 0x403dcf
mov ebp, dword [esp + 0x288]
xor ecx, ecx
cmp ebp, edi
setne cl
xor eax, eax
mov esi, ecx
mov ax, word [ebx + 6]
mov dword [esp + 0x6c], edi
add eax, esi
mov dword [esp + 0x2c], eax
lea eax, [eax + eax*4]
mov dword [esp + 0x278], edi
shl eax, 2
cmp eax, 0x200
jbe 0x403b6b
push eax
call fcn.004287e7
add esp, 4
jmp 0x403b6f
lea eax, [esp + 0x70]
cmp eax, edi
mov dword [esp + 0x6c], eax
mov dword [esp + 0x20], eax
jne 0x403b97
lea edx, [esp + 0x70]
test edx, edx
je 0x403c60
push edi
call fcn.004286fe
add esp, 4
xor eax, eax
jmp 0x403dcf
cmp ebp, edi
je 0x403bb2
mov dword [eax], 4
mov dword [eax + 4], edi
mov byte [eax + 8], 0
mov byte [eax + 9], 1
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], edi
xor ebp, ebp
xor edx, edx
cmp word [ebx + 6], di
mov dword [esp + 0x10], ebp
jbe 0x403c10
lea esi, [esi + esi*4]
lea ecx, [ebx + 8]
lea eax, [eax + esi*4 + 8]
cmp word [ecx], di
je 0x403be4
mov dword [eax - 8], ebp
inc ebp
xor esi, esi
mov si, word [ecx]
mov dword [eax - 4], esi
mov byte [eax], 4
mov byte [eax + 1], 0
jmp 0x403bf5
mov dword [eax - 8], 8
mov dword [eax - 4], edi
mov byte [eax], 0
mov byte [eax + 1], 1
mov dword [eax + 4], edi
xor esi, esi
mov dword [eax + 8], edi
mov si, word [ebx + 6]
inc edx
add ecx, 2
add eax, 0x14
cmp edx, esi
jl 0x403bca
mov dword [esp + 0x10], ebp
mov eax, dword [0x46c118]
mov ecx, dword [esp + 0x290]
mov edx, dword [esp + 0x280]
push edi
mov eax, dword [eax + 4]
push eax
mov eax, dword [esp + 0x294]
push ecx
push edx
push 0x64
push 0x64
push edi
push edi
push eax
push edi
push str.ToolbarWindow32
push edi
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov esi, eax
cmp esi, edi
jne 0x403c67
mov eax, dword [esp + 0x6c]
lea ecx, [esp + 0x70]
cmp eax, ecx
je 0x403c60
push eax
call fcn.004286fe
add esp, 4
xor eax, eax
jmp 0x403dcf
mov ebp, dword [sym.imp.USER32.dll_SendMessageA]
push edi
push 0x14
push 0x41e
push esi
call ebp
push edi
push edi
push 0x31
push esi
call ebp
mov edx, eax
mov dword [esp + 0x28], edx
cmp eax, edi
mov byte [esp + 0x278], 1
jne 0x403c9f
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
mov edx, eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x30], edi
mov ecx, 0xe
xor eax, eax
lea edi, [esp + 0x34]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x30]
push eax
push 0x3c
push edx
call dword [sym.imp.GDI32.dll_GetObjectA]
mov eax, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], esp
cdq
mov edi, eax
mov eax, esp
xor edi, edx
sub edi, edx
mov dword [eax], ecx
call fcn.00403df0
add esp, 4
cmp ax, 4
jbe 0x403d22
cmp ax, 0x20
mov ecx, 0xff000000
jne 0x403cf2
or ecx, 0xffffffff
mov edx, dword [0x46c118]
push 0x2040
push 0
push ecx
mov eax, dword [edx + 8]
mov edx, dword [esp + 0x20]
xor ecx, ecx
push 1
mov cx, word [ebx + 2]
push ecx
push edx
push eax
call dword [sym.imp.COMCTL32.dll_ImageList_LoadImageA]
push eax
push 0
push 0x430
jmp 0x403d4c
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x284]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x18]
mov dword [esp + 0x1c], 0
push edx
push eax
mov dword [esp + 0x24], ecx
push 0x413
push esi
call ebp
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x2c]
push ecx
push edx
push 0x414
push esi
call ebp
mov ax, word [ebx + 4]
cmp ax, di
ja 0x403d6c
mov eax, edi
and eax, 0xffff
xor ecx, ecx
mov cx, word [ebx + 2]
shl eax, 0x10
or eax, ecx
push eax
push 0
push 0x420
push esi
call ebp
mov ax, word [ebx + 4]
cmp ax, di
ja 0x403d92
mov eax, edi
mov dx, word [ebx + 2]
add eax, 7
and eax, 0xffff
add dx, 7
shl eax, 0x10
and edx, 0xffff
or eax, edx
push eax
push 0
push 0x41f
push esi
call ebp
mov eax, dword [esp + 0x6c]
lea ecx, [esp + 0x70]
cmp eax, ecx
je 0x403dcd
push eax
call fcn.004286fe
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x270]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x26c
ret