Function at 0x49facc
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe0
xor eax, eax
xor edx, edx
push ebx
push esi
push edi
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0xc], eax
mov word [ebp - 0xe], 0
mov dword [ebp - 0x14], edx
cmp dword [ebp + 0x10], 0
je 0x49fafa
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.0049a758
pop ecx
jmp 0x49fafc
xor eax, eax
mov word [ebp - 4], ax
push ebx
call fcn.00494ea4
pop ecx
mov ebx, eax
push 0x58
push 0
push 0x58
call fcn.004aa5dc
pop ecx
push eax
call fcn.004fe6dc
add esp, 0xc
mov esi, eax
mov ax, word [0x5bf3b6]
cmp ax, word [0x5bf3b4]
jne 0x49fb59
add word [0x5bf3b4], 0x40
movzx edx, word [0x5bf3b4]
shl edx, 2
add edx, 4
push edx
mov ecx, dword [0x5bf3b0]
push ecx
call fcn.004aa62c
add esp, 8
mov dword [0x5bf3b0], eax
mov ax, word [0x5bf3b6]
inc eax
mov word [esi + 0x34], ax
movzx edx, ax
mov ecx, dword [0x5bf3b0]
mov dword [ecx + edx*4], esi
inc word [0x5bf3b6]
mov eax, dword [ebp + 8]
push eax
call fcn.004f40fc
pop ecx
mov edi, eax
mov dword [esi], edi
push edi
call fcn.004a2958
pop ecx
mov dword [esi + 4], eax
test ebx, ebx
jne 0x49fba1
mov eax, dword [esi + 4]
mov edx, dword [eax]
push edx
call fcn.00494ea4
pop ecx
mov ebx, eax
mov dword [esi + 0xc], ebx
cmp dword [ebp + 0x18], 0
je 0x49fbbb
lea eax, [esi + 0x48]
lea edx, [esi + 0x10]
push eax
push edx
push ebx
call fcn.00494f1c
add esp, 0xc
mov word [ebp - 2], 1
mov cx, word [ebp - 2]
cmp cx, word [ebp - 4]
ja 0x49ff71
movzx eax, word [ebp - 2]
push eax
mov edx, dword [ebp + 0x10]
push edx
call fcn.0049acb8
mov word [ebp - 6], ax
add esp, 8
cmp word [ebp - 6], 0
je 0x49ff5f
mov cx, word [ebp - 6]
cmp cx, word [esi + 0x34]
jae 0x49ff5f
movzx eax, word [ebp - 6]
mov edx, dword [0x5bf3b0]
cmp dword [esi + 8], 0
mov edi, dword [edx + eax*4]
jne 0x49fc1f
push edi
push esi
call fcn.0049ca3c
add esp, 8
jmp 0x49ff5f
mov ax, word [ebp - 6]
push eax
push esi
call fcn.0049c4e4
add esp, 8
test eax, eax
jne 0x49ff5f
mov edx, dword [edi + 0x18]
push edx
call fcn.004adf44
pop ecx
mov word [ebp - 0x1e], ax
cmp word [ebp - 0x1e], 0
je 0x49fc87
mov cx, word [ebp - 0x1e]
cmp cx, word [ebp - 0xe]
jbe 0x49fc72
movzx eax, word [ebp - 0x1e]
add eax, eax
push eax
mov edx, dword [ebp - 0xc]
push edx
call fcn.004aa62c
add esp, 8
mov dword [ebp - 0xc], eax
mov cx, word [ebp - 0x1e]
mov word [ebp - 0xe], cx
movzx eax, word [ebp - 0x1e]
add eax, eax
push eax
push 0
mov edx, dword [ebp - 0xc]
push edx
call fcn.004fe6dc
add esp, 0xc
xor ebx, ebx
jmp 0x49fca2
push 1
movzx eax, bx
mov edx, dword [edi + 0x2c]
mov cx, word [edx + eax*4]
push ecx
push esi
call fcn.0049c954
add esp, 0xc
inc ebx
cmp bx, word [edi + 0x44]
jb 0x49fc8b
push 1
mov ax, word [ebp - 6]
push eax
push esi
call fcn.0049c954
add esp, 0xc
cmp word [edi + 0x3e], 0
je 0x49fd28
xor ebx, ebx
jmp 0x49fd22
movzx eax, bx
lea edx, [eax + eax*2]
mov ecx, dword [edi + 0x14]
cmp word [ecx + edx*4 + 4], 1
jne 0x49fd21
movzx eax, bx
lea edx, [eax + eax*2]
mov ecx, dword [edi + 0x14]
mov ax, word [ecx + edx*4 + 0xa]
mov word [ebp - 0x20], ax
mov dx, word [ebp - 0x20]
push edx
mov cx, word [ebp - 0x20]
push ecx
push esi
call fcn.0049c55c
add esp, 8
push eax
movzx eax, bx
mov ecx, dword [edi + 0x14]
lea edx, [eax + eax*2]
mov ax, word [ecx + edx*4 + 6]
movzx edx, bx
push eax
push 1
mov eax, dword [edi + 0x14]
lea ecx, [edx + edx*2]
mov edx, dword [eax + ecx*4]
push edx
push esi
call fcn.0049c59c
add esp, 0x18
inc ebx
cmp bx, word [edi + 0x3e]
jb 0x49fcc3
movzx ecx, word [edi + 0x54]
mov dword [ebp - 0x1c], ecx
xor eax, eax
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x18]
cmp edx, dword [ebp - 0x1c]
jae 0x49ff25
mov ecx, dword [ebp - 0x18]
shl ecx, 5
mov eax, dword [edi + 8]
mov eax, dword [eax + ecx]
test eax, eax
je 0x49ff16
mov edx, dword [ebp - 0x18]
mov ecx, dword [edi + 8]
push eax
push esi
shl edx, 5
call fcn.0049c38c
add esp, 8
mov ebx, eax
cmp dword [ebx], 0
je 0x49fd8a
mov eax, 0x5bf1f8
cmp eax, dword [ebx + 8]
jne 0x49fd8a
mov dx, word [ebx + 0x18]
push edx
push esi
call fcn.0049c55c
add esp, 8
mov word [ebx + 0x1a], ax
cmp dword [ebx], 0
je 0x49fdc5
push 0
push ebx
call fcn.0049c44c
add esp, 8
test eax, eax
je 0x49fef0
mov ecx, 0x5bf1e8
cmp ecx, dword [ebx + 8]
je 0x49fdc5
mov ax, word [0x5bf3ae]
test ax, ax
je 0x49fef0
cmp ax, word [ebx + 0x14]
jne 0x49fef0
cmp dword [ebx], 0
jne 0x49fdce
inc word [esi + 0x3c]
push 0x20
mov edx, dword [edi + 8]
mov ecx, dword [ebp - 0x18]
shl ecx, 5
add edx, ecx
push edx
push ebx
call fcn.004fe66c
add esp, 0xc
push esi
push ebx
push ebx
call fcn.0049c760
add esp, 0xc
test eax, eax
jne 0x49ff16
mov eax, dword [ebx + 8]
cmp eax, 0x5bf238
je 0x49fe09
cmp eax, 0x5bf248
jne 0x49fe0c
mov eax, dword [ebx + 0xc]
cmp eax, 0x5bf198
je 0x49fe1e
cmp eax, 0x5bf1a8
jne 0x49fec8
mov dx, word [ebx + 0x18]
cmp dx, word [ebp - 0x1e]
jbe 0x49fe3e
push 0
push str.__clsNew__
push 0
push 0x232d
call fcn.0046fb58
add esp, 0x10
movzx ecx, word [ebx + 0x18]
mov eax, dword [ebp - 0xc]
cmp word [eax + ecx*2 - 2], 0
jne 0x49fe7d
mov edx, dword [esi + 0x18]
push edx
call fcn.0049a758
pop ecx
mov edx, dword [ebp - 0xc]
movzx ecx, word [ebx + 0x18]
inc eax
mov word [edx + ecx*2 - 2], ax
movzx eax, word [ebx + 0x18]
mov ecx, dword [ebp - 0xc]
movzx eax, word [ecx + eax*2 - 2]
push eax
mov edx, dword [esi + 0x18]
push edx
call fcn.0049a644
add esp, 8
cmp word [ebx + 0x1a], 0
je 0x49feb6
mov cx, word [ebp - 6]
push ecx
push 0
movzx eax, word [ebx + 0x18]
mov edx, dword [ebp - 0xc]
mov cx, word [edx + eax*2 - 2]
push ecx
push 2
movzx eax, word [ebx + 0x1a]
lea edx, [eax + eax*2]
mov ecx, dword [edi + 0x14]
mov eax, dword [ecx + edx*4 - 0xc]
push eax
push esi
call fcn.0049c59c
add esp, 0x18
mov word [ebx + 0x1a], ax
movzx edx, word [ebx + 0x18]
mov ecx, dword [ebp - 0xc]
mov ax, word [ecx + edx*2 - 2]
mov word [ebx + 0x18], ax
jmp 0x49fee8
cmp eax, 0x5bf178
je 0x49fed6
cmp eax, 0x5bf188
jne 0x49fee8
mov dx, word [ebx + 0x14]
push edx
push esi
call fcn.0049c55c
add esp, 8
mov word [ebx + 0x1a], ax
or word [ebx + 0x16], 0x80
jmp 0x49ff16
mov eax, dword [ebp - 0x18]
shl eax, 5
mov edx, dword [edi + 8]
test byte [edx + eax + 0x17], 6
je 0x49ff06
or word [ebx + 0x16], 0x400
push esi
push ebx
mov ecx, dword [edi + 8]
add ecx, eax
push ecx
call fcn.0049c760
add esp, 0xc
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x1c]
jb 0x49fd40
cmp word [edi + 0x38], 0
je 0x49ff32
mov word [esi + 0x38], 1
cmp word [edi + 0x36], 0
je 0x49ff3f
mov word [esi + 0x36], 1
mov edx, dword [edi + 0x30]
or dword [esi + 0x30], edx
cmp word [edi + 0x4a], 0
je 0x49ff52
mov word [esi + 0x4a], 1
cmp dword [edi + 0x24], 0
je 0x49ff5f
mov dword [ebp - 0x14], 1
inc word [ebp - 2]
mov cx, word [ebp - 2]
cmp cx, word [ebp - 4]
jbe 0x49fbcf
cmp dword [ebp - 0xc], 0
je 0x49ff81
mov eax, dword [ebp - 0xc]
push eax
call fcn.004aa6ac
pop ecx
cmp dword [esi + 8], 0
jne 0x49ffb3
push 7
push esi
call fcn.0049c2f8
add esp, 8
push 0
call fcn.004acba4
pop ecx
mov dword [esi + 0x18], eax
push 0
call fcn.004acba4
pop ecx
mov dword [esi + 0x1c], eax
push 0
call fcn.004acba4
pop ecx
mov dword [esi + 0x20], eax
mov dx, word [esi + 0x40]
mov word [esi + 0x42], dx
push 0
mov cx, word [esi + 0x34]
push ecx
push esi
call fcn.0049c954
mov ax, word [ebp + 0xc]
add word [esi + 0x40], ax
add esp, 0xc
cmp word [esi + 0x4a], 0
je 0x49ffe3
mov dx, word [esi + 0x40]
inc edx
mov word [esi + 0x4a], dx
cmp dword [ebp - 0x14], 0
je 0x49fff7
cmp dword [esi + 0x24], 0
jne 0x49fff7
call fcn.004b8880
mov dword [esi + 0x24], eax
mov ax, word [esi + 0x34]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret