Function at 0x48f7aa
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov ebx, dword [edi + 0xc]
mov ecx, dword [ebx + 0x38]
movzx esi, byte [ecx + 0x24]
movzx eax, byte [ecx + 0x25]
mov edx, dword [edi + 0x2c]
shl esi, 8
or esi, eax
movzx eax, byte [ecx + 0x26]
movzx ecx, byte [ecx + 0x27]
shl esi, 8
or esi, eax
shl esi, 8
or esi, ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], ebx
mov dword [esp + 0x28], edx
cmp esi, edx
jb 0x48f81a
push 0x100b2144
push 0xdce8
push 0x100b2308
push 0xb
call fcn.0048445a
add esp, 0x10
mov eax, 0xb
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x48fe8e
mov al, byte [ebp + 0x18]
mov byte [esp + 0xe], 0
cmp al, 1
jne 0x48f855
mov eax, dword [ebp + 0x14]
cmp eax, edx
ja 0x48f85e
lea edx, [esp + 0xf]
push 0
push edx
mov ecx, edi
call fcn.0048ea9a
add esp, 8
test eax, eax
jne 0x48ffc1
cmp byte [esp + 0xf], 2
jmp 0x48f857
cmp al, 2
jne 0x48f85e
mov byte [esp + 0xe], 1
mov eax, dword [ebx + 0x44]
push eax
call fcn.004601ca
add esp, 4
test eax, eax
jne 0x48ffc1
mov eax, dword [ebx + 0x38]
lea ecx, [esi - 1]
mov edx, ecx
shr edx, 0x18
mov byte [eax + 0x24], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 0x25], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 0x26], dl
mov byte [eax + 0x27], cl
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
test eax, eax
je 0x48f8b6
mov eax, dword [eax + 0x38]
movzx esi, byte [eax]
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl esi, 8
jmp 0x48f8cc
mov eax, dword [ebx + 0x38]
movzx ecx, byte [eax + 0x20]
movzx esi, byte [eax + 0x21]
movzx edx, byte [eax + 0x22]
movzx eax, byte [eax + 0x23]
shl ecx, 8
or esi, ecx
shl esi, 8
or esi, edx
shl esi, 8
or esi, eax
cmp esi, dword [esp + 0x28]
ja 0x48fda1
mov edx, dword [edi]
push 0
lea ecx, [esp + 0x34]
push ecx
push esi
push edx
call fcn.0048dd3a
add esp, 0x10
test eax, eax
jne 0x48fdc4
mov eax, dword [esp + 0x30]
mov ebx, dword [eax + 8]
mov ecx, dword [eax + 4]
cmp esi, 1
setne dl
mov dword [ebx + 0x38], ecx
mov ecx, dword [ebp + 8]
dec dl
and dl, 0x64
mov byte [ebx + 5], dl
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x34], ecx
mov dword [ebx + 0x48], esi
mov eax, dword [ebx + 0x38]
movzx edx, byte [eax + 4]
movzx edi, byte [eax + 5]
shl edx, 8
or edi, edx
movzx edx, byte [eax + 6]
shl edi, 8
mov dword [esp + 0x18], eax
movzx eax, byte [eax + 7]
or edi, edx
shl edi, 8
or edi, eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0x2c], edi
jne 0x48f9a1
cmp byte [esp + 0xe], 0
jne 0x48f9a1
mov ecx, dword [ebx + 0x44]
push ecx
call fcn.004601ca
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x48fdeb
mov edx, dword [ebp + 0x10]
mov ecx, dword [esp + 0x20]
mov eax, dword [ebx + 0x38]
mov eax, dword [eax]
mov dword [edx], esi
mov edx, dword [ecx + 0x38]
mov ecx, dword [ebp + 0xc]
mov dword [edx + 0x20], eax
mov dword [ecx], ebx
mov dword [esp + 0x1c], 0
jmp 0x48fd76
mov edx, dword [ecx + 0x24]
shr edx, 2
sub edx, 2
cmp edi, edx
ja 0x48fdca
cmp byte [esp + 0xe], 0
je 0x48fb81
mov eax, dword [ebp + 0x14]
cmp esi, eax
je 0x48f9d4
jae 0x48fb81
cmp byte [ebp + 0x18], 2
jne 0x48fb81
mov edx, dword [ebx + 0x44]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
push edx
mov dword [eax], esi
mov dword [ecx], ebx
mov byte [esp + 0x12], 0
call fcn.004601ca
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x48fdeb
test edi, edi
jne 0x48fa52
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x48fa1f
mov eax, dword [ebx + 0x38]
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0x38]
mov eax, dword [eax]
mov dword [edx + 0x20], eax
mov dword [esp + 0x1c], edi
jmp 0x48fd76
mov ecx, dword [eax + 0x44]
push ecx
call fcn.004601ca
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x48fdeb
mov edx, dword [ebx + 0x38]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x38]
mov edx, dword [edx]
mov dword [ecx], edx
mov dword [esp + 0x1c], 0
jmp 0x48fd76
mov ecx, dword [ebx + 0x38]
add ecx, 8
call fcn.0043018a
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x28]
ja 0x48fe5f
mov esi, dword [esp + 0x18]
mov edi, dword [ebp + 8]
lea eax, [esp + 0x34]
push eax
xor eax, eax
call fcn.0048ea4a
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x48fdeb
mov esi, dword [esp + 0x34]
mov ecx, dword [esi + 0x44]
push ecx
call fcn.004601ca
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x48fe72
mov edx, dword [ebx + 0x38]
mov ecx, dword [edx]
mov eax, dword [esi + 0x38]
mov dword [eax], ecx
mov ecx, dword [esp + 0x2c]
mov eax, dword [esi + 0x38]
dec ecx
mov edx, ecx
shr edx, 0x18
mov byte [eax + 4], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 5], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 6], dl
mov byte [eax + 7], cl
mov edx, dword [esi + 0x38]
lea eax, [ecx*4]
mov ecx, dword [ebx + 0x38]
push eax
add ecx, 0xc
push ecx
add edx, 8
push edx
call fcn.004ce718
mov eax, dword [esi + 0x44]
add esp, 0xc
call fcn.0043d42a
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x48fb37
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x38]
mov edx, ecx
shr edx, 0x18
mov byte [eax + 0x20], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 0x21], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 0x22], dl
mov byte [eax + 0x23], cl
mov dword [esp + 0x1c], 0
jmp 0x48fd76
mov eax, dword [eax + 0x44]
push eax
call fcn.004601ca
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x48fdeb
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x38]
mov ecx, dword [esp + 0x18]
mov edx, ecx
shr edx, 0x18
mov byte [eax], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 1], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 2], dl
mov byte [eax + 3], cl
mov dword [esp + 0x1c], 0
jmp 0x48fd76
test edi, edi
je 0x48fd76
xor esi, esi
cmp dword [ebp + 0x14], esi
jbe 0x48fc6c
cmp byte [ebp + 0x18], 2
mov dword [esp + 0x24], esi
jne 0x48fbea
xor ecx, ecx
test edi, edi
je 0x48fc6c
mov eax, dword [esp + 0x18]
add eax, 0xa
movzx edx, byte [eax - 2]
movzx esi, byte [eax - 1]
shl edx, 8
or edx, esi
movzx esi, byte [eax]
shl edx, 8
or edx, esi
movzx esi, byte [eax + 1]
shl edx, 8
or edx, esi
cmp edx, dword [ebp + 0x14]
jbe 0x48fbe3
inc ecx
add eax, 4
cmp ecx, edi
jb 0x48fbaf
mov esi, dword [esp + 0x24]
jmp 0x48fc6c
mov esi, ecx
jmp 0x48fc6c
mov ecx, dword [esp + 0x18]
add ecx, 8
call fcn.0043018a
sub eax, dword [ebp + 0x14]
call fcn.0043008a
mov dword [esp + 0x2c], eax
mov eax, 1
cmp edi, eax
jbe 0x48fc6c
mov edx, dword [esp + 0x18]
add edx, 0xe
jmp 0x48fc1a
movzx ecx, byte [edx - 2]
movzx esi, byte [edx - 1]
shl ecx, 8
or ecx, esi
movzx esi, byte [edx]
shl ecx, 8
or ecx, esi
movzx esi, byte [edx + 1]
shl ecx, 8
or ecx, esi
sub ecx, dword [ebp + 0x14]
jns 0x48fc4e
cmp ecx, 0x80000000
jne 0x48fc4c
mov ecx, 0x7fffffff
jmp 0x48fc4e
neg ecx
cmp ecx, dword [esp + 0x2c]
jge 0x48fc60
mov esi, eax
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], ecx
jmp 0x48fc64
mov esi, dword [esp + 0x24]
inc eax
add edx, 4
cmp eax, edi
jb 0x48fc1a
mov ecx, dword [esp + 0x18]
movzx eax, byte [ecx + esi*4 + 8]
movzx edx, byte [ecx + esi*4 + 9]
shl eax, 8
or eax, edx
movzx edx, byte [ecx + esi*4 + 0xa]
movzx ecx, byte [ecx + esi*4 + 0xb]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
cmp eax, dword [esp + 0x28]
ja 0x48fe7f
cmp byte [esp + 0xe], 0
je 0x48fcbb
mov ecx, dword [ebp + 0x14]
cmp eax, ecx
je 0x48fcbb
jae 0x48fd76
cmp byte [ebp + 0x18], 2
jne 0x48fd76
mov edx, dword [ebp + 0x10]
mov dword [edx], eax
mov eax, dword [ebx + 0x44]
push eax
call fcn.004601ca
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x48fdeb
mov ecx, dword [esp + 0x18]
lea eax, [edi - 1]
cmp esi, eax
jae 0x48fceb
mov edx, dword [ecx + edi*4 + 4]
mov dword [ecx + esi*4 + 8], edx
mov edx, eax
shr edx, 0x18
mov byte [ecx + 4], dl
mov edx, eax
shr edx, 0x10
mov byte [ecx + 5], dl
mov edx, eax
shr edx, 8
mov byte [ecx + 7], al
mov eax, dword [ebp + 0x10]
mov esi, dword [eax]
mov byte [ecx + 6], dl
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x3c]
test ecx, ecx
je 0x48fd2b
cmp esi, dword [ecx]
ja 0x48fd24
mov eax, esi
call fcn.0042f6fa
test eax, eax
je 0x48fd2b
mov eax, 1
jmp 0x48fd2d
xor eax, eax
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
xor edx, edx
test eax, eax
sete dl
push ebx
mov eax, edx
call fcn.0048ea4a
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
jne 0x48fd71
mov eax, dword [ebx]
mov ecx, dword [eax + 0x44]
push ecx
call fcn.004601ca
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
je 0x48fd71
mov ebx, dword [ebx]
test ebx, ebx
je 0x48fd71
mov eax, dword [ebx + 0x44]
call fcn.0043d42a
mov byte [esp + 0xe], 0
mov eax, dword [esp + 0x14]
test eax, eax
je 0x48fd86
mov eax, dword [eax + 0x44]
call fcn.0043d42a
cmp byte [esp + 0xe], 0
mov dword [esp + 0x14], 0
je 0x48fdeb
mov edi, dword [ebp + 8]
mov ebx, dword [esp + 0x20]
jmp 0x48f893
push 0x100b2144
push 0xdd19
push 0x100b2308
push 0xb
call fcn.0048445a
add esp, 0x10
mov dword [esp + 0x10], 0xb
jmp 0x48fdfb
mov dword [esp + 0x10], eax
jmp 0x48fdfb
push 0x100b2144
push 0xdd35
push 0x100b2308
push 0xb
call fcn.0048445a
add esp, 0x10
mov dword [esp + 0x10], 0xb
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x48fdfb
mov eax, dword [eax + 0x44]
call fcn.0043d42a
mov eax, dword [esp + 0x14]
test eax, eax
je 0x48fe0b
mov eax, dword [eax + 0x44]
call fcn.0043d42a
cmp dword [esp + 0x10], 0
jne 0x48ffb4
mov esi, dword [ebp + 0xc]
mov eax, dword [esi]
mov ecx, dword [eax + 0x44]
cmp word [ecx + 0x1a], 1
jle 0x48ffa6
test eax, eax
je 0x48fe34
mov eax, ecx
call fcn.0043d42a
push 0x100b2144
push 0xddfb
push 0x100b2308
push 0xb
mov dword [esi], 0
call fcn.0048445a
add esp, 0x10
mov eax, 0xb
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0xdd57
call fcn.0048450a
mov dword [esp + 0x10], eax
jmp 0x48fdeb
mov eax, dword [esi + 0x44]
call fcn.0043d42a
jmp 0x48fdeb
push 0x100b2144
push 0xdd98
jmp 0x48fdd4
mov eax, dword [ebx + 0x44]
xor edx, edx
cmp byte [edi + 0x13], dl
push eax
sete dl
mov dword [esp + 0x2c], edx
call fcn.004601ca
add esp, 4
test eax, eax
jne 0x48ffc1
mov eax, dword [0x100b7120]
xor edx, edx
div dword [edi + 0x20]
inc dword [edi + 0x2c]
mov ecx, dword [edi + 0x2c]
inc eax
cmp ecx, eax
jne 0x48fec7
inc ecx
mov dword [edi + 0x2c], ecx
cmp byte [edi + 0x11], 0
je 0x48ff3a
mov esi, dword [edi + 0x2c]
mov ecx, esi
call fcn.0042e82a
cmp eax, esi
jne 0x48ff3a
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x2c]
push ecx
mov dword [esp + 0x30], 0
call fcn.0048ea4a
mov esi, eax
add esp, 4
test esi, esi
jne 0x48ff18
mov ebx, dword [esp + 0x2c]
mov edx, dword [ebx + 0x44]
push edx
call fcn.004601ca
mov esi, eax
mov eax, dword [ebx + 0x44]
add esp, 4
call fcn.0043d42a
test esi, esi
je 0x48ff21
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x100b7120]
xor edx, edx
div dword [edi + 0x20]
inc dword [edi + 0x2c]
mov ecx, dword [edi + 0x2c]
inc eax
cmp ecx, eax
jne 0x48ff3a
inc ecx
mov dword [edi + 0x2c], ecx
mov ecx, dword [edi + 0x2c]
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x38]
mov ebx, dword [ebp + 0xc]
mov edx, ecx
shr edx, 0x18
mov byte [eax + 0x1c], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 0x1d], dl
mov edx, ecx
shr edx, 8
mov byte [eax + 0x1e], dl
mov byte [eax + 0x1f], cl
mov esi, dword [edi + 0x2c]
mov eax, dword [ebp + 0x10]
mov dword [eax], esi
mov eax, dword [esp + 0x28]
push ebx
call fcn.0048ea4a
add esp, 4
test eax, eax
jne 0x48ffc1
mov ecx, dword [ebx]
mov edx, dword [ecx + 0x44]
push edx
call fcn.004601ca
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
je 0x48fe16
mov ebx, dword [ebx]
test ebx, ebx
je 0x48fe0b
mov eax, dword [ebx + 0x44]
jmp 0x48fe06
mov byte [eax], 0
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0xc]
mov eax, dword [esp + 0x10]
mov dword [edx], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret