Function at 0x104f8730
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x30
mov eax, dword [esp + 0x38]
push ebx
push ebp
push esi
mov ch, byte [eax + 4]
mov cl, byte [eax]
mov bh, byte [eax + 1]
mov bl, byte [eax + 2]
movzx edx, byte [eax + 3]
mov byte [esp + 0x44], ch
mov ch, byte [eax + 5]
mov byte [esp + 0xd], ch
mov ch, byte [eax + 6]
mov al, byte [eax + 7]
mov byte [esp + 0xf], al
movzx eax, cl
and cl, 1
shr eax, 1
and eax, 0x3f
shl cl, 6
imul eax, eax, 0xff
mov byte [esp + 0xe], ch
movzx ecx, cl
push edi
add eax, 0x3f
mov dword [esp + 0x30], eax
movzx eax, bh
and bh, 1
shr eax, 1
and eax, 0x3f
shl bh, 4
or ecx, eax
imul eax, ecx, 0xff
add eax, 0x7f
mov dword [esp + 0x2c], eax
mov al, bl
and al, 3
or bh, al
movzx eax, bl
and eax, 0x18
mov bl, byte [esp + 0x12]
add bh, bh
movzx ecx, bh
or ecx, eax
mov eax, edx
shr eax, 7
or ecx, eax
imul eax, ecx, 0xff
mov cl, byte [esp + 0x48]
add eax, 0x3f
mov dword [esp + 0x28], eax
mov eax, edx
shr eax, 1
and edx, 1
and eax, 0x3e
or eax, edx
mov dl, byte [esp + 0x11]
imul eax, eax, 0xff
add eax, 0x3f
mov dword [esp + 0x20], eax
movzx eax, cl
and cl, 1
shr eax, 1
imul eax, eax, 0xff
shl cl, 5
movzx ecx, cl
add eax, 0x7f
mov dword [esp + 0x48], eax
movzx eax, dl
and dl, 7
shr eax, 3
or ecx, eax
shl dl, 3
imul ebp, ecx, 0xff
movzx eax, bl
shr eax, 5
movzx ecx, dl
or ecx, eax
imul esi, ecx, 0xff
add ebp, 0x3f
add esi, 0x3f
movzx edx, byte [esp + 0x13]
and bl, 0x1f
mov eax, edx
shl bl, 2
shr eax, 5
and edx, 0x3f
movzx ecx, bl
or ecx, eax
imul edi, edx, 0xff
mov eax, dword [esp + 0x30]
shr eax, 6
add eax, dword [esp + 0x30]
shr eax, 6
movzx ebx, al
add edi, 0x3f
mov eax, esi
imul ecx, ecx, 0xff
shr eax, 6
add eax, esi
shr eax, 6
movzx eax, al
sub ax, bx
add ecx, 0x7f
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x2c]
shr eax, 7
add eax, dword [esp + 0x2c]
shr eax, 7
movzx esi, al
mov eax, ecx
shr eax, 7
add eax, ecx
shr eax, 7
movzx eax, al
sub ax, si
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
shr eax, 6
add eax, dword [esp + 0x28]
shr eax, 6
movzx edx, al
mov eax, edi
shr eax, 6
add eax, edi
shr eax, 6
movzx eax, al
sub ax, dx
mov dword [esp + 0x3c], eax
lea eax, [ebx*4]
movzx eax, ax
mov dword [esp + 0x14], eax
lea eax, [esi*4]
movzx edi, ax
lea eax, [edx*4]
movzx eax, ax
mov dword [esp + 0x18], eax
mov eax, ebp
shr eax, 6
add eax, ebp
mov dword [esp + 0x1c], edi
shr eax, 6
movzx ecx, al
lea eax, [edx*4]
mov edx, dword [esp + 0x18]
shl cx, 2
sub cx, ax
add cx, dx
movzx eax, cx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x48]
shr eax, 7
add eax, dword [esp + 0x48]
shr eax, 7
movzx ecx, al
lea eax, [esi*4]
shl cx, 2
sub cx, ax
add cx, di
movzx eax, cx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x14]
shr eax, 6
add eax, dword [esp + 0x20]
shr eax, 6
movzx ecx, al
lea eax, [ebx*4]
shl cx, 2
sub cx, ax
mov dword [esp + 0x30], 4
add cx, bp
movzx eax, cx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x44]
lea ecx, [eax + 0xf]
lea ebx, [eax + 2]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x48], ebx
nop dword [eax]
mov eax, dword [esp + 0x28]
cwde
movsx ecx, dx
sub eax, ecx
movsx edi, di
sar eax, 2
mov esi, ecx
movsx ebp, ax
sar esi, 2
lea ecx, [esi - 0xff]
sar ecx, 0x1f
mov eax, ecx
and ecx, esi
not eax
mov esi, edi
movzx edx, al
or edx, ecx
sar esi, 2
mov eax, edx
neg eax
sar eax, 0x1f
and al, dl
lea ecx, [esi - 0xff]
mov byte [ebx - 2], al
mov eax, dword [esp + 0x24]
cwde
sub eax, edi
sar ecx, 0x1f
sar eax, 2
movsx ebx, ax
mov eax, ecx
not eax
and ecx, esi
movzx edx, al
or edx, ecx
mov ecx, dword [esp + 0x48]
mov eax, edx
neg eax
sar eax, 0x1f
and al, dl
mov edx, dword [esp + 0x14]
mov byte [ecx - 1], al
mov eax, dword [esp + 0x20]
cwde
movsx ecx, dx
sub eax, ecx
mov esi, ecx
sar eax, 2
sar esi, 2
movsx edi, ax
lea ecx, [esi - 0xff]
sar ecx, 0x1f
mov eax, ecx
and ecx, esi
not eax
movzx edx, al
or edx, ecx
mov ecx, dword [esp + 0x48]
mov eax, edx
neg eax
sar eax, 0x1f
and al, dl
mov byte [ecx + 1], 0xff
mov byte [ecx], al
mov ecx, dword [esp + 0x18]
movsx esi, cx
lea esi, [esi + ebp]
sar esi, 2
lea ecx, [esi - 0xff]
sar ecx, 0x1f
mov eax, ecx
and ecx, esi
not eax
movzx edx, al
or edx, ecx
mov ecx, dword [esp + 0x48]
mov eax, edx
neg eax
sar eax, 0x1f
and al, dl
mov byte [ecx + 2], al
mov ecx, dword [esp + 0x1c]
movsx esi, cx
lea esi, [esi + ebx]
sar esi, 2
lea ecx, [esi - 0xff]
sar ecx, 0x1f
mov eax, ecx
and ecx, esi
not eax
movzx edx, al
or edx, ecx
mov ecx, dword [esp + 0x48]
mov eax, edx
neg eax
sar eax, 0x1f
and al, dl
mov byte [ecx + 3], al
mov ecx, dword [esp + 0x14]
movsx esi, cx
lea esi, [esi + edi]
sar esi, 2
lea ecx, [esi - 0xff]
sar ecx, 0x1f
mov eax, ecx
and ecx, esi
not eax
movzx edx, al
or edx, ecx
mov ecx, dword [esp + 0x48]
mov eax, edx
neg eax
sar eax, 0x1f
and al, dl
mov byte [ecx + 5], 0xff
mov byte [ecx + 4], al
mov ecx, dword [esp + 0x18]
movsx eax, cx
lea esi, [eax + ebp*2]
sar esi, 2
lea ecx, [esi - 0xff]
sar ecx, 0x1f
mov eax, ecx
and ecx, esi
not eax
movzx edx, al
or edx, ecx
mov ecx, dword [esp + 0x48]
mov eax, edx
neg eax
sar eax, 0x1f
and al, dl
mov byte [ecx + 6], al
mov ecx, dword [esp + 0x1c]
movsx eax, cx
lea esi, [eax + ebx*2]
sar esi, 2
lea ecx, [esi - 0xff]
sar ecx, 0x1f
mov eax, ecx
and ecx, esi
not eax
movzx edx, al
or edx, ecx
mov ecx, dword [esp + 0x48]
mov eax, edx
neg eax
sar eax, 0x1f
and al, dl
mov byte [ecx + 7], al
mov ecx, dword [esp + 0x14]
movsx eax, cx
lea esi, [eax + edi*2]
sar esi, 2
lea ecx, [esi - 0xff]
sar ecx, 0x1f
mov eax, ecx
and ecx, esi
not eax
movzx edx, al
or edx, ecx
mov eax, edx
mov ecx, dword [esp + 0x48]
neg eax
sar eax, 0x1f
and al, dl
mov byte [ecx + 8], al
mov byte [ecx + 9], 0xff
mov ecx, dword [esp + 0x18]
movsx eax, cx
lea esi, [eax + ebp*2]
add esi, ebp
mov ebp, dword [esp + 0x14]
sar esi, 2
lea ecx, [esi - 0xff]
sar ecx, 0x1f
mov eax, ecx
and ecx, esi
not eax
movzx edx, al
or edx, ecx
mov ecx, dword [esp + 0x48]
mov eax, edx
neg eax
sar eax, 0x1f
and al, dl
mov byte [ecx + 0xa], al
mov ecx, dword [esp + 0x1c]
movsx eax, cx
lea esi, [eax + ebx*2]
add esi, ebx
mov ebx, dword [esp + 0x48]
sar esi, 2
lea ecx, [esi - 0xff]
sar ecx, 0x1f
mov eax, ecx
and ecx, esi
not eax
movzx edx, al
or edx, ecx
mov eax, edx
neg eax
sar eax, 0x1f
and al, dl
mov byte [ebx + 0xb], al
movsx eax, bp
lea esi, [eax + edi*2]
add esi, edi
mov edi, dword [esp + 0x1c]
sar esi, 2
lea ecx, [esi - 0xff]
sar ecx, 0x1f
mov eax, ecx
and ecx, esi
not eax
movzx edx, al
or edx, ecx
mov ecx, dword [esp + 0x2c]
mov eax, edx
neg eax
sar eax, 0x1f
and al, dl
mov byte [ecx], 0xff
mov edx, dword [esp + 0x18]
add ecx, 0x10
mov byte [ebx + 0xc], al
add ebx, 0x10
mov eax, dword [esp + 0x34]
add ebp, eax
add dword [esp + 0x20], eax
mov eax, dword [esp + 0x38]
add edi, eax
add dword [esp + 0x24], eax
mov eax, dword [esp + 0x3c]
add edx, eax
add dword [esp + 0x28], eax
sub dword [esp + 0x30], 1
mov dword [esp + 0x14], ebp
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], edx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x2c], ecx
jne 0x104f8990
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret