Function at 0x513734
Capabilities:
Enumerate pe sections

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x28
mov eax, dword [esp + 0x40]
movzx ebp, byte [eax]
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
movzx ebx, byte [eax + 3]
mov dword [esp + 0xc], edx
shl ebp, 8
add ebp, ecx
movzx ecx, byte [eax + 4]
mov dword [esp + 0x10], ecx
shl ebx, 8
mov dword [esp + 0x14], ebx
lea edi, [ecx + ebx]
movzx ebx, byte [eax + 5]
movzx ecx, byte [eax + 6]
mov dword [esp + 0x20], edi
mov dword [esp + 0x18], ecx
shl ebx, 8
mov dword [esp + 0x1c], ebx
lea esi, [ecx + ebx]
movzx ecx, byte [eax + 7]
mov dword [esp + 0x24], esi
xor ebx, ebx
xor eax, eax
cmp edx, 8
setne al
lea edx, [ecx + ecx*2 + 8]
cmp ebp, edx
setne bl
or eax, ebx
mov ebx, dword [esp + 0x3c]
mov edx, dword [ebx + 0x1100]
cmp edx, edi
mov edx, 0
adc edx, 0
or eax, edx
mov edx, dword [ebx + 0x10fc]
cmp edx, esi
mov edx, 0
adc edx, 0
or eax, edx
xor edx, edx
test esi, esi
sete dl
or eax, edx
xor edx, edx
test edi, edi
sete dl
or eax, edx
cmp ecx, 1
je 0x5137eb
cmp ecx, 3
je 0x5137eb
mov edx, 1
jmp 0x5137ed
xor edx, edx
or eax, edx
jne 0x513a7a
cmp ecx, 1
jne 0x51387e
mov ebx, dword [esp + 0x40]
movzx ebp, byte [ebx + 8]
mov dword [esp + 8], ebp
movzx ebp, byte [ebx + 9]
movzx ebx, byte [ebx + 0xa]
mov esi, ebx
and esi, 0xfc
xor edx, edx
cmp ebp, 0x11
setne dl
or eax, edx
or eax, esi
jne 0x513a7a
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov dword [esp], ebx
mov ebx, dword [esp + 0x18]
mov dword [edx + 0x1124], 4
lea eax, [eax + ebx + 7]
shr eax, 3
mov dword [edx + 0x1118], eax
lea ebx, [esi + edi + 7]
shr ebx, 3
mov dword [edx + 0x1114], ebx
mov dword [esp + 0x1c], ebx
mov ebx, eax
shl ebx, 3
mov dword [edx + 0x111c], ebx
mov ebx, dword [esp]
jmp 0x513a2c
cmp ecx, 3
jne 0x513a0e
mov esi, dword [esp + 0x40]
movzx edi, byte [esi + 8]
movzx ebp, byte [esi + 9]
movzx ebx, byte [esi + 0xa]
movzx edx, byte [esi + 0xb]
and edi, 0xffff00ff
mov dword [esp], ecx
shl edx, 8
and edx, 0xff00
or edi, edx
movzx edx, byte [esi + 0xc]
and ebp, 0xffff00ff
shl edx, 8
and edx, 0xff00
or ebp, edx
movzx edx, byte [esi + 0xd]
and ebx, 0xffff00ff
shl edx, 8
and edx, 0xff00
or ebx, edx
movzx edx, byte [esi + 0xe]
and edi, 0xff00ffff
shl edx, 0x10
and edx, 0xff0000
or edi, edx
movzx edx, byte [esi + 0xf]
mov dword [esp + 8], edi
and ebp, 0xff00ffff
shl edx, 0x10
and edx, 0xff0000
or ebp, edx
movzx edx, byte [esi + 0x10]
and ebx, 0xff00ffff
shl edx, 0x10
xor ecx, ecx
and edx, 0xff0000
mov dword [esp + 4], ecx
or ebx, edx
mov edx, ebp
shr edx, 8
movzx edx, dl
cmp edx, 0x11
mov edx, ecx
setne dl
mov ecx, ebp
shr ecx, 0x10
or eax, edx
movzx ecx, cl
xor edx, edx
cmp ecx, 0x11
mov ecx, dword [esp]
mov dword [esp + 4], edx
setne dl
or eax, edx
mov edx, ebx
and edx, 0xfc
or eax, edx
mov edx, ebx
shr edx, 8
and edx, 0xfc
or eax, edx
mov edx, ebx
shr edx, 0x10
and edx, 0xfc
or eax, edx
jne 0x513a7a
mov eax, ebp
and eax, 0xff
cmp eax, 0x11
je 0x513b41
cmp eax, 0x22
je 0x513ae4
cmp eax, 0x21
je 0x513a87
cmp eax, 0x12
jne 0x5139f3
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov dword [esp], ebx
mov ebx, dword [esp + 0x18]
mov dword [edx + 0x1124], 3
lea eax, [eax + ebx + 7]
shr eax, 3
mov dword [edx + 0x1118], eax
lea ebx, [esi + edi + 0xf]
shr ebx, 4
mov dword [edx + 0x1114], ebx
mov dword [esp + 0x1c], ebx
mov ebx, eax
shl ebx, 3
mov dword [edx + 0x111c], ebx
mov dword [edx + 0x1120], ebx
mov ebx, dword [esp]
jmp 0x513a2c
mov edx, dword [esp + 0x3c]
mov dword [edx + 0x1124], 5
mov eax, 1
add esp, 0x28
pop ebx
pop ebp
pop esi
pop edi
ret
mov edx, dword [esp + 0x3c]
mov esi, dword [edx + 0x1114]
mov dword [esp + 0x1c], esi
xor eax, eax
xor ebp, ebp
mov dword [esp + 8], eax
mov eax, dword [edx + 0x1118]
xor ebx, ebx
imul eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x24]
mov edx, dword [esi + 0x34]
test edx, edx
jne 0x513a42
mov edx, eax
mov dword [esi + 0x14], ecx
mov ecx, dword [esp + 0xc]
mov dword [esi + 0x2c], 0
mov dword [esi + 0x18], ecx
mov ecx, dword [esp + 0x20]
mov dword [esi + 0x1c], edi
mov dword [esi + 0x20], ecx
mov ecx, dword [esp + 8]
mov dword [esi + 0x24], ecx
mov dword [esi + 0x28], ebp
mov dword [esi + 0x30], ebx
mov dword [esi + 0x34], edx
mov dword [esi + 0x38], eax
xor eax, eax
add esp, 0x28
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 1
add esp, 0x28
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov dword [esp], ebx
mov ebx, dword [esp + 0x18]
mov dword [edx + 0x1124], 1
lea eax, [eax + ebx + 0xf]
shr eax, 4
mov dword [edx + 0x1118], eax
lea ebx, [esi + edi + 7]
shr ebx, 3
mov dword [edx + 0x1114], ebx
mov dword [esp + 0x1c], ebx
mov ebx, eax
shl ebx, 4
mov dword [edx + 0x111c], ebx
mov ebx, eax
shl ebx, 3
mov dword [edx + 0x1120], ebx
mov ebx, dword [esp]
jmp 0x513a2c
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov dword [esp], ebx
mov ebx, dword [esp + 0x18]
mov dword [edx + 0x1124], 0
lea eax, [eax + ebx + 0xf]
shr eax, 4
mov dword [edx + 0x1118], eax
lea ebx, [esi + edi + 0xf]
shr ebx, 4
mov dword [edx + 0x1114], ebx
mov dword [esp + 0x1c], ebx
mov ebx, eax
shl ebx, 4
mov dword [edx + 0x111c], ebx
mov ebx, eax
shl ebx, 3
mov dword [edx + 0x1120], ebx
mov ebx, dword [esp]
jmp 0x513a2c
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov dword [esp], ebx
mov ebx, dword [esp + 0x18]
mov dword [edx + 0x1124], 2
lea eax, [eax + ebx + 7]
shr eax, 3
mov dword [edx + 0x1118], eax
lea ebx, [esi + edi + 7]
shr ebx, 3
mov dword [edx + 0x1114], ebx
mov dword [esp + 0x1c], ebx
mov ebx, eax
shl ebx, 3
mov dword [edx + 0x111c], ebx
mov dword [edx + 0x1120], ebx
mov ebx, dword [esp]
jmp 0x513a2c