Function at 0x4464b0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x18
mov edx, dword [esp + 0x1c]
push ebx
push ebp
push esi
mov eax, dword [edx]
push edi
test eax, eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x10], eax
je 0x446761
jmp 0x4464d7
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 8]
test cl, 0x10
je 0x44662a
mov esi, dword [edx + 8]
and esi, 1
or esi, ecx
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x1c], ecx
xor ecx, ecx
mov cx, word [eax + 6]
mov dword [eax + 8], esi
mov ebp, dword [edx + 0xc]
test ecx, ecx
mov dword [esp + 0x18], ebp
jle 0x446610
mov dword [esp + 0x24], ecx
xor ecx, ecx
mov cx, word [eax + 4]
test ecx, ecx
jle 0x4465f3
mov dword [esp + 0x20], ecx
xor eax, eax
xor ebx, ebx
mov ax, word [edx + 4]
xor ecx, ecx
xor edi, edi
xor esi, esi
mov bx, word [ebp + eax*2 + 2]
mov cx, word [ebp + eax*2]
mov di, word [ebp + 2]
mov si, word [ebp]
mov edx, ebx
mov dword [esp + 0x14], ecx
or edx, ecx
or edx, edi
or edx, esi
je 0x4465bd
mov eax, dword [0x7e1454]
mov ebp, dword [esp + 0x14]
mov edx, eax
mov ecx, eax
and edx, ebx
and ecx, ebp
add edx, ecx
mov ecx, eax
and ecx, edi
add edx, ecx
mov ecx, eax
and ecx, esi
add edx, ecx
shr edx, 2
and edx, eax
mov eax, dword [0x7e0e38]
mov ebp, eax
mov ecx, eax
and ebp, dword [esp + 0x14]
and ecx, ebx
add ecx, ebp
mov ebp, eax
and ebp, edi
add ecx, ebp
mov ebp, eax
and ebp, esi
add ecx, ebp
mov ebp, dword [0x7e1450]
shr ecx, 2
and ecx, eax
mov eax, ebp
and eax, ebx
mov ebx, ebp
and ebx, dword [esp + 0x14]
add eax, ebx
mov ebx, ebp
and ebx, edi
mov edi, ebp
add eax, ebx
and edi, esi
add eax, edi
shr eax, 2
and eax, ebp
mov ebp, dword [esp + 0x18]
jmp 0x4465c3
xor eax, eax
xor ecx, ecx
xor edx, edx
or eax, ecx
mov ecx, dword [esp + 0x1c]
or eax, edx
mov edx, dword [esp + 0x2c]
mov word [ecx], ax
mov eax, dword [esp + 0x20]
add ebp, 4
add ecx, 2
dec eax
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
jne 0x446520
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov cx, word [edx + 4]
lea ebp, [ebp + ecx*2]
mov ecx, dword [esp + 0x24]
dec ecx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x24], ecx
jne 0x44650e
mov dword [esp + 0x2c], eax
mov eax, dword [eax]
test eax, eax
mov dword [esp + 0x10], eax
jne 0x4464cf
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
test byte [eax + 8], 0x20
je 0x446761
mov esi, dword [0x7e1454]
mov ecx, 8
mov dword [0x7e144c], ecx
mov eax, 0x8000
test eax, esi
jne 0x446655
shr eax, 1
inc ecx
test eax, eax
jne 0x44664a
mov dword [0x7e144c], ecx
mov ecx, 8
mov dword [0x7e1444], ecx
mov eax, 0x8000
test dword [0x7e0e38], eax
jne 0x44667a
shr eax, 1
inc ecx
test eax, eax
jne 0x44666b
mov ebp, dword [0x7e1450]
mov dword [0x7e1444], ecx
mov ecx, 8
mov eax, 0x8000
mov dword [0x7e1458], ecx
test eax, ebp
jne 0x4466a1
shr eax, 1
inc ecx
test eax, eax
jne 0x446696
mov dword [0x7e1458], ecx
xor esi, esi
mov si, word [edx + 6]
xor ecx, ecx
mov cx, word [edx + 4]
mov edi, dword [edx + 0xc]
imul esi, ecx
xor ebx, ebx
xor eax, eax
test esi, esi
mov dword [esp + 0x2c], 0
jle 0x44670a
mov dword [esp + 0x24], esi
mov ebp, dword [0x7e1454]
xor edx, edx
mov dx, word [edi]
add edi, 2
mov ecx, edx
and ecx, ebp
mov ebp, dword [0x7e0e38]
add eax, ecx
mov ecx, edx
and ecx, ebp
mov ebp, dword [0x7e1450]
add ebx, ecx
mov ecx, dword [esp + 0x2c]
and edx, ebp
add ecx, edx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x24]
dec ecx
mov dword [esp + 0x24], ecx
jne 0x4466cd
xor edx, edx
mov ecx, dword [0x7e144c]
div esi
xor edx, edx
mov edi, eax
mov eax, dword [0x7e1454]
and edi, eax
mov eax, ebx
div esi
shl edi, cl
mov ecx, dword [0x7e0e38]
xor edx, edx
shr edi, 0x10
shl edi, 8
and eax, ecx
mov ecx, dword [0x7e1444]
shl eax, cl
mov ecx, dword [0x7e1458]
shr eax, 0x10
add edi, eax
mov eax, dword [esp + 0x2c]
div esi
mov edx, dword [esp + 0x10]
shl edi, 8
and eax, ebp
shl eax, cl
shr eax, 0x10
add edi, eax
mov dword [edx + 0x24], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret