Function at 0x538d40
Capabilities:
Enumerate pe sections

Disassembly:
push ecx
push ebx
push ebp
push esi
mov esi, dword [esp + 0x14]
mov eax, dword [esi]
mov edx, dword [eax + 0x24]
mov ebx, ecx
push edi
lea ecx, [esp + 0x10]
push ecx
push 4
mov ecx, esi
mov dword [esp + 0x18], 1
call edx
mov eax, dword [ebx + 0x10]
mov edx, dword [esi]
mov edx, dword [edx + 0x24]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
push eax
push 4
mov ecx, esi
call edx
mov eax, dword [ebx + 0x14]
mov edx, dword [esi]
mov edx, dword [edx + 0x24]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
push eax
push 4
mov ecx, esi
call edx
mov eax, dword [ebx + 0x40018]
mov edx, dword [esi]
mov edx, dword [edx + 0x24]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
push eax
push 4
mov ecx, esi
call edx
xor ebp, ebp
cmp dword [ebx + 0x40018], ebp
jbe 0x538e9c
mov dword [esp + 0x18], ebp
lea ecx, [ecx]
mov edi, dword [ebx + 0x40020]
add edi, dword [esp + 0x18]
mov edx, dword [esi]
mov eax, dword [edi]
mov edx, dword [edx + 0x24]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
push eax
push 4
mov ecx, esi
call edx
movzx eax, word [edi + 4]
mov edx, dword [esi]
mov edx, dword [edx + 0x24]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
push eax
push 2
mov ecx, esi
call edx
movzx eax, word [edi + 6]
mov edx, dword [esi]
mov edx, dword [edx + 0x24]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
push eax
push 2
mov ecx, esi
call edx
movzx eax, word [edi + 8]
mov edx, dword [esi]
mov edx, dword [edx + 0x24]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
push eax
push 2
mov ecx, esi
call edx
movzx eax, word [edi + 0xa]
mov edx, dword [esi]
mov edx, dword [edx + 0x24]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
push eax
push 2
mov ecx, esi
call edx
movzx eax, word [edi + 0xc]
mov edx, dword [esi]
mov edx, dword [edx + 0x24]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
push eax
push 2
mov ecx, esi
call edx
movzx eax, word [edi + 0xe]
mov edx, dword [esi]
mov edx, dword [edx + 0x24]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
push eax
push 2
mov ecx, esi
call edx
movzx eax, word [edi + 0x10]
mov edx, dword [esi]
mov edx, dword [edx + 0x24]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
push eax
push 2
mov ecx, esi
call edx
add dword [esp + 0x18], 0x18
add ebp, 1
cmp ebp, dword [ebx + 0x40018]
jb 0x538dc0
mov eax, dword [ebx + 8]
mov edx, dword [esi]
mov edx, dword [edx + 0x24]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
push eax
push 4
mov ecx, esi
call edx
xor edi, edi
cmp dword [ebx + 8], edi
jbe 0x538f0e
lea ebx, [ebx]
cmp byte [0x992082], 0
mov eax, dword [ebx + 0xc]
lea ebp, [eax + edi*4]
je 0x538eda
push 0x1ab9950
call dword [0x794290]
mov eax, dword [ebp]
test eax, eax
je 0x538ee6
mov ebp, dword [eax + 0x10]
jmp 0x538ee8
xor ebp, ebp
cmp byte [0x992082], 0
je 0x538efc
push 0x1ab9950
call dword [0x79428c]
push 0
push esi
mov ecx, ebp
call fcn.0053d0c0
add edi, 1
cmp edi, dword [ebx + 8]
jb 0x538ec0
add ebx, 0x18
mov edi, 0x10000
mov ecx, dword [ebx]
mov edx, dword [esi]
mov edx, dword [edx + 0x24]
lea eax, [esp + 0x18]
push eax
mov dword [esp + 0x1c], ecx
push 4
mov ecx, esi
call edx
add ebx, 4
sub edi, 1
jne 0x538f16
xor eax, eax
cmp dword [esi + 4], eax
pop edi
pop esi
pop ebp
sete al
pop ebx
pop ecx
ret 4