Function at 0x46c170
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x20
mov eax, dword [esp + 0x28]
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x34]
add eax, 4
add edi, 4
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], 8
mov ebp, dword [eax]
test ebp, ebp
jne 0x46c1d6
cmp dword [eax + 4], ebp
jne 0x46c1d6
cmp dword [eax + 8], ebp
jne 0x46c1d6
cmp dword [eax + 0xc], ebp
jne 0x46c1d6
cmp dword [eax + 0x10], ebp
jne 0x46c1d6
cmp dword [eax + 0x14], ebp
jne 0x46c1d6
cmp dword [eax + 0x18], ebp
jne 0x46c1d6
movzx ecx, word [edi - 4]
imul ecx, dword [eax - 4]
mov dword [eax - 4], ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], ecx
jmp 0x46c34d
movzx edx, word [edi]
imul edx, dword [eax + 4]
movzx esi, word [edi - 2]
movzx ecx, word [edi - 4]
imul esi, ebp
movzx ebp, word [edi + 0xa]
imul ecx, dword [eax - 4]
movzx ebx, word [edi + 4]
imul ebp, dword [eax + 0x18]
imul ebx, dword [eax + 0xc]
mov dword [esp + 0x10], edx
movzx edx, word [edi + 8]
imul edx, dword [eax + 0x14]
mov dword [esp + 0x1c], edx
mov edx, esi
sub edx, ebp
add ebp, esi
movzx esi, word [edi + 2]
movzx edi, word [edi + 6]
imul esi, dword [eax + 8]
imul edi, dword [eax + 0x10]
imul esi, esi, 0x16a1
mov dword [esp + 0x34], ebp
imul edi, edi, 0x16a1
mov ebp, ecx
sub ebp, ebx
add ecx, ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x20], ebp
mov ebp, dword [esp + 0x1c]
add ebp, ebx
imul ebx, ebx, 0xc3f
mov dword [esp + 0x18], ebx
imul ebp, ebp, 0x8a9
mov ebx, dword [esp + 0x1c]
imul ebx, ebx, 0x1d90
sar edi, 0xc
mov dword [esp + 0x14], ebp
sub ebp, ebx
mov ebx, dword [esp + 0x18]
add ebx, dword [esp + 0x14]
sar ebp, 0xc
sar esi, 0xc
mov dword [esp + 0x10], ebp
mov ebp, edx
add edx, edi
sub ebp, edi
mov edi, dword [esp + 0x34]
add edi, esi
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x34]
sub edi, esi
mov esi, dword [esp + 0x14]
sar ebx, 0xc
mov dword [esp + 0x34], esi
mov esi, ecx
sub esi, ebx
mov dword [esp + 0x24], edi
add ecx, ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x20]
mov edi, esi
sub edi, ebx
add esi, ebx
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x10], edi
lea edi, [ebx + edx]
imul edx, edx, 0xfffffb96
imul ebx, ebx, 0x1631
imul edi, edi, 0xd4e
mov dword [esp + 0x14], edi
add edx, dword [esp + 0x14]
sub edi, ebx
sar edx, 0xc
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x24]
lea ebx, [edx + ebp]
sar edi, 0xc
imul ebx, ebx, 0xfb1
imul edx, edx, 0xfffff36e
imul ebp, ebp, 0x12d0
mov dword [esp + 0x18], edx
mov edx, ebx
add ebx, dword [esp + 0x18]
sub edx, ebp
mov ebp, dword [esp + 0x34]
add ebp, ecx
sub ecx, dword [esp + 0x34]
sar ebx, 0xc
mov dword [eax + 0x18], ecx
lea ecx, [ebx + esi]
mov dword [eax], ecx
mov ecx, dword [esp + 0x10]
sar edx, 0xc
sub esi, ebx
mov dword [eax + 0x14], esi
lea esi, [edx + ecx]
sub ecx, edx
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x1c]
lea edx, [edi + ecx]
sub ecx, edi
mov edi, dword [esp + 0x28]
mov dword [eax - 4], ebp
mov dword [eax + 4], esi
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
add edi, 0x10
add eax, 0x20
dec dword [esp + 0x2c]
mov dword [esp + 0x28], edi
jne 0x46c191
mov eax, dword [esp + 0x38]
add eax, 0x20
mov dword [esp + 0x2c], 8
mov edi, dword [eax]
test edi, edi
jne 0x46c3c2
cmp dword [eax + 0x20], edi
jne 0x46c3c2
cmp dword [eax + 0x40], edi
jne 0x46c3c2
cmp dword [eax + 0x60], edi
jne 0x46c3c2
cmp dword [eax + 0x80], edi
jne 0x46c3c2
cmp dword [eax + 0xa0], edi
jne 0x46c3c2
cmp dword [eax + 0xc0], edi
jne 0x46c3c2
mov ecx, dword [eax - 0x20]
mov dword [eax], ecx
mov dword [eax + 0x20], ecx
mov dword [eax + 0x40], ecx
mov dword [eax + 0x80], ecx
mov dword [eax + 0xa0], ecx
mov dword [eax + 0xc0], ecx
jmp 0x46c524
mov ecx, dword [eax - 0x20]
mov edx, dword [eax + 0x20]
mov ebp, dword [eax + 0x60]
mov esi, dword [eax + 0xc0]
mov dword [esp + 0x10], edx
mov edx, dword [eax + 0xa0]
mov dword [esp + 0x1c], edx
mov ebx, ecx
sub ebx, ebp
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x10]
add ecx, ebp
mov ebp, dword [esp + 0x1c]
add ebp, ebx
imul ebx, ebx, 0xc3f
mov dword [esp + 0x18], ebx
imul ebp, ebp, 0x8a9
mov ebx, dword [esp + 0x1c]
mov edx, edi
imul ebx, ebx, 0x1d90
sub edx, esi
add esi, edi
mov edi, dword [eax + 0x80]
imul edi, edi, 0x16a1
mov dword [esp + 0x34], esi
mov esi, dword [eax + 0x40]
imul esi, esi, 0x16a1
sar edi, 0xc
mov dword [esp + 0x14], ebp
sub ebp, ebx
mov ebx, dword [esp + 0x18]
add ebx, dword [esp + 0x14]
sar ebp, 0xc
mov dword [esp + 0x10], ebp
mov ebp, edx
add edx, edi
sub ebp, edi
mov edi, dword [esp + 0x34]
sar esi, 0xc
add edi, esi
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x34]
sub edi, esi
mov esi, dword [esp + 0x14]
sar ebx, 0xc
mov dword [esp + 0x34], esi
mov dword [esp + 0x24], edi
mov esi, ecx
sub esi, ebx
add ecx, ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x20]
mov edi, esi
sub edi, ebx
add esi, ebx
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x34]
lea ebx, [edi + edx]
imul edx, edx, 0xfffffb96
imul edi, edi, 0x1631
imul ebx, ebx, 0xd4e
mov dword [esp + 0x34], edi
mov edi, ebx
sub edi, dword [esp + 0x34]
add ebx, edx
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x24]
sar ebx, 0xc
mov dword [esp + 0x34], ebx
lea ebx, [edx + ebp]
imul edx, edx, 0xfffff36e
imul ebp, ebp, 0x12d0
imul ebx, ebx, 0xfb1
mov dword [esp + 0x18], edx
mov edx, ebx
add ebx, dword [esp + 0x18]
sub edx, ebp
sar edi, 0xc
sar edx, 0xc
sar ebx, 0xc
mov ebp, dword [esp + 0x34]
add ebp, ecx
sub ecx, dword [esp + 0x34]
mov dword [eax - 0x20], ebp
mov dword [eax + 0xc0], ecx
lea ecx, [ebx + esi]
mov dword [eax], ecx
mov ecx, dword [esp + 0x10]
sub esi, ebx
mov dword [eax + 0xa0], esi
lea esi, [edx + ecx]
sub ecx, edx
mov dword [eax + 0x80], ecx
mov ecx, dword [esp + 0x1c]
lea edx, [edi + ecx]
mov dword [eax + 0x20], esi
mov dword [eax + 0x40], edx
sub ecx, edi
mov dword [eax + 0x60], ecx
add eax, 4
dec dword [esp + 0x2c]
jne 0x46c373
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
inc ecx
add eax, 8
mov esi, 0x10
jmp 0x46c550
mov edx, dword [eax - 8]
sar edx, 3
sub edx, 0x200
and edx, 0x3ff
movzx edx, byte [edx + 0x59da90]
mov byte [ecx - 1], dl
mov edx, dword [eax - 4]
sar edx, 3
sub edx, 0x200
and edx, 0x3ff
movzx edx, byte [edx + 0x59da90]
mov byte [ecx], dl
mov edx, dword [eax]
sar edx, 3
sub edx, 0x200
and edx, 0x3ff
movzx edx, byte [edx + 0x59da90]
mov byte [ecx + 1], dl
mov edx, dword [eax + 4]
sar edx, 3
sub edx, 0x200
and edx, 0x3ff
movzx edx, byte [edx + 0x59da90]
mov byte [ecx + 2], dl
add eax, 0x10
add ecx, 4
dec esi
jne 0x46c550
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret 0xc