Function at 0x100fd90c
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x30
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x48]
mov dword [esp + 8], ecx
mov ebx, 0xffffffb8
mov dword [esp], edx
lea ecx, [eax + eax]
sub esi, ecx
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
movzx ebp, byte [esi + 2]
add edx, ecx
lea ecx, [edx + edx*4]
movzx edx, byte [esi - 1]
add ebp, edx
lea edx, [ebp + ebp*4]
movzx ebp, byte [esi - 2]
neg edx
lea ecx, [ebp + ecx*4]
movzx ebp, byte [esi + 3]
add ecx, edx
mov edx, dword [esp]
add ecx, ebp
mov word [edx + ebx + 0x48], cx
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
movzx ebp, byte [esi + 3]
add edx, ecx
lea ecx, [edx + edx*4]
movzx edx, byte [esi]
add ebp, edx
lea edx, [ebp + ebp*4]
movzx ebp, byte [esi - 1]
neg edx
lea ecx, [ebp + ecx*4]
movzx ebp, byte [esi + 4]
add ecx, edx
mov edx, dword [esp]
add ecx, ebp
mov word [edx + ebx + 0x4a], cx
movzx ecx, byte [esi + 2]
movzx edx, byte [esi + 3]
movzx ebp, byte [esi + 4]
add edx, ecx
lea ecx, [edx + edx*4]
movzx edx, byte [esi + 1]
add ebp, edx
lea edx, [ebp + ebp*4]
movzx ebp, byte [esi]
neg edx
lea ecx, [ebp + ecx*4]
movzx ebp, byte [esi + 5]
add ecx, edx
mov edx, dword [esp]
add ecx, ebp
mov word [edx + ebx + 0x4c], cx
movzx ecx, byte [esi + 3]
movzx edx, byte [esi + 4]
movzx ebp, byte [esi + 5]
add edx, ecx
lea ecx, [edx + edx*4]
movzx edx, byte [esi + 2]
add ebp, edx
movzx edx, byte [esi + 1]
lea ecx, [edx + ecx*4]
lea edx, [ebp + ebp*4]
neg edx
add ecx, edx
movzx edx, byte [esi + 6]
add esi, eax
add ecx, edx
mov edx, dword [esp]
mov word [edx + ebx + 0x4e], cx
add ebx, 8
jne 0x100fd930
mov eax, dword [esp + 8]
lea esi, [edi + edi*2]
lea ebx, [eax + edi*2]
lea ecx, [eax + edi]
add esi, eax
mov dword [esp + 0x1c], ebx
mov ebx, 0xfffffffc
mov dword [esp + 0x20], ecx
mov dword [esp + 0x18], esi
movsx ecx, word [edx + ebx*2 + 0x10]
movsx eax, word [edx + ebx*2 + 8]
movsx edi, word [edx + ebx*2 + 0x18]
movsx esi, word [edx + ebx*2 + 0x20]
movsx ebp, word [edx + ebx*2 + 0x28]
mov dword [esp + 0x24], ecx
movsx ecx, word [edx + ebx*2 + 0x30]
lea edx, [esi + edi]
mov dword [esp + 4], esi
mov esi, 0xff
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], edi
lea edx, [edx + edx*4]
add eax, ecx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x24]
lea edx, [eax + edx*4]
lea eax, [ebp + ecx]
mov ebp, dword [esp]
lea eax, [eax + eax*4]
sub edx, eax
add edx, 0x200
sar edx, 0xa
mov eax, edx
not eax
sar eax, 0x1f
cmp edx, esi
mov esi, dword [esp]
cmovbe eax, edx
mov edx, dword [esp]
movsx edi, word [edx + ebx*2 + 0x38]
movsx edx, word [ebp + ebx*2 + 0x40]
mov ebp, 0xff
mov dword [esp + 0x28], edx
movsx edx, word [esi + ebx*2 + 0x48]
mov esi, dword [esp + 8]
add ecx, edi
mov byte [esi + ebx + 4], al
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 4]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0xc]
lea eax, [esi + eax]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*4]
mov eax, dword [esp + 0x14]
lea eax, [edx + eax]
lea eax, [eax + eax*4]
sub ecx, eax
add ecx, 0x200
sar ecx, 0xa
mov eax, ecx
not eax
sar eax, 0x1f
cmp ecx, ebp
mov ebp, 0xff
cmovbe eax, ecx
mov ecx, dword [esp + 0x20]
mov byte [ecx + ebx + 4], al
lea eax, [edx + esi]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x28]
mov edx, dword [esp]
lea eax, [eax + eax*4]
add ecx, esi
lea ecx, [ecx + eax*4]
mov eax, dword [esp + 4]
lea eax, [edi + eax]
lea eax, [eax + eax*4]
sub ecx, eax
add ecx, 0x200
sar ecx, 0xa
mov eax, ecx
not eax
sar eax, 0x1f
cmp ecx, ebp
mov ebp, 0xff
cmovbe eax, ecx
mov ecx, dword [esp + 0x1c]
add edi, dword [esp + 0xc]
add esi, dword [esp + 0x10]
mov byte [ecx + ebx + 4], al
mov ecx, dword [esp + 0x2c]
lea eax, [edi + edi*4]
add ecx, dword [esp + 4]
lea ecx, [ecx + eax*4]
lea eax, [esi + esi*4]
mov esi, dword [esp + 0x18]
sub ecx, eax
add ecx, 0x200
sar ecx, 0xa
mov eax, ecx
not eax
sar eax, 0x1f
cmp ecx, ebp
cmovbe eax, ecx
mov byte [esi + ebx + 4], al
inc ebx
jne 0x100fda2b
add esp, 0x30
pop esi
pop edi
pop ebx
pop ebp
ret