Function at 0x4a1550
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
mov dword [ebp - 0x14], ecx
mov dword [0x7cc7e4], 4
push esi
mov esi, edx
mov dword [ebp - 0x10], esi
test ecx, ecx
je 0x4a17e7
mov eax, dword [esi]
push edi
xor edi, edi
movzx edx, word [eax]
movzx eax, word [eax + 2]
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
test ecx, ecx
jle 0x4a17e6
push ebx
mov ebx, dword [0x747718]
mov eax, dword [esi]
movzx ecx, word [eax]
movzx esi, word [eax + 4]
mov dword [ebp - 0xc], ecx
movzx ecx, word [eax + 2]
mov dword [ebp - 0x1c], esi
mov esi, dword [eax + 6]
mov eax, dword [ebp - 4]
mov dword [ebp - 0x18], ecx
cmp dx, word [ebp - 0xc]
jne 0x4a15c3
cmp ax, cx
jne 0x4a15c3
mov ecx, 0x100
cmp di, cx
jle 0x4a15f1
cwde
push eax
movsx eax, dx
push eax
movsx eax, di
push ebx
push eax
call dword [0x74770c]
mov eax, dword [ebp - 0xc]
add esp, 0x10
mov ebx, dword [0x747718]
xor edi, edi
movzx edx, ax
mov eax, dword [ebp - 0x18]
movzx eax, ax
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
cmp dx, 0xc
je 0x4a17ec
cmp dx, 0x11
je 0x4a17ec
mov eax, dword [esi]
lea edx, [esi + 0x20]
movsx ecx, di
shl ecx, 5
add ecx, ebx
mov dword [ebp - 0x18], esi
mov dword [ecx], eax
lea eax, [esi + 4]
mov dword [ebp - 0xc], eax
mov eax, dword [eax]
mov dword [ecx + 4], eax
lea eax, [esi + 8]
mov dword [ebp - 0x20], eax
mov eax, dword [eax]
mov dword [ecx + 8], eax
lea eax, [esi + 0xc]
mov dword [ebp - 0x24], eax
mov eax, dword [eax]
mov dword [ecx + 0xc], eax
lea eax, [esi + 0x18]
mov dword [ebp - 0x28], eax
mov eax, dword [eax]
mov dword [ecx + 0x18], eax
lea eax, [esi + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, dword [eax]
mov dword [ecx + 0x1c], eax
lea eax, [esi + 0x10]
mov dword [ebp - 0x30], eax
mov eax, dword [eax]
mov dword [ecx + 0x10], eax
lea eax, [esi + 0x14]
mov dword [ebp - 0x34], eax
mov eax, dword [eax]
mov dword [ecx + 0x14], eax
lea eax, [edi + 1]
movsx ecx, ax
add edi, 2
mov eax, dword [esi + 0x20]
shl ecx, 5
add ecx, ebx
mov dword [ecx], eax
mov eax, dword [esi + 0x24]
mov dword [ecx + 4], eax
mov eax, dword [esi + 0x28]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x2c]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x38]
mov dword [ecx + 0x18], eax
mov eax, dword [esi + 0x3c]
mov dword [ecx + 0x1c], eax
mov eax, dword [esi + 0x30]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x34]
add esi, 0x40
mov dword [ecx + 0x14], eax
movsx ecx, di
inc edi
shl ecx, 5
mov eax, dword [esi]
add ecx, ebx
mov dword [ecx], eax
mov eax, dword [edx + 0x24]
mov dword [ecx + 4], eax
mov eax, dword [edx + 0x28]
mov dword [ecx + 8], eax
mov eax, dword [edx + 0x2c]
mov dword [ecx + 0xc], eax
mov eax, dword [edx + 0x38]
mov dword [ecx + 0x18], eax
mov eax, dword [edx + 0x3c]
mov dword [ecx + 0x1c], eax
mov eax, dword [edx + 0x30]
mov dword [ecx + 0x10], eax
mov eax, dword [edx + 0x34]
mov dword [ecx + 0x14], eax
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffffd
movsx edx, ax
test edx, edx
jle 0x4a17b3
nop dword [eax]
mov eax, dword [ebp - 0x18]
lea esi, [esi + 0x20]
movsx ecx, di
inc edi
shl ecx, 5
add ecx, ebx
mov eax, dword [eax]
mov dword [ecx], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [ecx + 0x18], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov dword [ecx + 0x1c], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
mov dword [ecx + 0x14], eax
mov eax, dword [esi - 0x20]
movsx ecx, di
inc edi
shl ecx, 5
add ecx, ebx
mov dword [ecx], eax
mov eax, dword [esi - 0x1c]
mov dword [ecx + 4], eax
mov eax, dword [esi - 0x18]
mov dword [ecx + 8], eax
mov eax, dword [esi - 0x14]
mov dword [ecx + 0xc], eax
mov eax, dword [esi - 8]
mov dword [ecx + 0x18], eax
mov eax, dword [esi - 4]
mov dword [ecx + 0x1c], eax
mov eax, dword [esi - 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esi - 0xc]
mov dword [ecx + 0x14], eax
mov eax, dword [esi]
movsx ecx, di
inc edi
shl ecx, 5
add ecx, ebx
mov dword [ecx], eax
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x18]
mov dword [ecx + 0x18], eax
mov eax, dword [esi + 0x1c]
mov dword [ecx + 0x1c], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x14], eax
sub edx, 1
jne 0x4a16f0
mov edx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
add esi, 0xc
sub dword [ebp - 0x14], 1
mov dword [ebp - 0x10], esi
jne 0x4a1592
test di, di
jle 0x4a17e5
mov eax, dword [ebp - 4]
cwde
push eax
movsx eax, dx
push eax
movsx eax, di
push ebx
push eax
call dword [0x74770c]
add esp, 0x10
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [esi]
movsx ecx, di
inc edi
shl ecx, 5
add ecx, ebx
mov dword [ecx], eax
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x18]
mov dword [ecx + 0x18], eax
mov eax, dword [esi + 0x1c]
mov dword [ecx + 0x1c], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x14], eax
mov eax, dword [esi + 0x20]
movsx ecx, di
shl ecx, 5
add ecx, ebx
inc edi
mov dword [ecx], eax
mov eax, dword [esi + 0x24]
mov dword [ecx + 4], eax
mov eax, dword [esi + 0x28]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x2c]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x38]
mov dword [ecx + 0x18], eax
mov eax, dword [esi + 0x3c]
mov dword [ecx + 0x1c], eax
mov eax, dword [esi + 0x30]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x34]
mov dword [ecx + 0x14], eax
jmp 0x4a17b6