Function at 0x410eb0
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
push edi
mov edi, dword [ebp + 0xc]
movzx eax, byte [edi + 3]
movzx ecx, byte [edi + 2]
movzx edx, byte [edi + 1]
shl eax, 8
or eax, ecx
movzx ecx, byte [edi]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
cmp eax, 0x12349876
je 0x410ee8
xor al, al
pop edi
mov esp, ebp
pop ebp
ret 8
push ebx
mov ebx, dword [ebp + 8]
mov edx, dword [ebx + 0x1c]
sub edx, dword [ebx + 0x18]
push esi
sar edx, 2
xor esi, esi
test edx, edx
je 0x410f21
lea esp, [esp]
mov eax, dword [ebx + 0x18]
mov eax, dword [eax + esi*4]
test eax, eax
je 0x410f13
push eax
call fcn.00427a0a
add esp, 4
mov ecx, dword [ebx + 0x1c]
sub ecx, dword [ebx + 0x18]
inc esi
sar ecx, 2
cmp esi, ecx
jb 0x410f00
movzx edx, byte [edi + 7]
movzx eax, byte [edi + 6]
movzx ecx, byte [edi + 5]
shl edx, 8
or edx, eax
movzx eax, byte [edi + 4]
shl edx, 8
or edx, ecx
shl edx, 8
or edx, eax
mov ecx, ebx
mov dword [ecx], edx
mov ecx, dword [ebx + 0x1c]
mov esi, dword [ebx + 0x18]
mov eax, ecx
sub eax, esi
sar eax, 2
mov dword [ebp - 0x1c], edx
cmp eax, edx
jbe 0x411142
lea esi, [esi + edx*4]
cmp esi, ecx
je 0x410f84
mov eax, ecx
sub eax, ecx
sar eax, 2
add eax, eax
add eax, eax
push eax
push ecx
push esi
mov dword [ebp - 0x1c], eax
call fcn.00427be0
mov edx, dword [ebp - 0x1c]
add esp, 0xc
add edx, esi
mov dword [ebx + 0x1c], edx
mov eax, ebx
movzx edx, byte [edi + 0xb]
movzx ecx, byte [edi + 0xa]
shl edx, 8
or edx, ecx
movzx ecx, byte [edi + 9]
shl edx, 8
or edx, ecx
movzx ecx, byte [edi + 8]
shl edx, 8
or edx, ecx
mov dword [eax + 4], edx
movzx edx, byte [edi + 0xf]
movzx ecx, byte [edi + 0xe]
shl edx, 8
or edx, ecx
movzx ecx, byte [edi + 0xd]
shl edx, 8
or edx, ecx
movzx ecx, byte [edi + 0xc]
shl edx, 8
or edx, ecx
mov dword [eax + 8], edx
movzx edx, byte [edi + 0x11]
movzx ecx, byte [edi + 0x10]
shl dx, 8
or dx, cx
mov word [eax + 0xc], dx
movzx edx, byte [edi + 0x13]
movzx ecx, byte [edi + 0x12]
shl dx, 8
or dx, cx
mov word [eax + 0xe], dx
movzx edx, byte [edi + 0x15]
movzx ecx, byte [edi + 0x14]
shl dx, 8
or dx, cx
mov word [eax + 0x10], dx
movzx edx, byte [edi + 0x17]
movzx ecx, byte [edi + 0x16]
shl dx, 8
or dx, cx
mov word [eax + 0x12], dx
movzx edx, byte [edi + 0x19]
movzx ecx, byte [edi + 0x18]
shl dx, 8
or dx, cx
mov word [eax + 0x14], dx
movzx edx, byte [edi + 0x1b]
movzx ecx, byte [edi + 0x1a]
shl dx, 8
or dx, cx
mov word [eax + 0x16], dx
xor esi, esi
mov edx, ebx
mov dword [ebp - 0x10], esi
cmp dword [edx], esi
jbe 0x4114d5
lea eax, [edi + 0x64]
mov dword [ebp - 0x24], eax
add eax, 0x1c
mov dword [ebp - 0xc], eax
lea eax, [edi + 3]
lea ecx, [eax + 0x30]
mov dword [ebp - 8], ecx
lea edx, [edi + 0x28]
mov dword [ebp - 4], edx
lea edx, [edi + 1]
lea ecx, [edx + 0x24]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], edx
lea ecx, [edi + 2]
sub edx, ecx
sub eax, ecx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0xc]
lea edi, [ecx + 0x20]
mov edx, eax
sub edx, ecx
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x20]
sub ecx, edx
mov dword [ebp - 0x20], ecx
mov ecx, eax
sub ecx, edx
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x1c]
sub ecx, eax
mov edx, eax
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0x24]
sub edx, ecx
add edx, 0x44
sub eax, ecx
add eax, 0x24
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x24], eax
push 0x84
call fcn.004284dd
xor ecx, ecx
add esp, 4
cmp eax, ecx
je 0x4111d2
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], ecx
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], ecx
mov dword [eax + 0x28], ecx
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x30], ecx
mov dword [eax + 0x34], ecx
mov dword [eax + 0x38], ecx
mov dword [eax + 0x3c], ecx
mov dword [eax + 0x40], ecx
mov dword [eax + 0x44], ecx
mov dword [eax + 0x48], ecx
mov dword [eax + 0x4c], ecx
mov dword [eax + 0x50], ecx
mov dword [eax + 0x54], ecx
mov dword [eax + 0x58], ecx
mov dword [eax + 0x5c], ecx
mov dword [eax + 0x60], ecx
mov dword [eax + 0x64], ecx
mov dword [eax + 0x68], ecx
mov dword [eax + 0x6c], ecx
mov dword [eax + 0x70], ecx
mov dword [eax + 0x74], ecx
mov dword [eax + 0x78], ecx
mov dword [eax + 0x7c], ecx
mov dword [eax + 0x80], ecx
jmp 0x4111d4
jae 0x410f84
mov ecx, edx
sub ecx, eax
mov dword [ebp - 0x18], eax
mov eax, 0x3fffffff
sub eax, ecx
cmp eax, dword [ebp - 0x18]
jae 0x411165
push str.vector_T__too_long
call fcn.00411daa
mov eax, dword [ebp - 0x18]
add eax, ecx
mov ecx, dword [ebx + 0x20]
sub ecx, esi
sar ecx, 2
cmp eax, ecx
jbe 0x41119d
mov edx, ecx
shr edx, 1
mov esi, 0x3fffffff
sub esi, edx
cmp esi, ecx
jae 0x411189
xor ecx, ecx
jmp 0x41118b
add ecx, edx
cmp ecx, eax
jae 0x411191
mov ecx, eax
push ecx
lea esi, [ebx + 0x18]
call fcn.00411a00
mov edx, dword [ebp - 0x1c]
mov esi, dword [ebx + 0x1c]
sub esi, dword [ebx + 0x18]
mov ecx, edx
sar esi, 2
sub ecx, esi
mov eax, ebx
je 0x4111ba
mov edi, dword [ebx + 0x1c]
xor eax, eax
rep stosd dword es:[edi], eax
mov edi, dword [ebp + 0xc]
mov eax, ebx
mov ecx, dword [ebx + 0x1c]
mov esi, ecx
sub esi, dword [ebx + 0x18]
sar esi, 2
sub edx, esi
lea ecx, [ecx + edx*4]
mov dword [ebx + 0x1c], ecx
jmp 0x410f86
xor eax, eax
mov ecx, dword [ebx + 0x18]
mov dword [ecx + esi*4], eax
mov edx, dword [ebp - 8]
movzx ecx, byte [edx - 0x14]
movzx edx, byte [edi - 4]
mov eax, dword [ebp - 0x18]
shl ecx, 8
or ecx, edx
movzx edx, byte [eax - 8]
shl ecx, 8
or ecx, edx
mov edx, dword [ebp - 4]
movzx edx, byte [edx - 0xc]
shl ecx, 8
or ecx, edx
mov edx, dword [ebx + 0x18]
mov edx, dword [edx + esi*4]
mov dword [edx], ecx
mov ecx, dword [ebp - 0x28]
movzx edx, byte [edi + ecx]
movzx ecx, byte [edi]
shl edx, 8
or edx, ecx
mov ecx, dword [ebp - 0x2c]
movzx ecx, byte [edi + ecx]
shl edx, 8
or edx, ecx
mov ecx, dword [ebp - 0x30]
movzx ecx, byte [edi + ecx]
shl edx, 8
or edx, ecx
mov ecx, dword [ebx + 0x18]
mov ecx, dword [ecx + esi*4]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x20]
movzx ecx, byte [eax + edx]
movzx edx, byte [edi + 4]
shl ecx, 8
or ecx, edx
movzx edx, byte [eax]
shl ecx, 8
or ecx, edx
mov edx, dword [ebp - 0x34]
movzx edx, byte [eax + edx]
shl ecx, 8
or ecx, edx
mov edx, dword [ebx + 0x18]
mov edx, dword [edx + esi*4]
mov dword [edx + 8], ecx
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x38]
movzx ecx, byte [edx + ecx]
movzx edx, byte [edi + 8]
shl ecx, 8
or ecx, edx
movzx edx, byte [eax + 4]
shl ecx, 8
or ecx, edx
mov edx, dword [ebp - 4]
movzx edx, byte [edx]
shl ecx, 8
or ecx, edx
mov edx, dword [ebx + 0x18]
mov edx, dword [edx + esi*4]
mov dword [edx + 0xc], ecx
mov ecx, dword [ebp - 8]
movzx edx, byte [ecx - 4]
movzx ecx, byte [edi + 0xc]
shl edx, 8
or edx, ecx
movzx ecx, byte [eax + 8]
shl edx, 8
or edx, ecx
mov ecx, dword [ebp - 4]
movzx ecx, byte [ecx + 4]
shl edx, 8
or edx, ecx
mov ecx, dword [ebx + 0x18]
mov ecx, dword [ecx + esi*4]
mov dword [ecx + 0x10], edx
movzx edx, byte [edi + 0x10]
mov ecx, dword [ebp - 8]
movzx ecx, byte [ecx]
shl ecx, 8
or edx, ecx
movzx ecx, byte [eax + 0xc]
shl edx, 8
or edx, ecx
mov ecx, dword [ebp - 4]
movzx ecx, byte [ecx + 8]
shl edx, 8
or edx, ecx
mov ecx, dword [ebx + 0x18]
mov ecx, dword [ecx + esi*4]
mov dword [ecx + 0x14], edx
mov edx, dword [ebp - 8]
movzx ecx, byte [edx + 4]
movzx edx, byte [edi + 0x14]
shl ecx, 8
or ecx, edx
movzx edx, byte [eax + 0x10]
shl ecx, 8
or ecx, edx
mov edx, dword [ebp - 4]
movzx edx, byte [edx + 0xc]
shl ecx, 8
or ecx, edx
mov edx, dword [ebx + 0x18]
mov edx, dword [edx + esi*4]
mov dword [edx + 0x18], ecx
mov ecx, dword [ebp - 8]
movzx edx, byte [ecx + 8]
movzx ecx, byte [edi + 0x18]
shl edx, 8
or edx, ecx
movzx ecx, byte [eax + 0x14]
shl edx, 8
or edx, ecx
mov ecx, dword [ebp - 4]
movzx ecx, byte [ecx + 0x10]
shl edx, 8
or edx, ecx
mov ecx, dword [ebx + 0x18]
mov ecx, dword [ecx + esi*4]
mov dword [ecx + 0x1c], edx
mov edx, dword [ebp - 8]
movzx ecx, byte [edx + 0xc]
movzx edx, byte [edi + 0x1c]
movzx eax, byte [eax + 0x18]
shl ecx, 8
or ecx, edx
mov edx, dword [ebp - 4]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x14]
mov edx, dword [ebx + 0x18]
shl ecx, 8
or ecx, eax
mov eax, dword [edx + esi*4]
mov dword [eax + 0x20], ecx
mov ecx, dword [ebx + 0x18]
mov eax, dword [ecx + esi*4]
push 0x40
add eax, 0x24
push 0
push eax
mov dword [ebp + 0xc], eax
call fcn.00429d10
mov edx, dword [ebp - 0xc]
add esp, 0xc
add edx, dword [ebp - 0x24]
mov eax, edx
lea ecx, [eax + 1]
mov dword [ebp - 0x3c], ecx
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4113a3
sub eax, dword [ebp - 0x3c]
cmp eax, 0x40
jae 0x4113cc
mov ecx, dword [ebp + 0xc]
mov eax, edx
sub ecx, edx
lea esp, [esp]
mov dl, byte [eax]
mov byte [eax + ecx], dl
inc eax
test dl, dl
jne 0x4113c0
jmp 0x4113e1
mov edi, dword [ebp + 0xc]
mov ecx, 0xf
mov esi, edx
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x14]
mov edx, dword [ebx + 0x18]
mov edx, dword [edx + esi*4]
lea eax, [edx + 0x44]
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], ecx
lea ecx, [edx + 0x24]
lea edx, [ecx + 1]
mov dword [ebp + 0xc], edx
lea esp, [esp]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x411410
sub ecx, dword [ebp + 0xc]
cmp ecx, 0x20
jae 0x411433
mov ecx, dword [ebp - 0xc]
add ecx, dword [ebp - 0x1c]
sub eax, ecx
mov dl, byte [ecx]
mov byte [eax + ecx], dl
inc ecx
test dl, dl
jne 0x411427
jmp 0x41144b
mov esi, dword [ebp - 0xc]
add esi, dword [ebp - 0x1c]
mov ecx, 7
mov edi, eax
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x14]
mov eax, dword [ebx + 0x18]
mov edx, dword [eax + esi*4]
lea eax, [edx + 0x64]
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], ecx
lea ecx, [edx + 0x24]
lea edx, [ecx + 1]
mov dword [ebp + 0xc], edx
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x411476
sub ecx, dword [ebp + 0xc]
cmp ecx, 0x20
jae 0x41149c
mov ecx, dword [ebp - 0xc]
sub eax, ecx
lea ebx, [ebx]
mov dl, byte [ecx]
mov byte [ecx + eax], dl
inc ecx
test dl, dl
jne 0x411490
jmp 0x4114b1
mov esi, dword [ebp - 0xc]
mov ecx, 7
mov edi, eax
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x14]
mov eax, 0x84
add dword [ebp - 0xc], eax
add dword [ebp - 0x18], eax
add dword [ebp - 4], eax
add dword [ebp - 8], eax
add edi, eax
inc esi
mov eax, ebx
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x14], edi
cmp esi, dword [eax]
jb 0x4110c1
pop esi
pop ebx
mov al, 1
pop edi
mov esp, ebp
pop ebp
ret 8