Function at 0x101d5ed0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x18
mov ebx, dword [ebp + 0xc]
movzx eax, word [ebx]
add eax, 0x20
movzx ecx, ax
movzx edx, word [ebx + 0x10]
lea eax, [edx + ecx]
sub ecx, edx
movsx edi, word [ebx + 8]
mov esi, edi
sar esi, 1
movsx edx, word [ebx + 0x18]
sub esi, edx
sar edx, 1
add edx, edi
lea edi, [edx + eax]
mov word [ebx], di
lea edi, [esi + ecx]
mov word [ebx + 8], di
sub ecx, esi
mov word [ebx + 0x10], cx
sub eax, edx
mov word [ebx + 0x18], ax
movzx ecx, word [ebx + 2]
movzx edx, word [ebx + 0x12]
lea eax, [edx + ecx]
sub ecx, edx
movsx edi, word [ebx + 0xa]
mov esi, edi
sar esi, 1
movsx edx, word [ebx + 0x1a]
sub esi, edx
sar edx, 1
add edx, edi
lea edi, [edx + eax]
mov word [ebx + 2], di
lea edi, [esi + ecx]
mov word [ebx + 0xa], di
sub ecx, esi
mov word [ebx + 0x12], cx
sub eax, edx
mov word [ebx + 0x1a], ax
movzx ecx, word [ebx + 4]
movzx edx, word [ebx + 0x14]
lea eax, [edx + ecx]
sub ecx, edx
movsx edi, word [ebx + 0xc]
mov esi, edi
sar esi, 1
movsx edx, word [ebx + 0x1c]
sub esi, edx
sar edx, 1
add edx, edi
lea edi, [edx + eax]
mov word [ebx + 4], di
lea edi, [esi + ecx]
mov word [ebx + 0xc], di
sub ecx, esi
mov word [ebx + 0x14], cx
sub eax, edx
mov word [ebx + 0x1c], ax
movzx ecx, word [ebx + 6]
movzx edx, word [ebx + 0x16]
lea eax, [edx + ecx]
sub ecx, edx
movsx edi, word [ebx + 0xe]
mov esi, edi
sar esi, 1
movsx edx, word [ebx + 0x1e]
sub esi, edx
sar edx, 1
add edx, edi
lea edi, [edx + eax]
mov word [ebx + 6], di
lea edi, [esi + ecx]
mov word [ebx + 0xe], di
sub ecx, esi
mov esi, dword [ebp + 8]
mov word [ebx + 0x16], cx
mov ecx, dword [ebp + 0x10]
sub eax, edx
mov word [ebx + 0x1e], ax
lea eax, [ecx + ecx*2]
add eax, esi
mov dword [ebp - 0x1c], eax
lea eax, [esi + ecx*2]
mov dword [ebp - 0x18], eax
add ecx, esi
mov dword [ebp - 0x10], ecx
lea eax, [ebx + 6]
mov dword [ebp - 0x14], eax
xor edi, edi
mov eax, dword [ebp - 0x14]
movsx edx, word [eax + edi*8 - 6]
movsx ecx, word [eax + edi*8 - 2]
lea esi, [ecx + edx]
mov dword [ebp - 0x20], esi
sub edx, ecx
movsx ebx, word [eax + edi*8 - 4]
mov ecx, ebx
sar ecx, 1
movsx eax, word [eax + edi*8]
sub ecx, eax
sar eax, 1
add eax, ebx
mov dword [ebp - 0x24], eax
lea ebx, [eax + esi]
sar ebx, 6
mov eax, dword [ebp + 8]
movzx esi, byte [eax + edi]
add ebx, esi
mov eax, ebx
sar eax, 0x1f
mov esi, 0x100
cmp ebx, esi
not al
movzx eax, al
cmovb eax, ebx
mov esi, dword [ebp + 8]
mov byte [esi + edi], al
lea ebx, [ecx + edx]
sar ebx, 6
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + edi]
add ebx, eax
mov eax, ebx
sar eax, 0x1f
mov esi, 0x100
cmp ebx, esi
not al
movzx eax, al
cmovb eax, ebx
mov esi, dword [ebp - 0x10]
mov byte [esi + edi], al
sub edx, ecx
mov ecx, dword [ebp - 0x18]
movzx eax, byte [ecx + edi]
sar edx, 6
add edx, eax
mov eax, edx
sar eax, 0x1f
mov esi, 0x100
cmp edx, esi
not al
movzx eax, al
cmovb eax, edx
mov byte [ecx + edi], al
mov edx, dword [ebp - 0x20]
sub edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1c]
movzx eax, byte [ecx + edi]
sar edx, 6
add edx, eax
mov eax, edx
sar eax, 0x1f
cmp edx, esi
not al
movzx eax, al
cmovb eax, edx
mov byte [ecx + edi], al
inc edi
cmp edi, 4
jne 0x101d5fe5
xorps xmm0, xmm0
mov eax, dword [ebp + 0xc]
movups xmmword [eax + 0x10], xmm0
movups xmmword [eax], xmm0
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret