Function at 0x48e6e0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x6c
push ebx
push ebp
push esi
push edi
mov edi, eax
mov ebx, dword [edi + 4]
mov eax, dword [edi]
lea ebp, [edi + 0x20]
add ebx, edi
lea esi, [esp + 0x70]
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], ebx
call fcn.0048a430
mov ecx, dword [edi + 0xc]
mov eax, dword [esp + 0x70]
mov dword [eax + 0xc], ecx
mov edx, dword [edi + 0x10]
mov dword [eax + 0x10], edx
mov eax, dword [esp + 0x74]
mov ecx, dword [eax]
mov edx, dword [ebp + 0x10]
mov edi, dword [ebx + 0xc]
add ecx, eax
mov eax, dword [ebx + 8]
add eax, edx
add edi, dword [ebp + 0x14]
lea eax, [eax + eax*2]
lea edx, [ecx + eax*4]
mov eax, dword [ebx + 0x10]
add eax, dword [ebp + 0x18]
mov dword [esp + 0x34], edx
lea eax, [eax + eax*2]
lea eax, [edx + eax*4]
mov edx, dword [ebp + 4]
add edx, ebp
mov dword [esp + 0x50], edx
mov edx, dword [ebp + 8]
add edx, ebp
xor esi, esi
add edi, eax
mov dword [esp + 0x40], eax
mov eax, dword [ebp]
mov dword [esp + 0x5c], edx
mov edx, dword [ebp + 0xc]
add eax, ebp
add edx, ebp
cmp dword [ebp + 0x10], esi
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x60], eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x24], esi
mov dword [esp + 0x30], esi
jle 0x48ecd3
mov dword [esp + 0x38], ecx
add ecx, 8
mov dword [esp + 0x3c], eax
mov dword [esp + 0x18], ecx
add eax, 8
lea ecx, [ebx + 0x18]
mov dword [esp + 0x28], eax
mov dword [esp + 0x48], ecx
jmp 0x48e7b4
mov ebx, dword [esp + 0x6c]
mov edx, dword [esp + 0x30]
cmp edx, dword [ebx + 8]
jge 0x48ecd3
mov ecx, dword [esp + 0x48]
movzx ebx, word [ecx]
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
add eax, dword [esp + 0x5c]
lea ebx, [ebx + ebx*2]
add ecx, 0x418
shl ebx, 6
add ebx, ecx
lea ecx, [ebx + 0x14]
mov dword [esp + 0x20], eax
mov dword [esp + 0x58], ebx
mov dword [esp + 0x44], ecx
call fcn.00481230
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x14]
mov dword [ecx], edx
mov edx, dword [esp + 0x10]
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x18]
mov dword [ecx], 0
test eax, eax
jge 0x48e967
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x28]
cmp dword [edx], 0
mov ecx, dword [esp + 0x50]
lea eax, [eax + eax*2]
lea ebx, [ecx + eax*4]
mov dword [esp + 0x58], 0
jbe 0x48e94d
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x34]
lea eax, [eax + eax*2]
lea ebp, [ecx + eax*4 + 8]
cmp word [ebx + 4], 0
je 0x48e8cd
mov eax, dword [ebx]
add eax, dword [esp + 0x54]
mov dword [ebp - 8], esi
mov dword [esp + 0x2c], eax
lea edx, [esi + edi]
je 0x48e8c9
test edx, edx
je 0x48e88f
movzx ecx, word [eax]
add ecx, 2
cmp ecx, 0x82
ja 0x48e88f
push ecx
push eax
push 0x82
push edx
call fcn.004e9d6d
mov eax, dword [esp + 0x3c]
add esp, 0x10
movzx eax, word [eax]
inc dword [esp + 0x10]
movzx ecx, ax
lea esi, [esi + ecx + 2]
mov byte [esi + edi], 0
mov byte [esi + edi + 1], 0
mov dx, word [ebx + 4]
inc esi
mov word [ebp - 4], dx
mov eax, dword [ebx + 8]
mov dword [ebp], eax
mov cx, word [ebx + 6]
mov eax, dword [esp + 0x18]
mov word [ebp - 2], cx
inc esi
add ebp, 0xc
inc dword [eax]
jmp 0x48e8d1
xor eax, eax
jmp 0x48e892
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x28]
inc ecx
add ebx, 0xc
mov dword [esp + 0x58], ecx
cmp ecx, dword [edx]
jb 0x48e850
cmp dword [eax], 0
jbe 0x48e94d
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
add ecx, eax
cmp dword [esp + 0x20], 0
je 0x48e963
test ecx, ecx
je 0x48e926
mov edx, dword [esp + 0x20]
movzx eax, word [edx]
add eax, 2
cmp eax, 0x82
ja 0x48e926
push eax
mov eax, edx
push eax
push 0x82
push ecx
call fcn.004e9d6d
add esp, 0x10
mov ecx, dword [esp + 0x20]
movzx eax, word [ecx]
inc dword [esp + 0x1c]
movzx edx, ax
mov eax, dword [esp + 0x14]
lea ecx, [eax + edx + 2]
mov eax, 0xc
add dword [esp + 0x38], eax
add dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
inc dword [esp + 0x24]
mov eax, 0xc
add dword [esp + 0x3c], eax
add dword [esp + 0x28], eax
jmp 0x48ecc2
xor eax, eax
jmp 0x48e92d
jle 0x48eaa8
mov ebx, dword [ebx + 0x10]
cmp ebx, 0xffffffff
je 0x48ea9a
mov eax, dword [esp + 0x10]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x34]
lea eax, [eax + edx*4 + 8]
mov dword [esp + 0x58], eax
lea esp, [esp]
mov ecx, dword [esp + 0x6c]
lea ebx, [ebx + ebx*2]
shl ebx, 6
add ecx, 0x418
add ebx, ecx
cmp word [ebx + 4], 0
je 0x48ea21
lea ecx, [ebx + 0x10]
mov dword [eax - 8], esi
lea edx, [esi + edi]
test ecx, ecx
je 0x48e9df
test edx, edx
je 0x48e9df
movzx ecx, word [ecx]
add ecx, 2
cmp ecx, 0x82
ja 0x48e9df
push ecx
lea eax, [ebx + 0x10]
push eax
push 0x82
push edx
call fcn.004e9d6d
mov eax, dword [esp + 0x68]
add esp, 0x10
lea ecx, [ebx + 0x10]
test ecx, ecx
je 0x48e9e9
movzx ecx, word [ecx]
inc dword [esp + 0x10]
movzx ecx, cx
lea esi, [esi + ecx + 2]
mov byte [esi + edi], 0
mov byte [esi + edi + 1], 0
movzx edx, word [ebx + 4]
inc esi
mov word [eax - 4], dx
mov ecx, dword [ebx + 8]
mov dword [eax], ecx
movzx edx, word [ebx + 6]
mov ecx, dword [esp + 0x18]
mov word [eax - 2], dx
add eax, 0xc
inc esi
inc dword [ecx]
mov dword [esp + 0x58], eax
mov ebx, dword [ebx + 0xc]
cmp ebx, 0xffffffff
jne 0x48e990
mov eax, dword [esp + 0x18]
cmp dword [eax], 0
jbe 0x48ea9a
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x14]
add edx, ecx
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x48ea73
test edx, edx
je 0x48ea6f
movzx eax, word [ecx]
add eax, 2
cmp eax, 0x82
ja 0x48ea6f
push eax
mov eax, ecx
push eax
push 0x82
push edx
call fcn.004e9d6d
mov ecx, dword [esp + 0x54]
add esp, 0x10
test ecx, ecx
jne 0x48ea77
xor eax, eax
jmp 0x48ea7a
movzx eax, word [ecx]
mov edx, dword [esp + 0x14]
inc dword [esp + 0x1c]
movzx ecx, ax
lea eax, [edx + ecx + 2]
mov dword [esp + 0x14], eax
mov eax, 0xc
add dword [esp + 0x38], eax
add dword [esp + 0x18], eax
inc dword [esp + 0x30]
add dword [esp + 0x48], 2
jmp 0x48ecc6
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x28]
cmp dword [ecx], 0
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x50]
lea ebx, [eax + edx*4]
mov dword [esp + 0x20], 0
jbe 0x48eb75
mov eax, dword [esp + 0x10]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x34]
lea ebp, [eax + edx*4 + 8]
lea ecx, [ecx]
cmp word [ebx + 4], 0
je 0x48eb5d
mov eax, dword [ebx]
add eax, dword [esp + 0x54]
mov dword [ebp - 8], esi
mov dword [esp + 0x2c], eax
lea edx, [esi + edi]
je 0x48ebe4
test edx, edx
je 0x48eb25
movzx ecx, word [eax]
add ecx, 2
cmp ecx, 0x82
ja 0x48eb25
push ecx
mov ecx, eax
push ecx
push 0x82
push edx
call fcn.004e9d6d
mov eax, dword [esp + 0x3c]
add esp, 0x10
movzx eax, word [eax]
inc dword [esp + 0x10]
movzx edx, ax
lea esi, [esi + edx + 2]
mov byte [esi + edi], 0
mov byte [esi + edi + 1], 0
mov ax, word [ebx + 4]
inc esi
mov word [ebp - 4], ax
mov ecx, dword [ebx + 8]
mov eax, dword [esp + 0x18]
mov dword [ebp], ecx
mov dx, word [ebx + 6]
mov word [ebp - 2], dx
inc esi
add ebp, 0xc
inc dword [eax]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
inc eax
add ebx, 0xc
mov dword [esp + 0x20], eax
cmp eax, dword [ecx]
jb 0x48eae0
mov edx, dword [esp + 0x58]
mov ebx, dword [edx + 0x10]
cmp ebx, 0xffffffff
je 0x48ec2f
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x34]
lea eax, [eax + eax*2]
lea ebp, [ecx + eax*4 + 8]
mov eax, dword [esp + 0x6c]
lea ebx, [ebx + ebx*2]
shl ebx, 6
add eax, 0x418
add ebx, eax
cmp word [ebx + 4], 0
je 0x48ec23
lea eax, [ebx + 0x10]
mov dword [ebp - 8], esi
lea edx, [esi + edi]
test eax, eax
je 0x48ebdb
test edx, edx
je 0x48ebdb
movzx ecx, word [eax]
add ecx, 2
cmp ecx, 0x82
ja 0x48ebdb
push ecx
push eax
push 0x82
push edx
call fcn.004e9d6d
add esp, 0x10
lea eax, [ebx + 0x10]
test eax, eax
jne 0x48ebeb
jmp 0x48ebee
xor eax, eax
jmp 0x48eb28
movzx eax, word [eax]
inc dword [esp + 0x10]
movzx edx, ax
lea esi, [esi + edx + 2]
mov byte [esi + edi], 0
mov byte [esi + edi + 1], 0
mov ax, word [ebx + 4]
inc esi
mov word [ebp - 4], ax
mov ecx, dword [ebx + 8]
mov eax, dword [esp + 0x18]
mov dword [ebp], ecx
mov dx, word [ebx + 6]
mov word [ebp - 2], dx
inc esi
add ebp, 0xc
inc dword [eax]
mov ebx, dword [ebx + 0xc]
cmp ebx, 0xffffffff
jne 0x48eb94
mov eax, dword [esp + 0x18]
cmp dword [eax], 0
jbe 0x48eca3
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x14]
add edx, ecx
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x48ec75
test edx, edx
je 0x48ec71
movzx eax, word [ecx]
add eax, 2
cmp eax, 0x82
ja 0x48ec71
push eax
mov eax, ecx
push eax
push 0x82
push edx
call fcn.004e9d6d
mov ecx, dword [esp + 0x54]
add esp, 0x10
test ecx, ecx
jne 0x48ec79
xor eax, eax
jmp 0x48ec7c
movzx eax, word [ecx]
mov edx, dword [esp + 0x14]
movzx ecx, ax
lea eax, [edx + ecx + 2]
mov dword [esp + 0x14], eax
mov eax, 0xc
add dword [esp + 0x38], eax
mov ecx, 1
add dword [esp + 0x1c], ecx
add dword [esp + 0x18], eax
jmp 0x48eca8
mov ecx, 1
add dword [esp + 0x24], ecx
add dword [esp + 0x30], ecx
mov eax, 0xc
add dword [esp + 0x3c], eax
add dword [esp + 0x28], eax
add dword [esp + 0x48], 2
mov ebp, dword [esp + 0x68]
mov ecx, dword [esp + 0x24]
cmp ecx, dword [ebp + 0x10]
jl 0x48e7b0
mov edx, dword [esp + 0x24]
cmp edx, dword [ebp + 0x10]
jge 0x48ee7a
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
lea eax, [eax + eax*2]
lea ecx, [ecx + eax*4 + 8]
mov eax, edx
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x60]
lea eax, [eax + edx*4 + 8]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x44], eax
jmp 0x48ed14
mov ecx, dword [esp + 0x48]
mov edx, dword [eax - 8]
add edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x20], edx
mov edx, dword [eax - 4]
lea edx, [edx + edx*2]
lea ebx, [ebx + edx*4]
mov edx, dword [esp + 0x14]
mov dword [ecx - 8], edx
mov edx, dword [esp + 0x10]
mov dword [ecx - 4], edx
mov dword [ecx], 0
cmp dword [eax], 0
mov dword [esp + 0x58], 0
jbe 0x48ee59
mov ecx, dword [esp + 0x34]
mov eax, edx
lea eax, [eax + eax*2]
lea ebp, [ecx + eax*4 + 8]
mov edi, edi
cmp word [ebx + 4], 0
je 0x48eddd
mov eax, dword [ebx]
add eax, dword [esp + 0x54]
mov dword [ebp - 8], esi
mov dword [esp + 0x2c], eax
lea edx, [esi + edi]
je 0x48edd9
test edx, edx
je 0x48ed9f
movzx ecx, word [eax]
add ecx, 2
cmp ecx, 0x82
ja 0x48ed9f
push ecx
push eax
push 0x82
push edx
call fcn.004e9d6d
mov eax, dword [esp + 0x3c]
add esp, 0x10
movzx eax, word [eax]
inc dword [esp + 0x10]
movzx ecx, ax
lea esi, [esi + ecx + 2]
mov byte [esi + edi], 0
mov byte [esi + edi + 1], 0
mov dx, word [ebx + 4]
inc esi
mov word [ebp - 4], dx
mov eax, dword [ebx + 8]
mov dword [ebp], eax
mov cx, word [ebx + 6]
mov eax, dword [esp + 0x48]
mov word [ebp - 2], cx
inc esi
add ebp, 0xc
inc dword [eax]
jmp 0x48ede1
xor eax, eax
jmp 0x48eda2
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x44]
inc ecx
add ebx, 0xc
mov dword [esp + 0x58], ecx
cmp ecx, dword [edx]
jb 0x48ed60
cmp dword [eax], 0
jbe 0x48ee59
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
add ecx, eax
cmp dword [esp + 0x20], 0
je 0x48ef43
test ecx, ecx
je 0x48ee3a
mov edx, dword [esp + 0x20]
movzx eax, word [edx]
add eax, 2
cmp eax, 0x82
ja 0x48ee3a
push eax
mov eax, edx
push eax
push 0x82
push ecx
call fcn.004e9d6d
add esp, 0x10
mov ecx, dword [esp + 0x20]
movzx eax, word [ecx]
inc dword [esp + 0x1c]
add dword [esp + 0x48], 0xc
movzx edx, ax
mov eax, dword [esp + 0x14]
lea ecx, [eax + edx + 2]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x68]
inc ecx
add eax, 0xc
cmp ecx, dword [edx + 0x10]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x44], eax
jl 0x48ed10
mov ebx, dword [esp + 0x30]
mov edx, dword [esp + 0x6c]
cmp ebx, dword [edx + 8]
jge 0x48f00d
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
lea eax, [eax + eax*2]
lea ecx, [ecx + eax*4 + 8]
lea eax, [edx + ebx*2 + 0x18]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x50]
movzx eax, word [eax]
lea ebx, [eax + eax*2]
shl ebx, 6
lea eax, [edx + 0x418]
add ebx, eax
mov eax, dword [esp + 0x14]
mov dword [ecx - 8], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x58], ebx
mov dword [ecx - 4], eax
mov dword [ecx], 0
mov ebx, dword [ebx + 0x10]
cmp ebx, 0xffffffff
je 0x48eff6
mov ebp, dword [esp + 0x34]
lea eax, [eax + eax*2]
lea ebp, [ebp + eax*4 + 8]
lea ebx, [ebx]
lea ebx, [ebx + ebx*2]
shl ebx, 6
lea eax, [edx + 0x418]
add ebx, eax
cmp word [ebx + 4], 0
je 0x48ef82
lea eax, [ebx + 0x10]
mov dword [ebp - 8], esi
lea edx, [esi + edi]
test eax, eax
je 0x48ef3a
test edx, edx
je 0x48ef3a
movzx eax, word [eax]
add eax, 2
cmp eax, 0x82
ja 0x48ef3a
push eax
lea eax, [ebx + 0x10]
push eax
push 0x82
push edx
call fcn.004e9d6d
mov ecx, dword [esp + 0x64]
add esp, 0x10
lea eax, [ebx + 0x10]
test eax, eax
jne 0x48ef4a
jmp 0x48ef4d
xor eax, eax
jmp 0x48ee41
movzx eax, word [eax]
inc dword [esp + 0x10]
movzx edx, ax
lea esi, [esi + edx + 2]
mov byte [esi + edi], 0
mov byte [esi + edi + 1], 0
movzx eax, word [ebx + 4]
inc esi
mov word [ebp - 4], ax
mov edx, dword [ebx + 8]
mov dword [ebp], edx
movzx eax, word [ebx + 6]
mov edx, dword [esp + 0x6c]
mov word [ebp - 2], ax
inc esi
add ebp, 0xc
inc dword [ecx]
mov ebx, dword [ebx + 0xc]
cmp ebx, 0xffffffff
jne 0x48eef0
cmp dword [ecx], 0
jbe 0x48eff6
mov ebx, dword [esp + 0x58]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x14]
add ebx, 0x14
add edx, eax
test ebx, ebx
je 0x48efd1
test edx, edx
je 0x48efcd
movzx eax, word [ebx]
add eax, 2
cmp eax, 0x82
ja 0x48efcd
push eax
push ebx
push 0x82
push edx
call fcn.004e9d6d
mov ecx, dword [esp + 0x64]
add esp, 0x10
test ebx, ebx
jne 0x48efd5
xor eax, eax
jmp 0x48efd8
movzx eax, word [ebx]
inc dword [esp + 0x1c]
movzx edx, ax
mov eax, dword [esp + 0x14]
lea edx, [eax + edx + 2]
add ecx, 0xc
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x54], ecx
mov eax, dword [esp + 0x30]
add dword [esp + 0x50], 2
inc eax
cmp eax, dword [edx + 8]
mov dword [esp + 0x30], eax
jl 0x48eea6
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x14]
mov dword [eax + 0x18], ecx
mov dword [eax + 0x10], edx
lea edx, [edx + edx*2]
lea edx, [ebx + edx*4]
lea ebx, [ecx + ecx*2]
mov ecx, edx
sub ecx, dword [esp + 0x4c]
add ebx, ebx
add ecx, 0x20
add ebx, ebx
mov dword [eax + 4], ecx
sub ecx, edx
mov dword [esp + 0x60], ebx
add ebx, edx
add ecx, ebx
mov dword [eax + 8], ecx
mov dword [eax + 0x14], ebp
add ebp, ebx
sub ecx, ebx
add ecx, ebp
mov dword [eax + 0x1c], esi
mov dword [eax], 0x20
mov dword [eax + 0xc], ecx
cmp edx, dword [esp + 0x34]
jae 0x48f07b
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x34]
push eax
push ecx
push edx
call fcn.004e44c0
add esp, 0xc
cmp ebx, dword [esp + 0x40]
jae 0x48f094
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x40]
push edx
push eax
push ebx
call fcn.004e44c0
add esp, 0xc
cmp ebp, edi
jae 0x48f0a3
push esi
push edi
push ebp
call fcn.004e44c0
add esp, 0xc
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x6c
ret