Function at 0x10182a10
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x20
mov edx, dword [esp + 0x24]
push esi
movzx esi, byte [edx]
movzx eax, byte [edx + 1]
movzx ecx, byte [edx + 5]
shl esi, 8
or esi, eax
movzx eax, byte [edx + 2]
shl esi, 8
or esi, eax
movzx eax, byte [edx + 3]
shl esi, 8
or esi, eax
movzx eax, byte [edx + 4]
shl eax, 8
or eax, ecx
movzx ecx, byte [edx + 6]
shl eax, 8
or eax, ecx
movzx ecx, byte [edx + 7]
shl eax, 8
or eax, ecx
mov ecx, eax
or ecx, esi
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x28], esi
je 0x10182a77
cmp esi, dword [ecx + 0x10c]
jne 0x10182a77
cmp eax, dword [ecx + 0x110]
je 0x10182cc2
push ebx
push ebp
mov dword [ecx + 0x110], eax
mov dword [ecx + 0x10c], esi
mov ecx, dword [esp + 0x30]
mov ebp, eax
shr ebp, 0x11
and ebp, 0x7f
shl ebp, 2
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x30]
shr ebp, 0x19
shl ebp, 2
mov dword [esp + 0x30], ebp
mov ebp, dword [ebp + 0x10657d78]
push edi
mov ebx, eax
mov edi, eax
mov edx, ecx
shr eax, 0x19
shr ecx, 1
or ebp, dword [eax*4 + 0x10658578]
and ecx, 0x7f
shr edx, 9
or ebp, dword [ecx*4 + 0x10658378]
and edx, 0x7f
shr ebx, 9
or ebp, dword [edx*4 + 0x10658178]
shr esi, 0x11
and ebx, 0x7f
and esi, 0x7f
shl ebx, 2
or ebp, dword [esi*4 + 0x10657f78]
shr edi, 1
and edi, 0x7f
mov dword [esp + 0x24], ebx
or ebp, dword [edi*4 + 0x10658b78]
or ebp, dword [ebx + 0x10658978]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
or ebx, dword [ebp + 0x10658778]
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x10], ebx
mov ebp, dword [ebp + 0x10658d78]
or ebp, dword [eax*4 + 0x10659578]
mov ebx, dword [esp + 0x24]
or ebp, dword [ecx*4 + 0x10659378]
mov eax, dword [esp + 0x38]
or ebp, dword [edx*4 + 0x10659178]
xor ecx, ecx
or ebp, dword [esi*4 + 0x10658f78]
lea edx, [eax + 0x4c]
or ebp, dword [edi*4 + 0x10659b78]
xor edi, edi
or ebp, dword [ebx + 0x10659978]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1c], ebp
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
or ebx, dword [ebp + 0x10659778]
add eax, 0x108
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
movzx eax, byte [ecx + 0x10645168]
add edi, eax
mov eax, dword [esp + 0x10]
mov esi, eax
mov edx, 0x1c
sub edx, edi
mov ecx, edx
shr esi, cl
mov ecx, edi
shl eax, cl
mov ecx, edx
mov ebp, ebx
shr ebp, cl
or esi, eax
mov eax, ebx
mov ecx, edi
shl eax, cl
mov dword [esp + 0x34], esi
mov dword [esp + 0x2c], edi
or ebp, eax
mov eax, ebp
shr eax, 0x15
and eax, 0x7f
shl eax, 2
mov dword [esp + 0x20], eax
mov eax, esi
mov edx, eax
mov ecx, eax
and eax, 0x7f
shl eax, 2
mov dword [esp + 0x34], eax
mov eax, dword [eax + 0x1065a378]
shr ecx, 0x15
mov ebx, ebp
mov edi, ebp
shr esi, 0xe
and ecx, 0x7f
and ebp, 0x7f
and esi, 0x7f
or eax, dword [ebp*4 + 0x1065ab78]
shr edx, 7
or eax, dword [ecx*4 + 0x10659d78]
shl esi, 2
and edx, 0x7f
shr edi, 7
or eax, dword [edx*4 + 0x1065a178]
and edi, 0x7f
or eax, dword [esi + 0x10659f78]
shr ebx, 0xe
or eax, dword [edi*4 + 0x1065a978]
and ebx, 0x7f
mov dword [esp + 0x28], esi
or eax, dword [ebx*4 + 0x1065a778]
mov esi, dword [esp + 0x20]
or eax, dword [esi + 0x1065a578]
mov esi, dword [esp + 0x14]
mov dword [esi - 0x40], eax
mov esi, dword [esp + 0x18]
mov dword [esi - 0x40], eax
mov eax, dword [ebp*4 + 0x1065bb78]
mov esi, dword [esp + 0x34]
or eax, dword [esi + 0x1065b378]
mov esi, dword [esp + 0x28]
or eax, dword [ecx*4 + 0x1065ad78]
mov ecx, dword [esp + 0x20]
or eax, dword [edi*4 + 0x1065b978]
or eax, dword [edx*4 + 0x1065b178]
mov edx, dword [esp + 0x14]
or eax, dword [ebx*4 + 0x1065b778]
mov ebx, dword [esp + 0x18]
or eax, dword [esi + 0x1065af78]
add edx, 4
or eax, dword [ecx + 0x1065b578]
mov ecx, dword [esp + 0x24]
mov dword [edx - 4], eax
inc ecx
mov dword [ebx], eax
sub ebx, 4
mov dword [esp + 0x24], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x2c]
cmp ecx, 0x10
jl 0x10182b81
pop edi
pop ebp
pop ebx
xor eax, eax
pop esi
add esp, 0x20
ret