Function at 0x4cf760
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x20
mov eax, dword [esp + 0x2c]
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x38]
mov dword [eax], 0
mov eax, dword [edi + 0xc]
cmp eax, 1
mov dword [esp + 0x20], eax
jl 0x4cf7bc
cmp eax, 0x63
jg 0x4cf7bc
push 0x10000
call fcn.004b6a20
mov ebp, eax
add esp, 4
test ebp, ebp
mov dword [esp + 0x28], ebp
jne 0x4cf7c6
push 0x613d00
push 0x2706
call fcn.004dd120
mov ecx, dword [esp + 0x3c]
push eax
push 1
push ecx
call fcn.004d8f20
add esp, 0x14
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
push 0xffffffffffffffff
push edi
mov esi, ebp
call fcn.00401ed0
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x28]
add esp, 8
xor ebx, ebx
test eax, eax
jl 0x4cfc74
mov eax, dword [esp + 0x28]
inc ebp
lea edx, [eax + 2]
lea ecx, [eax + 0xa]
add eax, 9
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
jmp 0x4cf805
mov edi, dword [esp + 0x38]
push ebx
push edi
call fcn.00401ed0
mov ecx, dword [esp + 0x28]
add esp, 8
cmp ebx, ecx
mov dword [esp + 0x24], eax
jge 0x4cf836
lea edx, [ebx + ebx*8]
lea eax, [ebx + edx*2]
lea edx, [ebx + eax*4]
shl edx, 5
add edi, edx
mov dword [esp + 0x1c], edi
mov dl, byte [edi + 0x28]
mov byte [esp + 0x34], dl
jmp 0x4cf852
lea eax, [ebx + ebx*8]
lea edx, [ebx + eax*2]
lea eax, [ebx + edx*4]
shl eax, 5
add edi, eax
mov dword [esp + 0x1c], edi
mov dl, byte [edi - 0x978]
mov byte [esp + 0x34], dl
test ebx, ebx
jne 0x4cf97d
mov eax, dword [0x6d749c]
test eax, eax
je 0x4cf8fb
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4cf8fb
mov edi, dword [eax + 0x218]
test edi, edi
je 0x4cf8f3
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0xd
jne 0x4cf8f3
mov eax, dword [esp + 0x2c]
mov byte [esi], 2
mov edx, ebp
mov ecx, dword [eax + 0x218]
mov edi, dword [ecx]
mov dword [edx], edi
mov di, word [ecx + 4]
mov word [edx + 4], di
mov cl, byte [ecx + 6]
mov byte [esi + 8], 2
mov byte [edx + 6], cl
mov edx, dword [eax + 0x218]
mov eax, dword [esp + 0x18]
add edx, 7
mov ecx, eax
mov edi, dword [edx]
mov dword [ecx], edi
mov edi, dword [esp + 0x14]
mov dx, word [edx + 4]
mov word [ecx + 4], dx
mov edx, dword [esp + 0x10]
mov ecx, 0x10
add edx, ecx
add eax, ecx
add edi, ecx
add esi, ecx
mov dword [esp + 0x10], edx
mov dl, byte [esp + 0x34]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], edi
add ebp, ecx
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
cmp dl, 1
jne 0x4cf908
mov byte [esi], 0x21
mov byte [esi + 3], dl
jmp 0x4cf949
cmp dl, 2
je 0x4cf942
cmp dl, 3
je 0x4cf942
cmp dl, 0x99
je 0x4cf942
cmp dl, 4
je 0x4cf939
cmp dl, 8
je 0x4cf939
cmp dl, 5
je 0x4cf939
cmp dl, 6
je 0x4cf939
cmp dl, 7
je 0x4cf939
cmp dl, 0x20
jne 0x4cfc99
mov byte [esi], 0x41
mov byte [esi + 3], 0x34
jmp 0x4cf949
mov byte [esi], 0x41
mov byte [esi + 3], 0x14
mov eax, dword [0x6d749c]
test eax, eax
je 0x4cf956
or byte [esi + 3], 0x40
mov eax, dword [esp + 0x18]
add esi, 8
add eax, 8
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
add eax, 8
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
add eax, 8
add ebp, 8
mov dword [esp + 0x10], eax
mov eax, dword [0x6d749c]
test eax, eax
je 0x4cfa35
cmp ebx, ecx
je 0x4cfa35
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4cfa35
mov edi, dword [eax + 0x218]
test edi, edi
je 0x4cfa2d
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0xc
jne 0x4cfa2d
mov ecx, dword [esp + 0x24]
mov al, bl
inc al
mov byte [esi], 3
mov byte [ebp], al
mov edx, dword [ecx + 0x218]
mov ecx, dword [esp + 0x10]
mov edi, dword [edx]
mov dword [ecx], edi
mov dx, word [edx + 4]
mov byte [esi + 8], 3
mov word [ecx + 4], dx
mov ecx, dword [esp + 0x18]
mov byte [ecx], al
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 0x218]
mov eax, dword [esp + 0x14]
add edx, 6
mov edi, dword [edx]
mov dword [eax], edi
mov edi, dword [esp + 0x14]
mov dx, word [edx + 4]
mov word [eax + 4], dx
mov edx, dword [esp + 0x10]
mov eax, 0x10
add edx, eax
add ecx, eax
add edi, eax
add esi, eax
mov dword [esp + 0x10], edx
mov dl, byte [esp + 0x34]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], edi
add ebp, eax
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
test ebx, ebx
je 0x4cfa44
mov eax, dword [edi + 0x30]
test eax, eax
jle 0x4cfb3e
cmp ebx, ecx
je 0x4cfb3e
cmp dl, 1
jne 0x4cfa61
mov al, bl
mov byte [esi], 0x21
inc al
mov byte [esi + 3], 0
mov byte [ebp], al
jmp 0x4cfab0
cmp dl, 2
je 0x4cfaa2
cmp dl, 3
je 0x4cfaa2
cmp dl, 0x99
je 0x4cfaa2
cmp dl, 4
je 0x4cfa92
cmp dl, 8
je 0x4cfa92
cmp dl, 5
je 0x4cfa92
cmp dl, 6
je 0x4cfa92
cmp dl, 7
je 0x4cfa92
cmp dl, 0x20
jne 0x4cfc99
mov cl, bl
mov byte [esi], 0x41
inc cl
mov byte [esi + 3], 0x21
mov byte [ebp], cl
jmp 0x4cfab0
mov dl, bl
mov byte [esi], 0x41
inc dl
mov byte [esi + 3], 0x11
mov byte [ebp], dl
test ebx, ebx
jne 0x4cfab8
xor edi, edi
jmp 0x4cfac8
mov eax, dword [esp + 0x1c]
mov edi, dword [edi + 0x2c]
sub edi, dword [eax + 0x30]
add edi, 0x96
mov eax, 0x1b4e81b5
imul edi
sar edx, 3
mov ecx, edx
mov eax, 0x88888889
shr ecx, 0x1f
add edx, ecx
mov ecx, edx
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov byte [esi + 5], dl
mov ecx, 0x3c
cdq
idiv ecx
mov eax, edi
mov ecx, 0x4b
mov edi, dword [esp + 0x14]
mov byte [esi + 6], dl
cdq
idiv ecx
mov ecx, dword [esp + 0x18]
mov eax, 8
add ecx, eax
add edi, eax
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x1c]
mov byte [esi + 7], dl
mov edx, dword [esp + 0x10]
add edx, eax
add esi, eax
mov dword [esp + 0x10], edx
mov dl, byte [esp + 0x34]
add ebp, eax
cmp dl, 1
jne 0x4cfb57
cmp ebx, ecx
jne 0x4cfb4e
mov byte [esi], dl
mov byte [esi + 3], dl
jmp 0x4cfbac
mov byte [esi], 0x21
mov byte [esi + 3], 0
jmp 0x4cfbac
cmp dl, 2
je 0x4cfb9b
cmp dl, 3
je 0x4cfb9b
cmp dl, 0x99
je 0x4cfb9b
cmp dl, 4
je 0x4cfb88
cmp dl, 8
je 0x4cfb88
cmp dl, 5
je 0x4cfb88
cmp dl, 6
je 0x4cfb88
cmp dl, 7
je 0x4cfb88
cmp dl, 0x20
jne 0x4cfc99
cmp ebx, ecx
mov byte [esi], 0x41
jne 0x4cfb95
mov byte [esi + 3], 0x34
jmp 0x4cfbac
mov byte [esi + 3], 0x21
jmp 0x4cfbac
cmp ebx, ecx
mov byte [esi], 0x41
jne 0x4cfba8
mov byte [esi + 3], 0x14
jmp 0x4cfbac
mov byte [esi + 3], 0x11
mov edx, dword [esp + 0x10]
mov al, bl
inc al
cmp ebx, ecx
mov byte [esp + 0x34], al
mov byte [ebp], al
mov byte [edx], 1
jge 0x4cfbcd
mov ecx, dword [edi + 0x2c]
add ecx, 0x96
jmp 0x4cfbe8
mov eax, dword [edi - 0x974]
mov ecx, dword [edi - 0x968]
add eax, ecx
mov ecx, dword [edi - 0x960]
lea ecx, [eax + ecx + 0x96]
mov eax, 0x1b4e81b5
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x88888889
mov edi, edx
imul edi
add edx, edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, edi
mov byte [esi + 5], dl
mov edi, 0x3c
cdq
idiv edi
mov eax, ecx
mov ecx, 0x4b
mov byte [esi + 6], dl
cdq
idiv ecx
mov eax, dword [esp + 0x20]
cmp ebx, eax
mov byte [esi + 7], dl
jne 0x4cfc39
mov byte [ebp], 0xaa
jmp 0x4cfc40
mov dl, byte [esp + 0x34]
mov byte [ebp], dl
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov ecx, 8
add edx, ecx
add esi, ecx
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x10]
add edi, ecx
add edx, ecx
add ebp, ecx
inc ebx
cmp ebx, eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], edx
jle 0x4cf801
mov ebp, dword [esp + 0x28]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
sub esi, ebp
push esi
mov dword [ecx], ebp
push ebp
mov dword [edx], esi
call fcn.004f4f40
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov eax, dword [esp + 0x28]
push eax
call fcn.004b6a50
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret