Function at 0x4075f0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x30
mov dword [esp], edx
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x44]
test eax, eax
je 0x40760c
mov dword [eax], 0
test esi, esi
je 0x4077a9
mov ebx, dword [esp + 0x48]
test ebx, ebx
je 0x4077a9
mov edx, dword [esp]
mov dword [ebx], edx
mov dword [esp + 4], ecx
mov eax, dword [ecx + 0x48]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edx*4]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], 0
movzx eax, word [esi + 4]
mov word [ebx + 0x10], ax
movzx eax, word [esi + 6]
mov word [ebx + 0x12], ax
movzx eax, word [esi + 8]
mov word [ebx + 0x14], ax
movzx eax, word [esi + 0xa]
mov word [ebx + 0x16], ax
movzx ecx, word [esi + 0xe]
movzx eax, word [esi + 0xc]
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x2c], 0xffffffff
mov edx, ecx
shr edx, 9
add edx, 0x50
mov dword [esp + 0x20], edx
mov edx, ecx
shr edx, 5
and edx, 0xf
dec edx
mov dword [esp + 0x1c], edx
and ecx, 0x1f
mov dword [esp + 0x18], ecx
mov ecx, eax
shr ecx, 0xb
mov dword [esp + 0x14], ecx
mov ecx, eax
shr ecx, 5
and ecx, 0x3f
mov dword [esp + 0x10], ecx
add eax, eax
and eax, 0x3e
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc]
push eax
call fcn.00414971
add esp, 4
mov dword [ebx + 0x1c], edx
mov dword [ebx + 0x18], eax
mov eax, dword [esi + 0x10]
mov dword [ebx + 0x20], eax
mov eax, dword [esi + 0x14]
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x2c], 0
mov eax, dword [esi + 0x18]
mov dword [ebx + 0x30], eax
mov dword [ebx + 0x34], 0
movzx eax, word [esi + 0x24]
mov word [ebx + 0x38], ax
mov eax, dword [esi + 0x26]
mov dword [ebx + 0x3c], eax
mov eax, dword [esi + 0x2a]
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x44], 0
movzx edi, word [esi + 0x1c]
cmp edi, 0x1ff
jb 0x407719
mov edi, 0x1ff
lea eax, [ebx + 0x58]
lea ebp, [esi + 0x2e]
push edi
push ebp
push eax
call fcn.0040ff80
add esp, 0xc
mov byte [ebx + edi + 0x58], 0
movzx edi, word [esi + 0x20]
cmp edi, 0x1ff
jb 0x407740
mov edi, 0x1ff
mov dword [ebx + 0x48], edi
lea eax, [ebx + 0x258]
movzx ecx, word [esi + 0x1c]
add ecx, esi
add ecx, 0x2e
movzx edx, word [esi + 0x1e]
add edx, ecx
push edi
push edx
push eax
call fcn.0040ff80
add esp, 0xc
mov byte [ebx + edi + 0x258], 0
mov edi, dword [esp + 4]
mov ecx, dword [edi + 0x48]
test ecx, ecx
mov esi, dword [esp]
je 0x4077bf
cmp dword [edi + 0x10], esi
jbe 0x4077bf
mov eax, dword [ecx]
test eax, eax
je 0x4077bf
mov ecx, dword [ecx + 0x10]
add eax, dword [ecx + esi*4]
movzx edx, word [eax + 0x1c]
test edx, edx
je 0x40779e
mov ecx, 1
cmp byte [eax + edx + 0x2d], 0x2f
je 0x4077c8
mov ecx, dword [eax + 0x26]
shr ecx, 4
and ecx, 1
jmp 0x4077c8
xor edx, edx
test ecx, ecx
je 0x407998
mov dword [ecx + 0x1c], 0x18
jmp 0x407998
mov dword [edi + 0x1c], 0x18
xor ecx, ecx
mov dword [ebx + 0x4c], ecx
mov eax, dword [edi + 0x48]
test eax, eax
je 0x4077ef
cmp dword [edi + 0x10], esi
jbe 0x4077ef
mov ecx, dword [eax]
test ecx, ecx
je 0x4077ef
mov eax, dword [eax + 0x10]
mov edx, dword [eax + esi*4]
xor eax, eax
test byte [ecx + edx + 8], 0x41
setne al
jmp 0x4077f8
mov dword [edi + 0x1c], 0x18
xor eax, eax
mov dword [ebx + 0x50], eax
mov edx, dword [edi + 0x48]
mov eax, 0x18
test edx, edx
je 0x407848
cmp dword [edi + 0x10], esi
jbe 0x407848
mov ecx, dword [edx]
test ecx, ecx
je 0x407848
mov eax, dword [edx + 0x10]
mov edx, dword [eax + esi*4]
movzx esi, word [ecx + edx + 0xa]
mov eax, 4
test esi, 0xfff7
jne 0x407848
movzx ecx, word [ecx + edx + 8]
mov eax, 5
test cl, 0x41
jne 0x407848
mov eax, 6
mov edx, 1
test cl, 0x20
je 0x40784d
mov dword [edi + 0x1c], eax
xor edx, edx
mov dword [ebx + 0x54], edx
mov eax, dword [ebx + 0x28]
mov edi, dword [ebx + 0x2c]
mov edx, dword [ebx + 0x34]
mov ecx, dword [ebx + 0x30]
mov esi, eax
cmp eax, ecx
jbe 0x4078d5
cmp edi, edx
jbe 0x4078db
jne 0x4078df
mov dword [esp], ecx
ja 0x40786f
mov edi, edx
mov dword [esp + 8], edx
mov ecx, dword [ebx + 0x44]
mov edx, dword [ebx + 0x40]
mov eax, esi
cmp esi, edx
jbe 0x4078e8
cmp edi, ecx
jbe 0x4078ee
jne 0x4078f2
ja 0x407889
mov edi, ecx
not eax
mov edx, 1
or eax, edi
mov eax, dword [esp + 0x44]
jne 0x407998
movzx edi, word [eax + 0x1e]
test edi, edi
je 0x407998
movzx eax, word [eax + 0x1c]
add ebp, eax
nop
nop
cmp edi, 3
jbe 0x4078f8
movzx esi, word [ebp + 2]
lea eax, [esi + 4]
cmp eax, edi
ja 0x4078f8
cmp word [ebp], 1
je 0x40790a
add ebp, eax
sub edi, esi
add edi, 0xfffffffc
jne 0x4078b0
jmp 0x407998
mov esi, ecx
cmp edi, edx
ja 0x407866
mov eax, ecx
je 0x407868
mov esi, eax
mov dword [esp], ecx
jbe 0x40786d
jmp 0x40786f
mov eax, edx
cmp edi, ecx
ja 0x407883
mov esi, edx
je 0x407885
mov eax, esi
jbe 0x407887
jmp 0x407889
mov eax, dword [esp + 4]
mov dword [eax + 0x1c], 9
xor edx, edx
jmp 0x407998
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x407925
mov dword [eax], 1
mov eax, dword [ebx + 0x30]
mov dword [esp], eax
mov eax, dword [ebx + 0x34]
mov dword [esp + 8], eax
mov eax, dword [esp]
not eax
or eax, dword [esp + 8]
mov edi, dword [esp + 4]
jne 0x40794e
cmp si, 7
jbe 0x407981
mov eax, dword [ebp + 4]
mov ecx, dword [ebp + 8]
mov dword [ebx + 0x34], ecx
mov dword [ebx + 0x30], eax
add ebp, 0xc
add esi, 0xfffffff8
jmp 0x407951
add ebp, 4
mov eax, dword [ebx + 0x28]
not eax
or eax, dword [ebx + 0x2c]
jne 0x407972
cmp esi, 7
jbe 0x407981
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
mov dword [ebx + 0x2c], ecx
mov dword [ebx + 0x28], eax
add ebp, 8
add esi, 0xfffffff8
mov eax, dword [ebx + 0x40]
not eax
or eax, dword [ebx + 0x44]
jne 0x407998
cmp esi, 7
ja 0x40798c
mov dword [edi + 0x1c], 9
xor edx, edx
jmp 0x407998
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
mov dword [ebx + 0x44], ecx
mov dword [ebx + 0x40], eax
mov eax, edx
add esp, 0x30
pop esi
pop edi
pop ebx
pop ebp
ret