Function at 0x480dd0
Capabilities:
Enumerate pe sections
Extract resource via kernel32 functions

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4d4236
push eax
mov dword fs:[0], esp
sub esp, 0x148
push ebx
push ebp
push esi
mov esi, ecx
xor ebx, ebx
push edi
cmp dword [esi + 0xc0], ebx
jne 0x480e02
xor eax, eax
jmp 0x481249
call fcn.004cf907
mov edi, dword [eax + 0xc]
xor eax, eax
mov ax, word [esi + 0xc0]
push 0xf1
push eax
push edi
mov dword [esp + 0x40], edi
call dword [sym.imp.KERNEL32.dll_FindResourceA]
cmp eax, ebx
jne 0x480e2f
xor eax, eax
jmp 0x481249
push eax
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
cmp eax, ebx
jne 0x480e42
xor eax, eax
jmp 0x481249
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov edi, eax
cmp edi, ebx
jne 0x480e56
xor eax, eax
jmp 0x481249
xor ecx, ecx
mov cx, word [edi + 6]
shl ecx, 2
push ecx
call fcn.004bd49b
add esp, 4
cmp word [edi + 6], bx
mov ebp, eax
mov dword [esp + 0x10], ebx
jbe 0x480e9c
mov ecx, ebp
lea eax, [edi + 8]
xor edx, edx
add ecx, 4
mov dx, word [eax]
add eax, 2
mov dword [ecx - 4], edx
mov edx, dword [esp + 0x10]
inc edx
mov dword [esp + 0x10], edx
xor edx, edx
mov dx, word [edi + 6]
cmp dword [esp + 0x10], edx
jl 0x480e79
xor eax, eax
mov ecx, esi
mov ax, word [edi + 6]
push eax
push ebp
call fcn.004cfe4e
push ebp
mov dword [esp + 0x1c], eax
call fcn.004bd4c4
mov eax, dword [esp + 0x1c]
add esp, 4
cmp eax, ebx
je 0x480ef2
xor eax, eax
xor ecx, ecx
mov ax, word [edi + 4]
mov cx, word [edi + 2]
push eax
push ecx
lea edx, [eax + 7]
lea edi, [ecx + 7]
push edx
push edi
mov ecx, esi
call fcn.004cfc64
xor ecx, ecx
mov cx, word [esi + 0xc0]
push ecx
mov ecx, esi
call fcn.004cfd4e
cmp eax, ebx
jne 0x480ef9
xor eax, eax
jmp 0x481249
mov edx, dword [esi + 0x1c]
push ebx
push ebx
push 0x418
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [esi + 0x9c], eax
mov eax, dword [esi + 0xbc]
push eax
call fcn.004bd4c4
mov edi, dword [esi + 0x9c]
lea eax, [edi + edi*4]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.004bd49b
mov edx, eax
add esp, 8
cmp edx, ebx
je 0x480f5d
dec edi
cmp edi, ebx
jl 0x480f5f
lea eax, [edi + edi*4 + 5]
mov edi, edx
lea ecx, [eax + eax*4]
xor eax, eax
shl ecx, 2
mov ebp, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, ebp
and ecx, 3
rep stosb byte es:[edi], al
jmp 0x480f5f
xor edx, edx
mov eax, dword [esi + 0x9c]
mov dword [esi + 0xbc], edx
cmp eax, ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x10], ebx
jle 0x4811a2
xor ebp, ebp
jmp 0x480f81
xor ebx, ebx
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x18]
push edx
push eax
push ecx
mov ecx, esi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], ebx
call fcn.004c6da6
mov ecx, 8
xor eax, eax
lea edi, [esp + 0x38]
lea edx, [esp + 0x38]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x1c]
push edx
push eax
push 0x441
push ecx
mov dword [esp + 0x48], 0x20
mov dword [esp + 0x4c], 0xc
call dword [sym.imp.USER32.dll_SendMessageA]
mov dl, byte [0x4f55a8]
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x59]
mov byte [esp + 0x58], dl
mov edx, dword [esp + 0x34]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x14]
push 0x100
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x5c]
mov dword [esp + 0x1c], ebx
push eax
push ecx
push edx
call dword [sym.imp.USER32.dll_LoadStringA]
lea eax, [esp + 0x58]
push 0x4edc4c
push eax
call fcn.004aa9bd
push 0x4edc4c
push ebx
call fcn.004aa9bd
push 0x4edc4c
push ebx
mov dword [esp + 0x40], eax
call fcn.004aa9bd
push 0x4edc4c
push ebx
mov edi, eax
call fcn.004aa9bd
add esp, 0x20
mov ebx, eax
test edi, edi
je 0x481094
push 0x48
push edi
call fcn.004a8f30
add esp, 8
test eax, eax
je 0x48106c
mov dword [esp + 0x18], 1
push 0x44
push edi
call fcn.004a8f30
add esp, 8
test eax, eax
je 0x481080
or byte [esp + 0x49], 8
push 0x52
push edi
call fcn.004a8f30
add esp, 8
test eax, eax
je 0x481094
or byte [esp + 0x49], 6
mov edi, dword [esp + 0x28]
test ebx, ebx
jne 0x48109e
mov ebx, edi
mov edx, dword [esp + 0x14]
mov eax, dword [esi + 0x1c]
lea ecx, [esp + 0x38]
mov dword [esp + 0x3c], 0xc
push ecx
push edx
push 0x442
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
test ebx, ebx
je 0x4810da
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x4810da
mov ecx, dword [esp + 0x10]
push ebx
push ecx
mov ecx, esi
call fcn.004c6ead
mov edx, dword [esi + 0xbc]
mov eax, dword [esp + 0x1c]
mov dword [edx + ebp], eax
mov ecx, dword [esi + 0xbc]
mov edx, dword [esp + 0x14]
mov dword [ecx + ebp + 4], edx
mov eax, dword [esi + 0xbc]
mov byte [eax + ebp + 8], 4
mov ecx, dword [esi + 0xbc]
mov dl, byte [esp + 0x49]
xor eax, eax
mov byte [ecx + ebp + 9], dl
mov ecx, dword [esp + 0x18]
test ecx, ecx
mov ecx, dword [esi + 0xbc]
setne al
mov dword [ecx + ebp + 0xc], eax
mov edx, dword [esi + 0xbc]
test edi, edi
mov dword [edx + ebp + 0x10], 0
je 0x48114b
mov eax, dword [esi + 0xbc]
push 0x28
push edi
lea ecx, [eax + ebp + 0x3c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
jmp 0x481156
mov edx, dword [esi + 0xbc]
mov byte [edx + ebp + 0x3c], 0
test ebx, ebx
je 0x481170
mov eax, dword [esi + 0xbc]
push 0x28
push ebx
lea ecx, [eax + ebp + 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
jmp 0x48117b
mov edx, dword [esi + 0xbc]
mov byte [edx + ebp + 0x14], 0
test byte [esp + 0x49], 1
jne 0x481186
inc dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x9c]
inc eax
add ebp, 0x64
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x480f7f
xor ebx, ebx
mov edi, dword [esi + 0x9c]
dec edi
cmp edi, ebx
jle 0x4811dc
lea eax, [edi + edi*4]
lea ebp, [eax + eax*4]
shl ebp, 2
mov eax, dword [esi + 0xbc]
test byte [eax + ebp + 0xc], 1
je 0x4811d4
mov ecx, dword [esi + 0x1c]
push ebx
push edi
push 0x416
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
dec edi
sub ebp, 0x64
cmp edi, ebx
jg 0x4811b6
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], vtable.CFont.0
push 0x11
mov dword [esp + 0x164], ebx
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call fcn.004c3d42
mov ebx, dword [esp + 0x24]
lea eax, [esp + 0x20]
mov edx, dword [esi + 0x1c]
push 1
neg eax
sbb eax, eax
and eax, ebx
push eax
push 0x30
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, esi
call fcn.00481480
mov ecx, esi
call fcn.004817a0
mov dword [esp + 0x20], vtable.CGdiObject.0
lea ecx, [esp + 0x20]
mov dword [esp + 0x160], 1
call fcn.004c3dae
mov eax, 1
mov ecx, dword [esp + 0x158]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x154
ret