Function at 0x4ae780
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xac
mov eax, dword [0x4e8014]
xor eax, esp
mov dword [esp + 0xa8], eax
movzx eax, byte [ecx]
push ebx
dec eax
mov dword [esp + 4], ecx
mov ebx, edx
mov dword [esp + 0x10], ebx
push esi
push edi
cmp eax, 6
ja case.default.0x4ae7b4
jmp dword [eax*4 + 0x4aee84]
mov eax, dword [ebx]
mov ecx, 0x9000
test word [eax + 0x10], cx
je 0x4ae7eb
push 0
push 1
mov ecx, eax
call fcn.00427480
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa8]
xor ecx, esp
call fcn.004bab62
mov esp, ebp
pop ebp
ret
mov dword [eax], 1
mov ecx, 4
mov dword [eax + 4], 0
jmp 0x4aee6b
mov eax, dword [ebx]
mov ecx, 0x9000
test word [eax + 0x10], cx
je 0x4ae832
push 0
push 0
mov ecx, eax
call fcn.00427480
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa8]
xor ecx, esp
call fcn.004bab62
mov esp, ebp
pop ebp
ret
mov dword [eax], 0
mov ecx, 4
mov dword [eax + 4], 0
jmp 0x4aee6b
mov ecx, dword [ecx + 8]
xorps xmm0, xmm0
movlpd qword [esp + 0x20], xmm0
mov dword [esp + 0x14], ecx
mov al, byte [ecx]
cmp al, 0x2d
jne 0x4ae862
mov al, byte [ecx + 1]
mov esi, dword [esp + 0x24]
lea ebx, [ecx + 1]
mov edx, dword [esp + 0x20]
cmovne ebx, ecx
cmp al, 0x30
jl 0x4ae8ef
cmp al, 0x39
ja 0x4ae8eb
movzx edi, al
inc ebx
sub edi, 0x30
cmp esi, 0xccccccc
jl 0x4ae8cb
jg 0x4ae993
cmp edx, 0xcccccccc
jb 0x4ae8cb
cmp esi, 0xccccccc
jg 0x4ae993
jl 0x4ae8af
cmp edx, 0xcccccccc
ja 0x4ae993
mov al, byte [ebx]
cmp al, 0x30
jl 0x4ae8bd
cmp al, 0x39
jle 0x4ae993
cmp edi, 9
je 0x4ae993
cmp edi, 8
je 0x4ae92d
mov eax, edx
mov ecx, esi
shld ecx, eax, 2
shl eax, 2
add edx, eax
mov al, byte [ebx]
adc esi, ecx
shld esi, edx, 1
add edx, edx
add edx, edi
adc esi, 0
cmp al, 0x30
jge 0x4ae874
mov ecx, dword [esp + 0x14]
cmp byte [ecx], 0x2d
jne 0x4ae8fb
neg edx
adc esi, 0
neg esi
mov eax, dword [esp + 0x18]
mov ecx, 0x9000
mov eax, dword [eax]
test word [eax + 0x10], cx
je 0x4ae984
push esi
push edx
mov ecx, eax
call fcn.00427480
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa8]
xor ecx, esp
call fcn.004bab62
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x14]
cmp byte [eax], 0x2d
jne 0x4ae993
mov eax, dword [esp + 0x18]
mov ecx, 0x9000
mov eax, dword [eax]
test word [eax + 0x10], cx
je 0x4ae96d
push 0x80000000
push 0
mov ecx, eax
call fcn.00427480
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa8]
xor ecx, esp
call fcn.004bab62
mov esp, ebp
pop ebp
ret
mov dword [eax], 0
mov ecx, 4
mov dword [eax + 4], 0x80000000
jmp 0x4aee6b
mov dword [eax], edx
mov ecx, 4
mov dword [eax + 4], esi
jmp 0x4aee6b
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x18]
mov esi, dword [ecx + 8]
test esi, esi
jne 0x4ae9a6
xor ecx, ecx
jmp 0x4ae9bf
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ae9b0
sub ecx, edx
and ecx, 0x3fffffff
push 1
push ecx
lea edx, [esp + 0x28]
mov ecx, esi
call fcn.004080b0
mov esi, dword [ebx]
mov eax, 0x9000
add esp, 8
test word [esi + 0x10], ax
je 0x4ae9e6
mov ecx, esi
call fcn.00426e40
jmp 0x4ae9ef
mov eax, 1
mov word [esi + 0x10], ax
movsd xmm0, qword [esp + 0x20]
movsd qword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x24]
mov eax, ecx
and eax, 0x7ff00000
cmp eax, 0x7ff00000
jne 0x4aea1f
mov eax, dword [esp + 0x20]
and ecx, 0xfffff
or eax, ecx
jne 0x4aee6f
mov eax, 8
movsd qword [esi], xmm0
mov word [esi + 0x10], ax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa8]
xor ecx, esp
call fcn.004bab62
mov esp, ebp
pop ebp
ret
test byte [ecx + 1], 2
jne 0x4aea77
mov esi, dword [ecx + 4]
or eax, 0xffffffff
mov edx, dword [ecx + 8]
sub esi, 2
push eax
push 1
inc edx
mov ecx, ebx
push esi
call fcn.0042dd00
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa8]
xor ecx, esp
call fcn.004bab62
mov esp, ebp
pop ebp
ret
mov edx, dword [ecx + 4]
mov eax, dword [ecx + 8]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x10], eax
lea esi, [edx + 1]
call fcn.004a8ba0
test eax, eax
jne 0x4aed91
test esi, esi
jle 0x4aed91
mov eax, esi
cdq
push edx
push eax
call fcn.004042c0
mov edx, eax
add esp, 8
mov dword [esp + 0x14], edx
test edx, edx
je 0x4aed91
mov eax, dword [esp + 0x2c]
mov edi, 1
dec eax
xor esi, esi
mov dword [esp + 0x20], eax
cmp eax, edi
jbe 0x4aed65
mov ecx, dword [esp + 0x10]
lea ebx, [edi + 8]
mov al, byte [edi + ecx]
cmp al, 0x5c
je 0x4aeae6
mov byte [esi + edx], al
jmp 0x4aed51
mov al, byte [edi + ecx + 1]
inc edi
cmp al, 0x75
jne 0x4aed22
mov bl, byte [ecx + edi + 2]
mov dl, byte [ecx + edi + 1]
mov ch, byte [ecx + edi + 3]
mov cl, dl
mov eax, dword [esp + 0x10]
sar cl, 6
and cl, 1
mov byte [esp + 0xc], dl
mov dh, byte [eax + edi + 4]
mov al, cl
shl al, 3
add edi, 4
sub al, cl
sub byte [esp + 0xc], al
mov eax, dword [esp + 0xc]
and eax, 0xf
shl eax, 4
mov dword [esp + 0xc], eax
mov al, bl
sar al, 6
and al, 1
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
mov ebx, dword [esp + 0xc]
sub al, cl
and eax, 0xf
add ebx, eax
mov al, ch
sar al, 6
and al, 1
shl ebx, 4
mov cl, al
shl cl, 3
sub cl, al
mov al, ch
sub al, cl
and eax, 0xf
add ebx, eax
mov al, dh
sar al, 6
and al, 1
shl ebx, 4
mov cl, al
shl cl, 3
sub cl, al
mov al, dh
sub al, cl
and eax, 0xf
add ebx, eax
mov dword [esp + 0xc], ebx
test ebx, ebx
je 0x4aed5d
cmp ebx, 0x7f
ja 0x4aeba0
mov edx, dword [esp + 0x14]
mov byte [esi + edx], bl
mov ebx, 9
jmp 0x4aed4d
mov eax, ebx
cmp ebx, 0x7ff
ja 0x4aebca
mov edx, dword [esp + 0x14]
and bl, 0x3f
shr eax, 6
or al, 0xc0
mov byte [esi + edx], al
inc esi
or bl, 0x80
mov byte [esi + edx], bl
mov ebx, 9
jmp 0x4aed4d
mov ecx, dword [esp + 0x10]
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4aecf4
mov eax, dword [esp + 0x2c]
add eax, 0xfffffffa
cmp edi, eax
jae 0x4aecf4
cmp byte [ecx + edi + 1], 0x5c
jne 0x4aecf4
cmp byte [ecx + edi + 2], 0x75
jne 0x4aecf4
mov bl, byte [ecx + edi + 4]
mov dl, byte [ecx + edi + 3]
mov ch, byte [edi + ecx + 5]
mov cl, dl
mov eax, dword [esp + 0x10]
sar cl, 6
and cl, 1
mov byte [esp + 0x1c], dl
mov dh, byte [edi + eax + 6]
mov al, cl
shl al, 3
sub al, cl
sub byte [esp + 0x1c], al
mov eax, dword [esp + 0x1c]
and eax, 0xf
shl eax, 4
mov dword [esp + 0x1c], eax
mov al, bl
sar al, 6
and al, 1
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
mov ebx, dword [esp + 0x1c]
sub al, cl
and eax, 0xf
add ebx, eax
mov al, ch
sar al, 6
and al, 1
shl ebx, 4
mov cl, al
shl cl, 3
sub cl, al
mov al, ch
sub al, cl
and eax, 0xf
add ebx, eax
mov al, dh
sar al, 6
and al, 1
shl ebx, 4
mov cl, al
shl cl, 3
sub cl, al
mov al, dh
sub al, cl
and eax, 0xf
add ebx, eax
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x4aecec
mov ecx, dword [esp + 0xc]
and ebx, 0x3ff
mov edx, dword [esp + 0x14]
and ecx, 0x3ff
add ecx, 0x40
add edi, 6
shl ecx, 0xa
add ecx, ebx
mov ebx, 9
mov eax, ecx
shr eax, 0x12
or al, 0xf0
mov byte [esi + edx], al
mov eax, ecx
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [esi + edx + 1], al
mov eax, ecx
shr eax, 6
and cl, 0x3f
and al, 0x3f
or al, 0x80
mov byte [esi + edx + 2], al
add esi, 3
or cl, 0x80
jmp 0x4aed4a
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, ebx
shr eax, 0xc
or al, 0xe0
mov byte [esi + edx], al
mov eax, ebx
shr eax, 6
and bl, 0x3f
and al, 0x3f
or al, 0x80
mov byte [esi + edx + 1], al
add esi, 2
or bl, 0x80
mov byte [esi + edx], bl
mov ebx, 9
jmp 0x4aed51
cmp al, 0x62
jne 0x4aed2a
mov cl, 8
jmp 0x4aed4a
cmp al, 0x66
jne 0x4aed32
mov cl, 0xc
jmp 0x4aed4a
cmp al, 0x6e
jne 0x4aed3a
mov cl, 0xa
jmp 0x4aed4a
cmp al, 0x72
jne 0x4aed42
mov cl, 0xd
jmp 0x4aed4a
cmp al, 0x74
movzx ecx, al
cmove ecx, ebx
mov byte [esi + edx], cl
mov ecx, dword [esp + 0x10]
inc edi
inc esi
cmp edi, dword [esp + 0x20]
jb 0x4aead7
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, fcn.004044e0
mov byte [esi + edx], 0
push eax
push 1
push esi
mov ecx, ebx
call fcn.0042dd00
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa8]
xor ecx, esp
call fcn.004bab62
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx]
mov ecx, 0x9000
test word [eax + 0x10], cx
je 0x4aeda7
mov ecx, eax
call fcn.00426e40
jmp 0x4aedb0
mov ecx, 1
mov word [eax + 0x10], cx
mov ecx, dword [ebx]
mov dword [ebx + 0x14], 7
mov ecx, dword [ecx + 0x14]
call fcn.00404cc0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa8]
xor ecx, esp
call fcn.004bab62
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x4a]
mov dword [esp + 0x30], ebx
xorps xmm0, xmm0
mov word [esp + 0x48], 1
push 0
lea edx, [esp + 0x34]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], 0x64
mov dword [esp + 0x40], 0
movlpd qword [esp + 0x44], xmm0
call fcn.004ae340
add esp, 4
lea ecx, [esp + 0x30]
call fcn.004ae260
mov eax, dword [ebx]
mov ecx, 0x800
or word [eax + 0x10], cx
mov byte [eax + 0x13], 0x4a
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa8]
xor ecx, esp
call fcn.004bab62
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx]
mov ecx, 0x9000
test word [eax + 0x10], cx
je 0x4aee66
mov ecx, eax
call fcn.00426e40
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa8]
xor ecx, esp
call fcn.004bab62
mov esp, ebp
pop ebp
ret
mov ecx, 1
mov word [eax + 0x10], cx
mov ecx, dword [esp + 0xb4]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004bab62
mov esp, ebp
pop ebp
ret