Function at 0x10008a90
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10030fc4
mov eax, dword fs:[0]
push eax
sub esp, 0x48
push ebx
push esi
push edi
mov eax, dword [0x10047410]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov eax, dword [ebp + 8]
xor edi, edi
mov dword [eax + 4], edi
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
mov dword [ebp - 4], edi
mov dword [eax + 0x14], edi
mov dword [eax + 0x18], edi
mov dword [eax + 0x1c], edi
mov byte [ebp - 4], 1
lea esi, [eax + 0x24]
push 0x18
mov dword [ebp - 0x30], esi
mov dword [esi + 8], edi
call fcn.1001f870
add esp, 4
cmp eax, edi
je 0x10008fb5
mov dword [esi + 4], eax
mov dword [eax], eax
mov eax, dword [esi + 4]
mov dword [eax + 4], eax
mov eax, dword [esi + 4]
mov dword [eax + 8], eax
mov eax, dword [esi + 4]
mov byte [eax + 0x14], 1
mov ecx, dword [esi + 4]
mov byte [ecx + 0x15], 1
mov byte [ebp - 4], 5
movzx eax, word [ebx]
mov edx, 0x5001
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x18], edi
cmp ax, dx
je 0x10008b62
mov ecx, 0x4301
cmp ax, cx
jne 0x10008b6d
mov eax, dword [ebx + 0xa]
mov edi, dword [ebx + 2]
push eax
mov dword [ebp - 0x24], eax
call fcn.10020ea1
mov esi, eax
mov ecx, edi
add esp, 4
lea eax, [ebx + 0x14]
lea edi, [ebp - 0x24]
mov edx, esi
call fcn.1001f470
mov ebx, dword [ebx + 2]
add ebx, esi
mov eax, esi
mov dword [ebp - 0x18], ebx
jmp 0x10008b70
mov eax, dword [ebx + 2]
add eax, ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
add eax, 0xa
cmp eax, dword [ebp - 0x18]
jae 0x10008cfe
mov edx, eax
mov ecx, dword [edx + 6]
add eax, 0xa
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x14], eax
cmp ecx, 6
ja case.0x10008b93.3
jmp dword [ecx*4 + 0x10008fe4]
mov cx, word [eax]
mov esi, dword [ebp + 8]
mov word [esi], cx
jmp case.0x10008b93.3
mov edx, 0x5001
cmp word [eax], dx
jne 0x10008cef
mov ecx, dword [eax + 2]
add ecx, eax
lea ebx, [eax + 0xa]
mov dword [ebp - 0x28], ecx
cmp ebx, ecx
jae 0x10008cef
lea esp, [esp]
push 0x88
call fcn.1001f870
add esp, 4
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x10008bf2
push eax
call fcn.10007ed0
mov edi, eax
jmp 0x10008bf4
xor edi, edi
mov byte [ebp - 4], 5
push edi
lea ecx, [ebx + 0xa]
mov dword [ebp - 0x1c], edi
call fcn.10007ff0
mov esi, dword [ebp + 8]
mov ebx, eax
mov eax, dword [esi + 8]
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x24], ebx
cmp ecx, eax
jae 0x10008c83
mov edx, dword [esi + 4]
cmp edx, ecx
ja 0x10008c83
mov edi, ecx
mov ecx, dword [esi + 0xc]
sub edi, edx
sar edi, 2
cmp eax, ecx
jne 0x10008c6c
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x10008f7b
sub ecx, edx
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x10008c6c
mov edx, ecx
shr edx, 1
mov ebx, 0x3fffffff
sub ebx, edx
cmp ebx, ecx
jae 0x10008c58
xor ecx, ecx
jmp 0x10008c5a
add ecx, edx
cmp ecx, eax
jae 0x10008c60
mov ecx, eax
push ecx
lea ecx, [esi + 4]
call fcn.10016610
mov ebx, dword [ebp - 0x24]
mov edx, dword [esi + 4]
mov eax, dword [esi + 8]
lea edi, [edx + edi*4]
mov byte [ebp - 4], 7
test eax, eax
je 0x10008cdb
mov ecx, dword [edi]
mov dword [eax], ecx
jmp 0x10008cdb
mov ecx, dword [esi + 0xc]
cmp eax, ecx
jne 0x10008cce
mov edx, dword [esi + 4]
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x10008f7b
sub ecx, edx
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x10008cce
mov edx, ecx
shr edx, 1
mov ebx, 0x3fffffff
sub ebx, edx
cmp ebx, ecx
jae 0x10008cba
xor ecx, ecx
jmp 0x10008cbc
add ecx, edx
cmp ecx, eax
jae 0x10008cc2
mov ecx, eax
push ecx
lea ecx, [esi + 4]
call fcn.10016610
mov ebx, dword [ebp - 0x24]
mov eax, dword [esi + 8]
mov byte [ebp - 4], 8
test eax, eax
je 0x10008cdb
mov dword [eax], edi
mov byte [ebp - 4], 5
add dword [esi + 8], 4
cmp ebx, dword [ebp - 0x28]
jb 0x10008bd0
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
add eax, dword [edx + 2]
cmp eax, dword [ebp - 0x18]
jb 0x10008b7c
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, 0x5001
cmp word [eax], cx
jne 0x10008cec
mov ecx, dword [eax + 2]
add ecx, eax
lea ebx, [eax + 0xa]
mov dword [ebp - 0x28], ecx
cmp ebx, ecx
jae 0x10008cec
push 0x74
call fcn.1001f870
mov esi, eax
add esp, 4
mov dword [ebp - 0x24], esi
mov byte [ebp - 4], 9
xor eax, eax
cmp esi, eax
je 0x10008da8
mov dword [esi + 0x14], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], eax
mov byte [ebp - 4], 0xa
mov dword [esi + 0x2c], eax
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], eax
mov byte [ebp - 4], 0xb
lea edi, [esi + 0x64]
push 0x18
mov dword [ebp - 0x1c], edi
mov dword [edi + 8], eax
call fcn.1001f870
add esp, 4
test eax, eax
je 0x10008f85
mov dword [edi + 4], eax
mov dword [eax], eax
mov eax, dword [edi + 4]
mov dword [eax + 4], eax
mov eax, dword [edi + 4]
mov dword [eax + 8], eax
mov edx, dword [edi + 4]
mov byte [edx + 0x14], 1
mov eax, dword [edi + 4]
mov byte [eax + 0x15], 1
mov byte [ebp - 4], 9
jmp 0x10008daa
xor esi, esi
mov byte [ebp - 4], 5
push esi
lea ecx, [ebx + 0xa]
mov dword [ebp - 0x1c], esi
call fcn.10008710
mov edi, dword [ebp + 8]
mov ebx, eax
mov eax, dword [edi + 0x18]
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x24], ebx
cmp ecx, eax
jae 0x10008e39
mov edx, dword [edi + 0x14]
cmp edx, ecx
ja 0x10008e39
mov esi, ecx
mov ecx, dword [edi + 0x1c]
sub esi, edx
sar esi, 2
cmp eax, ecx
jne 0x10008e22
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x10008f7b
sub ecx, edx
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x10008e22
mov edx, ecx
shr edx, 1
mov ebx, 0x3fffffff
sub ebx, edx
cmp ebx, ecx
jae 0x10008e0e
xor ecx, ecx
jmp 0x10008e10
add ecx, edx
cmp ecx, eax
jae 0x10008e16
mov ecx, eax
push ecx
lea ecx, [edi + 0x14]
call fcn.10016610
mov ebx, dword [ebp - 0x24]
mov edx, dword [edi + 0x14]
mov eax, dword [edi + 0x18]
lea esi, [edx + esi*4]
mov byte [ebp - 4], 0x10
test eax, eax
je 0x10008e91
mov ecx, dword [esi]
mov dword [eax], ecx
jmp 0x10008e91
mov ecx, dword [edi + 0x1c]
cmp eax, ecx
jne 0x10008e84
mov edx, dword [edi + 0x14]
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x10008f7b
sub ecx, edx
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x10008e84
mov edx, ecx
shr edx, 1
mov ebx, 0x3fffffff
sub ebx, edx
cmp ebx, ecx
jae 0x10008e70
xor ecx, ecx
jmp 0x10008e72
add ecx, edx
cmp ecx, eax
jae 0x10008e78
mov ecx, eax
push ecx
lea ecx, [edi + 0x14]
call fcn.10016610
mov ebx, dword [ebp - 0x24]
mov eax, dword [edi + 0x18]
mov byte [ebp - 4], 0x11
test eax, eax
je 0x10008e91
mov dword [eax], esi
mov byte [ebp - 4], 5
add dword [edi + 0x18], 4
cmp ebx, dword [ebp - 0x28]
jb 0x10008d35
jmp 0x10008cec
mov ecx, 0x5001
cmp word [eax], cx
jne 0x10008f6a
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx + 2]
add eax, ebx
add ebx, 0xa
mov dword [ebp - 0x24], eax
cmp ebx, eax
jae 0x10008f6a
jmp 0x10008ed0
mov esi, ebx
mov eax, dword [esi + 2]
mov edx, dword [esi + 6]
push eax
add ebx, 0xa
mov dword [ebp - 0x1c], edx
call fcn.10020ea1
mov ecx, dword [esi + 2]
add esp, 4
push ecx
push ebx
push eax
mov dword [ebp - 0x28], eax
call fcn.10029240
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x28]
mov eax, dword [ecx + 4]
add ebx, dword [esi + 2]
add esp, 0xc
cmp byte [eax + 0x15], 0
mov edi, ecx
mov ecx, dword [ebp - 0x1c]
jne 0x10008f24
nop
cmp dword [eax + 0xc], ecx
jae 0x10008f1a
mov eax, dword [eax + 8]
jmp 0x10008f1e
mov edi, eax
mov eax, dword [eax]
cmp byte [eax + 0x15], 0
je 0x10008f10
mov eax, dword [ebp + 8]
cmp edi, dword [eax + 0x28]
je 0x10008f31
cmp ecx, dword [edi + 0xc]
jae 0x10008f5b
mov edx, dword [ebp - 0x1c]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x3c], edx
lea ecx, [ebp - 0x3c]
lea edx, [esi + 0x24]
mov dword [ebp - 0x38], 0
call fcn.10017b60
push edi
lea edi, [ebp - 0x2c]
lea ecx, [esi + 0x24]
call fcn.10017270
mov edi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov dword [edi + 0x10], eax
cmp ebx, dword [ebp - 0x24]
jb 0x10008ed0
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx + 2]
add dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
jmp 0x10008cf5
push str.vector_T__too_long
call fcn.1002f02c
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x30], 0
call fcn.10020a82
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x48], vtable.std::bad_alloc.0
mov byte [ebp - 4], 0xb
push 0x10042e54
lea ecx, [ebp - 0x48]
push ecx
call fcn.10024c8f
lea edx, [ebp - 0x34]
push edx
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x34], edi
call fcn.10020a82
mov byte [ebp - 4], 2
mov dword [ebp - 0x54], vtable.std::bad_alloc.0
mov byte [ebp - 4], 1
push 0x10042e54
lea eax, [ebp - 0x54]
push eax
call fcn.10024c8f
lea ecx, [ecx]
lcall 0x8b, 0xa810008b
adc byte [ecx*4 - 1930293248], bl
add byte [eax], dl
mov word [eax], es
adc byte [edi - 233832306], ah
mov word [eax], es
invalid