Function at 0x401d40
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push edi
push esi
push ebx
mov ebx, eax
sub esp, 0x2c
mov eax, 1
cmp byte [ebx], 0x50
mov dword [esp + 0x1c], ecx
je 0x401d60
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], ebx
mov dword [esp + 0x18], edx
call fcn.004010b0
mov edx, dword [esp + 0x18]
mov ecx, eax
mov eax, 1
cmp ecx, 0x41
jbe 0x401d57
movzx esi, byte [ebx + 3]
movzx eax, byte [ebx + 4]
movzx ecx, byte [ebx + 2]
sub esi, 0x20
and esi, 0x3f
sub eax, 0x20
mov edi, esi
and eax, 0x3f
shl edi, 6
sub ecx, 0x20
or eax, edi
movzx edi, byte [ebx + 1]
and ecx, 0x3f
mov ebp, ecx
sar ebp, 4
mov dword [esp + 0x14], ecx
sar esi, 2
lea edi, [edi*4 - 0x80]
or edi, ebp
mov ecx, edi
mov byte [edx], cl
mov ecx, dword [esp + 0x14]
mov byte [edx + 2], al
shl ecx, 4
or ecx, esi
mov byte [edx + 1], cl
movzx esi, byte [ebx + 7]
movzx eax, byte [ebx + 8]
movzx ecx, byte [ebx + 6]
sub esi, 0x20
and esi, 0x3f
sub eax, 0x20
mov edi, esi
and eax, 0x3f
shl edi, 6
sub ecx, 0x20
or eax, edi
movzx edi, byte [ebx + 5]
and ecx, 0x3f
mov ebp, ecx
sar ebp, 4
mov dword [esp + 0x14], ecx
sar esi, 2
lea edi, [edi*4 - 0x80]
or edi, ebp
mov ecx, edi
mov byte [edx + 3], cl
mov ecx, dword [esp + 0x14]
mov byte [edx + 5], al
shl ecx, 4
or ecx, esi
mov byte [edx + 4], cl
movzx esi, byte [ebx + 0xb]
movzx eax, byte [ebx + 0xc]
movzx ecx, byte [ebx + 0xa]
sub esi, 0x20
and esi, 0x3f
sub eax, 0x20
mov edi, esi
sub ecx, 0x20
shl edi, 6
and eax, 0x3f
and ecx, 0x3f
or eax, edi
movzx edi, byte [ebx + 9]
mov ebp, ecx
sar ebp, 4
mov dword [esp + 0x14], ecx
sar esi, 2
lea edi, [edi*4 - 0x80]
or edi, ebp
mov ecx, edi
mov byte [edx + 6], cl
mov ecx, dword [esp + 0x14]
mov byte [edx + 8], al
shl ecx, 4
or ecx, esi
mov byte [edx + 7], cl
movzx esi, byte [ebx + 0xf]
movzx eax, byte [ebx + 0x10]
movzx ecx, byte [ebx + 0xe]
sub esi, 0x20
and esi, 0x3f
sub eax, 0x20
mov edi, esi
and eax, 0x3f
shl edi, 6
sub ecx, 0x20
or eax, edi
movzx edi, byte [ebx + 0xd]
and ecx, 0x3f
mov ebp, ecx
sar ebp, 4
mov dword [esp + 0x14], ecx
sar esi, 2
lea edi, [edi*4 - 0x80]
or edi, ebp
mov ecx, edi
mov byte [edx + 9], cl
mov ecx, dword [esp + 0x14]
shl ecx, 4
or ecx, esi
mov byte [edx + 0xa], cl
mov byte [edx + 0xb], al
movzx esi, byte [ebx + 0x13]
movzx eax, byte [ebx + 0x14]
movzx ecx, byte [ebx + 0x12]
sub esi, 0x20
and esi, 0x3f
sub eax, 0x20
mov edi, esi
and eax, 0x3f
shl edi, 6
sub ecx, 0x20
or eax, edi
movzx edi, byte [ebx + 0x11]
and ecx, 0x3f
mov ebp, ecx
sar ebp, 4
mov dword [esp + 0x14], ecx
sar esi, 2
lea edi, [edi*4 - 0x80]
or edi, ebp
mov ecx, edi
mov byte [edx + 0xc], cl
mov ecx, dword [esp + 0x14]
mov byte [edx + 0xe], al
shl ecx, 4
or ecx, esi
mov byte [edx + 0xd], cl
movzx ecx, byte [ebx + 0x16]
movzx esi, byte [ebx + 0x17]
movzx eax, byte [ebx + 0x18]
sub ecx, 0x20
and ecx, 0x3f
sub esi, 0x20
and esi, 0x3f
sub eax, 0x20
mov edi, esi
and eax, 0x3f
shl edi, 6
mov ebp, ecx
or eax, edi
movzx edi, byte [ebx + 0x15]
sar ebp, 4
mov dword [esp + 0x14], ecx
sar esi, 2
mov byte [edx + 0x11], al
lea edi, [edi*4 - 0x80]
or edi, ebp
mov ecx, edi
mov byte [edx + 0xf], cl
mov ecx, dword [esp + 0x14]
shl ecx, 4
or ecx, esi
mov byte [edx + 0x10], cl
movzx esi, byte [ebx + 0x1b]
movzx eax, byte [ebx + 0x1c]
movzx ecx, byte [ebx + 0x1a]
sub esi, 0x20
and esi, 0x3f
sub eax, 0x20
mov edi, esi
and eax, 0x3f
shl edi, 6
sub ecx, 0x20
or eax, edi
movzx edi, byte [ebx + 0x19]
and ecx, 0x3f
mov ebp, ecx
sar ebp, 4
mov dword [esp + 0x14], ecx
sar esi, 2
lea edi, [edi*4 - 0x80]
or edi, ebp
mov ecx, edi
mov byte [edx + 0x12], cl
mov ecx, dword [esp + 0x14]
mov byte [edx + 0x14], al
shl ecx, 4
or ecx, esi
mov byte [edx + 0x13], cl
movzx esi, byte [ebx + 0x1f]
movzx eax, byte [ebx + 0x20]
movzx ecx, byte [ebx + 0x1e]
sub esi, 0x20
and esi, 0x3f
sub eax, 0x20
mov edi, esi
and eax, 0x3f
shl edi, 6
sub ecx, 0x20
or eax, edi
movzx edi, byte [ebx + 0x1d]
and ecx, 0x3f
mov ebp, ecx
sar ebp, 4
mov dword [esp + 0x14], ecx
sar esi, 2
lea edi, [edi*4 - 0x80]
or edi, ebp
mov ecx, edi
mov byte [edx + 0x15], cl
mov ecx, dword [esp + 0x14]
mov byte [edx + 0x17], al
shl ecx, 4
or ecx, esi
mov byte [edx + 0x16], cl
movzx esi, byte [ebx + 0x23]
movzx eax, byte [ebx + 0x24]
movzx ecx, byte [ebx + 0x22]
sub esi, 0x20
and esi, 0x3f
sub eax, 0x20
mov edi, esi
and eax, 0x3f
shl edi, 6
sub ecx, 0x20
or eax, edi
movzx edi, byte [ebx + 0x21]
and ecx, 0x3f
mov ebp, ecx
sar ebp, 4
mov dword [esp + 0x14], ecx
sar esi, 2
lea edi, [edi*4 - 0x80]
or edi, ebp
mov ecx, edi
mov byte [edx + 0x18], cl
mov ecx, dword [esp + 0x14]
mov byte [edx + 0x1a], al
shl ecx, 4
or ecx, esi
mov byte [edx + 0x19], cl
movzx esi, byte [ebx + 0x27]
movzx eax, byte [ebx + 0x28]
movzx ecx, byte [ebx + 0x26]
sub esi, 0x20
and esi, 0x3f
sub eax, 0x20
mov edi, esi
and eax, 0x3f
shl edi, 6
sub ecx, 0x20
or eax, edi
movzx edi, byte [ebx + 0x25]
and ecx, 0x3f
mov ebp, ecx
sar ebp, 4
mov dword [esp + 0x14], ecx
sar esi, 2
lea edi, [edi*4 - 0x80]
or edi, ebp
mov ecx, edi
mov byte [edx + 0x1b], cl
mov ecx, dword [esp + 0x14]
mov byte [edx + 0x1d], al
shl ecx, 4
or ecx, esi
mov byte [edx + 0x1c], cl
movzx ecx, byte [ebx + 0x2a]
movzx esi, byte [ebx + 0x2b]
movzx eax, byte [ebx + 0x2c]
sub ecx, 0x20
and ecx, 0x3f
sub esi, 0x20
and esi, 0x3f
sub eax, 0x20
mov edi, esi
and eax, 0x3f
shl edi, 6
mov ebp, ecx
or eax, edi
movzx edi, byte [ebx + 0x29]
sar ebp, 4
mov dword [esp + 0x14], ecx
sar esi, 2
mov byte [edx + 0x20], al
lea edi, [edi*4 - 0x80]
or edi, ebp
mov ecx, edi
mov byte [edx + 0x1e], cl
mov ecx, dword [esp + 0x14]
shl ecx, 4
or ecx, esi
mov byte [edx + 0x1f], cl
movzx esi, byte [ebx + 0x2f]
movzx eax, byte [ebx + 0x30]
movzx ecx, byte [ebx + 0x2e]
sub esi, 0x20
and esi, 0x3f
sub eax, 0x20
mov edi, esi
and eax, 0x3f
shl edi, 6
sub ecx, 0x20
or eax, edi
movzx edi, byte [ebx + 0x2d]
and ecx, 0x3f
mov ebp, ecx
sar ebp, 4
mov dword [esp + 0x14], ecx
sar esi, 2
lea edi, [edi*4 - 0x80]
or edi, ebp
mov ecx, edi
mov byte [edx + 0x21], cl
mov ecx, dword [esp + 0x14]
mov byte [edx + 0x23], al
shl ecx, 4
or ecx, esi
mov byte [edx + 0x22], cl
movzx esi, byte [ebx + 0x33]
movzx eax, byte [ebx + 0x34]
movzx ecx, byte [ebx + 0x32]
sub esi, 0x20
and esi, 0x3f
sub eax, 0x20
mov edi, esi
and eax, 0x3f
shl edi, 6
sub ecx, 0x20
or eax, edi
movzx edi, byte [ebx + 0x31]
and ecx, 0x3f
mov ebp, ecx
sar ebp, 4
mov dword [esp + 0x14], ecx
lea edi, [edi*4 - 0x80]
or edi, ebp
mov ecx, edi
mov byte [edx + 0x24], cl
mov ecx, dword [esp + 0x14]
sar esi, 2
mov byte [edx + 0x26], al
shl ecx, 4
or ecx, esi
mov byte [edx + 0x25], cl
movzx esi, byte [ebx + 0x37]
movzx eax, byte [ebx + 0x38]
movzx ecx, byte [ebx + 0x36]
sub esi, 0x20
and esi, 0x3f
sub eax, 0x20
mov edi, esi
and eax, 0x3f
shl edi, 6
sub ecx, 0x20
or eax, edi
movzx edi, byte [ebx + 0x35]
and ecx, 0x3f
mov ebp, ecx
sar ebp, 4
mov dword [esp + 0x14], ecx
sar esi, 2
lea edi, [edi*4 - 0x80]
or edi, ebp
mov ecx, edi
mov byte [edx + 0x27], cl
mov ecx, dword [esp + 0x14]
mov byte [edx + 0x29], al
shl ecx, 4
or ecx, esi
mov byte [edx + 0x28], cl
movzx esi, byte [ebx + 0x3b]
movzx eax, byte [ebx + 0x3c]
movzx ecx, byte [ebx + 0x3a]
sub esi, 0x20
and esi, 0x3f
sub eax, 0x20
mov edi, esi
and eax, 0x3f
shl edi, 6
sub ecx, 0x20
or eax, edi
movzx edi, byte [ebx + 0x39]
and ecx, 0x3f
mov ebp, ecx
sar ebp, 4
mov dword [esp + 0x14], ecx
sar esi, 2
lea edi, [edi*4 - 0x80]
or edi, ebp
mov ecx, edi
mov byte [edx + 0x2a], cl
mov ecx, dword [esp + 0x14]
mov byte [edx + 0x2c], al
shl ecx, 4
or ecx, esi
mov byte [edx + 0x2b], cl
movzx ecx, byte [ebx + 0x3e]
movzx esi, byte [ebx + 0x3f]
movzx eax, byte [ebx + 0x40]
movzx ebx, byte [ebx + 0x3d]
sub ecx, 0x20
sub esi, 0x20
and ecx, 0x3f
and esi, 0x3f
sub eax, 0x20
mov edi, esi
and eax, 0x3f
shl edi, 6
or eax, edi
mov edi, ecx
sar edi, 4
sar esi, 2
lea ebx, [ebx*4 - 0x80]
shl ecx, 4
or ebx, edi
or ecx, esi
mov byte [edx + 0x2d], bl
mov byte [edx + 0x2e], cl
mov ecx, dword [esp + 0x1c]
mov byte [edx + 0x2f], al
xor eax, eax
mov dword [ecx], 0x30
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret