Function at 0x10005320
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
sub esp, 0x18
mov esi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
test byte [0x1000a030], 8
jne 0x100056b0
test esi, esi
je 0x100057d4
test ebx, ebx
je 0x100057d4
mov dword [ebx], 0
xor edx, edx
mov ecx, 8
mov eax, esi
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], 0
call fcn.10003d90
test eax, eax
je 0x100056a0
movzx eax, word [esi + 2]
movzx edx, word [esi + 4]
mov ecx, 0xe
movzx eax, byte [eax + 0x1000d7e0]
movzx edx, byte [edx + 0x1000d7e0]
shl eax, 0x1c
shl edx, 0x18
or eax, edx
movzx edx, word [esi + 0x10]
movzx edx, byte [edx + 0x1000d7e0]
or eax, edx
movzx edx, word [esi + 6]
movzx edx, byte [edx + 0x1000d7e0]
shl edx, 0x14
or eax, edx
movzx edx, word [esi + 8]
movzx edx, byte [edx + 0x1000d7e0]
shl edx, 0x10
or eax, edx
movzx edx, word [esi + 0xa]
movzx edx, byte [edx + 0x1000d7e0]
shl edx, 0xc
or eax, edx
movzx edx, word [esi + 0xc]
movzx edx, byte [edx + 0x1000d7e0]
shl edx, 8
or eax, edx
movzx edx, word [esi + 0xe]
movzx edx, byte [edx + 0x1000d7e0]
shl edx, 4
or eax, edx
mov edx, 9
mov dword [ebx], eax
mov eax, esi
call fcn.10003d90
test eax, eax
je 0x100056a0
movzx eax, word [esi + 0x14]
movzx edx, word [esi + 0x16]
mov ecx, 0x13
movzx eax, byte [eax + 0x1000d7e0]
movzx edx, byte [edx + 0x1000d7e0]
shl eax, 0xc
shl edx, 8
or eax, edx
movzx edx, word [esi + 0x1a]
movzx edx, byte [edx + 0x1000d7e0]
or eax, edx
movzx edx, word [esi + 0x18]
movzx edx, byte [edx + 0x1000d7e0]
shl edx, 4
or eax, edx
mov edx, 0xf
mov word [ebx + 4], ax
mov eax, esi
call fcn.10003d90
test eax, eax
je 0x100056a0
movzx eax, word [esi + 0x1e]
movzx edx, word [esi + 0x20]
mov ecx, 0x15
movzx eax, byte [eax + 0x1000d7e0]
movzx edx, byte [edx + 0x1000d7e0]
shl eax, 0xc
shl edx, 8
or eax, edx
movzx edx, word [esi + 0x24]
movzx edx, byte [edx + 0x1000d7e0]
or eax, edx
movzx edx, word [esi + 0x22]
movzx edx, byte [edx + 0x1000d7e0]
shl edx, 4
or eax, edx
mov edx, 0x14
mov word [ebx + 6], ax
mov eax, esi
call fcn.10003d90
test eax, eax
je 0x100056a0
movzx eax, word [esi + 0x28]
movzx edx, word [esi + 0x2a]
mov ecx, 0x18
movzx eax, byte [eax + 0x1000d7e0]
shl eax, 4
or al, byte [edx + 0x1000d7e0]
mov edx, 0x16
mov byte [ebx + 8], al
mov eax, esi
call fcn.10003d90
test eax, eax
je 0x100056a0
movzx eax, word [esi + 0x2c]
movzx edx, word [esi + 0x2e]
mov ecx, 0x1a
movzx eax, byte [eax + 0x1000d7e0]
shl eax, 4
or al, byte [edx + 0x1000d7e0]
mov edx, 0x19
mov byte [ebx + 9], al
mov eax, esi
call fcn.10003d90
test eax, eax
je 0x100056a0
movzx eax, word [esi + 0x32]
movzx edx, word [esi + 0x34]
mov ecx, 0x1c
movzx eax, byte [eax + 0x1000d7e0]
shl eax, 4
or al, byte [edx + 0x1000d7e0]
mov edx, 0x1b
mov byte [ebx + 0xa], al
mov eax, esi
call fcn.10003d90
test eax, eax
je 0x100056a0
movzx eax, word [esi + 0x36]
movzx edx, word [esi + 0x38]
mov ecx, 0x1e
movzx eax, byte [eax + 0x1000d7e0]
shl eax, 4
or al, byte [edx + 0x1000d7e0]
mov edx, 0x1d
mov byte [ebx + 0xb], al
mov eax, esi
call fcn.10003d90
test eax, eax
je 0x100056a0
movzx eax, word [esi + 0x3a]
movzx edx, word [esi + 0x3c]
mov ecx, 0x20
movzx eax, byte [eax + 0x1000d7e0]
shl eax, 4
or al, byte [edx + 0x1000d7e0]
mov edx, 0x1f
mov byte [ebx + 0xc], al
mov eax, esi
call fcn.10003d90
test eax, eax
je 0x100056a0
movzx eax, word [esi + 0x3e]
movzx edx, word [esi + 0x40]
mov ecx, 0x22
movzx eax, byte [eax + 0x1000d7e0]
shl eax, 4
or al, byte [edx + 0x1000d7e0]
mov edx, 0x21
mov byte [ebx + 0xd], al
mov eax, esi
call fcn.10003d90
test eax, eax
je 0x100056a0
movzx eax, word [esi + 0x42]
movzx edx, word [esi + 0x44]
mov ecx, 0x25
movzx eax, byte [eax + 0x1000d7e0]
shl eax, 4
or al, byte [edx + 0x1000d7e0]
mov edx, 0x23
mov byte [ebx + 0xe], al
mov eax, esi
call fcn.10003d90
test eax, eax
je 0x100056a0
movzx eax, word [esi + 0x46]
movzx edx, word [esi + 0x48]
movzx eax, byte [eax + 0x1000d7e0]
shl eax, 4
or al, byte [edx + 0x1000d7e0]
lea edx, [esi + 0x4c]
mov byte [ebx + 0xf], al
movzx eax, word [esi + 0x4c]
test ax, ax
je 0x100056a0
cmp ax, 0x2c
je 0x10005668
cmp ax, 0x20
jne 0x10005751
xor esi, esi
cmp ax, 0x2c
je 0x1000568b
movzx eax, word [edx + 2]
lea ecx, [edx + 2]
cmp ax, 0x20
je 0x10005683
cmp ax, 0x2c
jne 0x100056f0
mov edx, ecx
cmp ax, 0x2c
jne 0x10005670
test esi, esi
jne 0x10005746
mov esi, 1
jmp 0x10005670
mov eax, 0x80070057
add esp, 0x18
pop ebx
pop esi
pop ebp
ret 8
mov eax, esi
call fcn.10003ef0
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.__s___p__n
mov dword [esp + 8], str.PSPropertyKeyFromString
mov dword [esp + 4], 0x1000a030
mov dword [esp], 3
call fcn.10004170
jmp 0x1000533b
test ax, ax
je 0x100056a0
test esi, esi
je 0x10005758
cmp ax, 0x2d
je 0x100057b1
sub eax, 0x30
mov edx, ecx
xor esi, esi
cmp ax, 9
ja 0x10005746
xor eax, eax
lea esi, [esi]
lea eax, [eax + eax*4]
add edx, 2
add eax, eax
mov dword [ebx + 0x10], eax
movzx ecx, word [edx - 2]
lea eax, [eax + ecx - 0x30]
mov dword [ebx + 0x10], eax
movzx ecx, word [edx]
sub ecx, 0x30
cmp cx, 9
jbe 0x10005718
test esi, esi
je 0x10005746
mov eax, dword [ebx + 0x10]
neg eax
mov dword [ebx + 0x10], eax
add esp, 0x18
xor eax, eax
pop ebx
pop esi
pop ebp
ret 8
mov ecx, edx
lea esi, [esi]
nop
cmp ax, 0x2d
lea edx, [ecx + 2]
cmove ecx, edx
movzx eax, word [ecx]
cmp ax, 0x20
jne 0x1000577d
lea esi, [esi]
nop
movzx eax, word [ecx + 2]
add ecx, 2
cmp ax, 0x20
je 0x10005770
cmp ax, 0x2d
jne 0x100057cc
movzx eax, word [ecx + 2]
lea edx, [ecx + 2]
cmp ax, 0x20
jne 0x1000579d
movzx eax, word [edx + 2]
add edx, 2
cmp ax, 0x20
je 0x10005790
sub eax, 0x30
mov esi, 1
cmp ax, 9
jbe 0x10005710
jmp 0x1000573e
movzx eax, word [ecx + 2]
add edx, 4
sub eax, 0x30
cmp ax, 9
jbe 0x10005710
xor eax, eax
jmp 0x10005743
movzx eax, word [ecx]
jmp 0x10005703
mov eax, 0x80004003
jmp 0x100056a5