Function at 0x10001cb0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x58
push ebx
push ebp
push esi
mov esi, ecx
mov dword [esp + 0x3c], edx
or ebp, 0xffffffff
push edi
or ebx, ebp
mov dword [esp + 0x20], ebp
mov eax, dword [esi + 8]
mov edi, eax
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x50], eax
mov eax, ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x44], eax
or eax, ebp
or edx, ebp
mov dword [esp + 0x54], ecx
mov dword [esp + 0x48], edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x4c], eax
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], edx
nop dword [eax]
nop dword [eax + eax]
mov edx, dword [esp + 0x34]
add edi, 0xfffffc00
mov dword [esp + 0x28], edi
adc edx, 0xffffffff
mov dword [esp + 0x34], edx
test edx, edx
jg 0x10001d48
jl 0x10001d2f
test edi, edi
jae 0x10001d48
xorps xmm0, xmm0
movlpd qword [esp + 0x28], xmm0
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x34], edx
mov dword [esp + 0x28], edi
mov ecx, dword [esi]
test ecx, ecx
je 0x10002015
mov eax, dword [esi + 0x28c]
test eax, eax
je 0x10002005
push 0
push edx
push edi
push ecx
call eax
add esp, 0x10
cmp eax, 0xffffffff
je 0x10002005
mov eax, dword [esp + 0x34]
mov dword [esi + 8], edi
mov dword [esi + 0xc], eax
cmp dword [esi + 0x1c], 0
jl 0x10001da6
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 0
mov edx, dword [esi + 0xc]
mov eax, edi
cmp edx, dword [esp + 0x44]
jg 0x10001fb3
jl 0x10001dc1
cmp eax, dword [esp + 0x48]
jae 0x10001fb3
mov ecx, dword [esp + 0x50]
sub ecx, eax
mov eax, dword [esp + 0x54]
sbb eax, edx
lea edx, [esp + 0x58]
push eax
push ecx
mov ecx, esi
call fcn.10001b80
mov ebp, eax
add esp, 8
mov ebx, edx
cmp ebp, 0xffffff80
jne 0x10001def
cmp ebx, 0xffffffff
je 0x10002005
test ebx, ebx
jl 0x10001fa7
jg 0x10001e01
test ebp, ebp
jb 0x10001fa7
mov ecx, dword [esp + 0x58]
movzx edi, byte [ecx + 0x11]
movzx eax, byte [ecx + 0x10]
shl edi, 8
or edi, eax
movzx eax, byte [ecx + 0xf]
shl edi, 8
or edi, eax
movzx eax, byte [ecx + 0xe]
shl edi, 8
or edi, eax
mov eax, edi
cdq
mov dword [esp + 0x4c], eax
movzx eax, byte [ecx + 0xd]
cdq
shld edx, eax, 8
shl eax, 8
mov dword [esp + 0x14], eax
movzx eax, byte [ecx + 0xc]
mov dword [esp + 0x18], edx
cdq
or dword [esp + 0x14], eax
or dword [esp + 0x18], edx
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
shld edx, eax, 8
shl eax, 8
mov dword [esp + 0x14], eax
movzx eax, byte [ecx + 0xb]
mov dword [esp + 0x18], edx
cdq
or dword [esp + 0x14], eax
or dword [esp + 0x18], edx
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
shld edx, eax, 8
shl eax, 8
mov dword [esp + 0x14], eax
movzx eax, byte [ecx + 0xa]
mov dword [esp + 0x18], edx
cdq
or dword [esp + 0x14], eax
or dword [esp + 0x18], edx
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
shld edx, eax, 8
shl eax, 8
mov dword [esp + 0x14], eax
movzx eax, byte [ecx + 9]
mov dword [esp + 0x18], edx
cdq
or dword [esp + 0x14], eax
or dword [esp + 0x18], edx
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
shld edx, eax, 8
shl eax, 8
mov dword [esp + 0x14], eax
movzx eax, byte [ecx + 8]
mov dword [esp + 0x18], edx
cdq
or dword [esp + 0x14], eax
or dword [esp + 0x18], edx
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
shld edx, eax, 8
shl eax, 8
mov dword [esp + 0x14], eax
movzx eax, byte [ecx + 7]
mov dword [esp + 0x18], edx
cdq
or dword [esp + 0x14], eax
or dword [esp + 0x18], edx
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
shld edx, eax, 8
shl eax, 8
mov dword [esp + 0x14], eax
movzx eax, byte [ecx + 6]
mov dword [esp + 0x18], edx
mov ecx, dword [esp + 0x14]
cdq
or ecx, eax
mov dword [esp + 0x38], ebp
mov eax, dword [esp + 0x18]
or eax, edx
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x70]
mov dword [esp + 0x18], eax
mov dword [esp + 0x3c], ebx
cmp edi, dword [edx]
jne 0x10001f53
mov edx, dword [esp + 0x74]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebx
mov dword [edx], ecx
mov dword [edx + 4], eax
jmp 0x10001f5b
mov ebp, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x6c]
mov ecx, edx
test eax, eax
je 0x10001f7c
test edx, edx
je 0x10001f7c
nop dword [eax]
dec ecx
cmp dword [eax], edi
je 0x10001f89
add eax, 4
test ecx, ecx
jne 0x10001f70
or ebp, 0xffffffff
or ebx, ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebx
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 8]
cmp edx, dword [esp + 0x44]
jl 0x10001dc1
jg 0x10001faf
cmp eax, dword [esp + 0x48]
jb 0x10001dc1
jmp 0x10001faf
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x38]
and eax, dword [esp + 0x3c]
cmp eax, 0xffffffff
je 0x10001d10
test ebx, ebx
jl 0x10001fda
jg 0x10001fce
test ebp, ebp
jb 0x10001fda
mov eax, ebp
mov edx, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x18]
mov dword [ecx], eax
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x14]
mov dword [ecx], eax
mov eax, dword [esp + 0x38]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x3c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret
mov eax, 0xffffff80
or edx, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffff7f
or edx, 0xffffffff
pop ebx
add esp, 0x58
ret