Function at 0x100add90
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa0
mov eax, dword [0x101f9224]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
push esi
mov esi, dword [ebp + 8]
push edi
mov edx, dword [ebx + 6]
mov ecx, dword [ebx + 0xa]
mov dword [ebp - 0x88], esi
lea eax, [edx + 0xb]
cmp eax, ecx
jae 0x100addf1
mov ecx, dword [ebx + 0x22]
dec ecx
add ecx, edx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x100addc4
mov eax, dword [0x101a919c]
mov dword [ecx], eax
mov eax, dword [0x101a91a0]
mov dword [ecx + 4], eax
mov eax, dword [0x101a91a4]
mov dword [ecx + 8], eax
add dword [ebx + 6], 0xb
mov edx, dword [ebx + 6]
mov ecx, dword [ebx + 0xa]
jmp 0x100addf5
mov byte [ebx + 1], 1
lea eax, [edx + 0xb]
cmp eax, ecx
jae 0x100ade29
mov ecx, dword [ebx + 0x22]
dec ecx
add ecx, edx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x100ade02
mov eax, dword [0x101a91a8]
mov dword [ecx], eax
mov eax, dword [0x101a91ac]
mov dword [ecx + 4], eax
mov eax, dword [0x101a91b0]
mov dword [ecx + 8], eax
add dword [ebx + 6], 0xb
jmp 0x100ade2d
mov byte [ebx + 1], 1
mov eax, dword [esi + 4]
mov dword [ebp - 0x94], eax
test eax, eax
jne 0x100ade5b
movzx eax, word [esi + 8]
mov word [ebp - 0x90], ax
movzx eax, word [esi + 0xa]
mov word [ebp - 0x8e], ax
movzx eax, word [esi + 0xc]
mov word [ebp - 0x8c], ax
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0xa0]
call fcn.1003afe0
lea eax, [ebp - 0xa0]
mov ecx, ebx
push eax
call fcn.100abf60
mov edx, dword [ebx + 6]
mov ecx, dword [ebx + 0xa]
lea eax, [edx + 1]
cmp eax, ecx
jae 0x100adeae
mov edi, dword [ebx + 0x22]
dec edi
add edi, edx
mov edi, edi
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x100ade90
mov ax, word [0x101a8d48]
mov word [edi], ax
inc dword [ebx + 6]
mov edx, dword [ebx + 6]
mov ecx, dword [ebx + 0xa]
jmp 0x100adeb2
mov byte [ebx + 1], 1
lea eax, [edx + 0xb]
cmp eax, ecx
jae 0x100adee7
mov ecx, dword [ebx + 0x22]
dec ecx
add ecx, edx
nop
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x100adec0
mov eax, dword [0x101a91b4]
mov dword [ecx], eax
mov eax, dword [0x101a91b8]
mov dword [ecx + 4], eax
mov eax, dword [0x101a91bc]
mov dword [ecx + 8], eax
add dword [ebx + 6], 0xb
jmp 0x100adeeb
mov byte [ebx + 1], 1
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x94], eax
test eax, eax
jne 0x100adf19
movzx eax, word [esi + 0x14]
mov word [ebp - 0x90], ax
movzx eax, word [esi + 0x16]
mov word [ebp - 0x8e], ax
movzx eax, word [esi + 0x18]
mov word [ebp - 0x8c], ax
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0xa0]
call fcn.1003b290
lea eax, [ebp - 0xa0]
mov ecx, ebx
push eax
call fcn.100abf60
mov ecx, dword [ebx + 6]
lea eax, [ecx + 1]
cmp eax, dword [ebx + 0xa]
jae 0x100adf68
mov edi, dword [ebx + 0x22]
dec edi
add edi, ecx
lea ebx, [ebx]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x100adf50
mov ax, word [0x101a8d48]
mov word [edi], ax
inc dword [ebx + 6]
jmp 0x100adf6c
mov byte [ebx + 1], 1
push dword [esi + 0x1c]
lea eax, [ebp - 0x84]
push str.ldlinetype_d
push 0x80
push eax
call fcn.1002de40
lea ecx, [ebp - 0x84]
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100adf91
mov eax, dword [ebx + 6]
sub ecx, edx
add eax, ecx
cmp eax, dword [ebx + 0xa]
jae 0x100adff4
lea edx, [ebp - 0x84]
mov esi, edx
lea esp, [esp]
mov al, byte [edx]
inc edx
test al, al
jne 0x100adfb0
mov edi, dword [ebx + 0x22]
sub edx, esi
dec edi
add edi, dword [ebx + 6]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x100adfc0
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x84]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100adfe0
mov esi, dword [ebp - 0x88]
sub ecx, edx
add dword [ebx + 6], ecx
jmp 0x100adff8
mov byte [ebx + 1], 1
push dword [esi + 0x20]
lea eax, [ebp - 0x84]
push str.ldmarktype_d
push 0x80
push eax
call fcn.1002de40
lea ecx, [ebp - 0x84]
add esp, 0x10
lea edx, [ecx + 1]
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ae020
mov eax, dword [ebx + 6]
sub ecx, edx
add eax, ecx
cmp eax, dword [ebx + 0xa]
jae 0x100ae084
lea edx, [ebp - 0x84]
mov esi, edx
jmp 0x100ae040
mov al, byte [edx]
inc edx
test al, al
jne 0x100ae040
mov edi, dword [ebx + 0x22]
sub edx, esi
dec edi
add edi, dword [ebx + 6]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x100ae050
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x84]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ae070
mov esi, dword [ebp - 0x88]
sub ecx, edx
add dword [ebx + 6], ecx
jmp 0x100ae088
mov byte [ebx + 1], 1
push dword [esi + 0x24]
lea eax, [ebp - 0x84]
push str.ldlinewidth_d
push 0x80
push eax
call fcn.1002de40
lea ecx, [ebp - 0x84]
add esp, 0x10
lea edx, [ecx + 1]
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ae0b0
mov eax, dword [ebx + 6]
sub ecx, edx
add eax, ecx
cmp eax, dword [ebx + 0xa]
jae 0x100ae114
lea edx, [ebp - 0x84]
mov esi, edx
jmp 0x100ae0d0
mov al, byte [edx]
inc edx
test al, al
jne 0x100ae0d0
mov edi, dword [ebx + 0x22]
sub edx, esi
dec edi
add edi, dword [ebx + 6]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x100ae0e0
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x84]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ae100
mov esi, dword [ebp - 0x88]
sub ecx, edx
add dword [ebx + 6], ecx
jmp 0x100ae118
mov byte [ebx + 1], 1
push dword [esi + 0x28]
lea eax, [ebp - 0x84]
push str.ldmarkwidth_d
push 0x80
push eax
call fcn.1002de40
lea ecx, [ebp - 0x84]
add esp, 0x10
lea edx, [ecx + 1]
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ae140
mov esi, dword [ebx + 6]
sub ecx, edx
mov edx, dword [ebx + 0xa]
lea eax, [ecx + esi]
cmp eax, edx
jae 0x100ae1ac
lea edx, [ebp - 0x84]
mov ecx, edx
mov dword [ebp - 0x88], ecx
mov al, byte [edx]
inc edx
test al, al
jne 0x100ae164
mov edi, dword [ebx + 0x22]
sub edx, ecx
dec edi
add edi, esi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x100ae173
mov esi, dword [ebp - 0x88]
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x84]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100ae198
sub ecx, edx
mov edx, dword [ebx + 0xa]
add dword [ebx + 6], ecx
mov esi, dword [ebx + 6]
jmp 0x100ae1b0
mov byte [ebx + 1], 1
lea eax, [esi + 1]
cmp eax, edx
jae 0x100ae1d8
mov edi, dword [ebx + 0x22]
dec edi
add edi, esi
lea ecx, [ecx]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x100ae1c0
mov ax, word [0x101a8d48]
mov word [edi], ax
inc dword [ebx + 6]
jmp 0x100ae1dc
mov byte [ebx + 1], 1
mov ecx, dword [ebp - 4]
mov al, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10175e83
mov esp, ebp
pop ebp
ret 4