Function at 0x4ae3a0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0xd0
mov eax, dword [0x4d88f0]
xor eax, esp
mov dword [esp + 0xcc], eax
push ebx
push ebp
xor ebx, ebx
push esi
mov esi, dword [esp + 0xe0]
mov ecx, dword [esi + 0x4c]
mov eax, ecx
push edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x14], 0xfffffffd
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], ebx
xor ebp, ebp
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4ae3f7
sub eax, edi
mov word [esi + 0x20], ax
movzx eax, ax
xor edx, edx
cmp byte [eax + ecx - 1], 0x2f
lea eax, [esp + 0x44]
sete dl
push eax
mov eax, dword [esi + 0x60]
lea ecx, [esp + 0x18]
push ecx
mov dword [0x549af8], 0xffffffff
mov dword [0x549afc], ebx
mov dword [esp + 0x28], edx
lea edx, [esp + 0x2c]
push edx
push eax
call fcn.004815c0
mov dword [esp + 0x1c], eax
test eax, eax
je 0x4aecea
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
cmp eax, 0xfffffffd
jne 0x4ae45f
cmp ecx, 0xffffffff
je 0x4aecea
cmp eax, 0xfffffffe
jne 0x4ae480
cmp ecx, 0xffffffff
jne 0x4ae480
xor eax, eax
mov edi, 1
xor ecx, ecx
mov dword [esp + 0x20], edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
jmp 0x4ae4aa
mov edx, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
shr edx, 4
and edx, 1
cmp edi, edx
je 0x4ae49a
or eax, 0xffffffff
jmp 0x4aecef
cmp ecx, 0xffffffff
jb 0x4ae4aa
ja 0x4ae4a6
cmp eax, 0xfffffffd
jbe 0x4ae4aa
xor eax, eax
xor ecx, ecx
mov dword [esi + 0x18], eax
mov eax, 0xffff
mov dword [esi + 0x1c], ecx
mov word [esi + 0x2c], ax
mov dword [esi + 0x38], ebx
cmp dword [0x4d6f3c], 2
jne 0x4ae53d
movzx eax, word [esi + 0x22]
test ax, ax
je 0x4ae501
movzx ecx, ax
push ecx
call fcn.004af837
mov ebx, eax
add esp, 4
mov dword [esp + 0x28], ebx
test ebx, ebx
jne 0x4ae4eb
push 4
call fcn.004a6030
movzx edx, word [esi + 0x22]
mov eax, dword [esi + 0x40]
push edx
push eax
push ebx
call fcn.004afc30
movzx ebx, word [esi + 0x22]
add esp, 0xc
movzx eax, word [esi + 0x24]
test ax, ax
je 0x4ae53d
movzx ecx, ax
push ecx
call fcn.004af837
mov ebp, eax
add esp, 4
test ebp, ebp
jne 0x4ae523
push 4
call fcn.004a6030
movzx edx, word [esi + 0x24]
mov eax, dword [esi + 0x44]
push edx
push eax
push ebp
call fcn.004afc30
movzx ecx, word [esi + 0x24]
add esp, 0xc
mov dword [esp + 0x2c], ecx
cmp word [esi + 0x22], 0
je 0x4ae550
mov edx, dword [esi + 0x40]
push edx
call fcn.004af901
add esp, 4
cmp word [esi + 0x24], 0
je 0x4ae568
mov eax, dword [esi + 0x44]
cmp dword [esi + 0x40], eax
je 0x4ae568
push eax
call fcn.004af901
add esp, 4
mov edx, dword [esi + 0x3c]
xor ecx, ecx
xor eax, eax
mov word [esi + 0x22], cx
push edx
mov ecx, 0x5228d0
mov dword [esi + 0x44], eax
mov dword [esi + 0x40], eax
mov word [esi + 0x24], ax
call fcn.0041cb70
movzx eax, al
neg eax
sbb eax, eax
not eax
and eax, dword [0x4d6f30]
cmp dword [0x52680c], 4
mov dword [esp + 0x10], eax
jne 0x4ae5af
lea ecx, [esp + 0x44]
push ecx
push esi
call fcn.00481710
mov edx, dword [esp + 0x24]
push edx
call fcn.0047f690
mov dword [esp + 0x40], eax
test eax, eax
je 0x4ae5d3
xor eax, eax
mov dword [0x5496dc], 0xffffffff
mov dword [esp + 0x10], eax
jmp 0x4ae62c
test edi, edi
je 0x4ae5f5
xor eax, eax
xor edi, edi
xor edx, edx
mov dword [0x5496dc], 0xffffffff
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], edx
jmp 0x4ae634
movzx eax, byte [0x526259]
neg eax
sbb eax, eax
and eax, 0x20
add eax, 0x20
push 0
push eax
mov eax, dword [esi + 0x60]
push 0x8000
push eax
call fcn.004b40a8
add esp, 0x10
mov dword [0x5496dc], eax
cmp eax, 0xffffffff
je 0x4aecea
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esi + 8], ecx
cmp dword [0x4d6f3c], 2
jne 0x4ae6e1
movzx eax, word [esi + 0x22]
mov ecx, dword [esi + 0x40]
lea edx, [esp + 0x1c]
push edx
push eax
mov eax, dword [esp + 0x30]
movzx edx, bx
push ecx
push edx
push eax
call fcn.004a86f0
mov ecx, dword [esi + 0x40]
push ecx
mov edi, eax
call fcn.004af901
movzx edx, word [esp + 0x20]
movzx ecx, word [esi + 0x24]
add esp, 4
lea eax, [esp + 0x1c]
push eax
movzx eax, word [esp + 0x30]
push ecx
mov word [esi + 0x22], dx
mov edx, dword [esi + 0x44]
push edx
push eax
push ebp
mov dword [esi + 0x40], edi
call fcn.004a86f0
mov ecx, dword [esi + 0x44]
push ecx
mov edi, eax
call fcn.004af901
movzx edx, word [esp + 0x20]
add esp, 4
mov word [esi + 0x24], dx
mov dword [esi + 0x44], edi
test bx, bx
je 0x4ae6c4
mov eax, dword [esp + 0x28]
push eax
call fcn.004af901
add esp, 4
cmp word [esp + 0x2c], 0
je 0x4ae6d5
push ebp
call fcn.004af901
add esp, 4
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, edi
xor ebx, ebx
or ecx, edx
jne 0x4ae6ed
xor eax, eax
jmp 0x4ae6f7
cmp eax, 0xffffffff
jne 0x4ae6fb
mov eax, 8
mov dword [esp + 0x10], eax
mov ebp, dword [esp + 0x20]
mov ecx, 0x1f
mov word [esi], cx
mov ecx, eax
neg ecx
sbb ecx, ecx
and ecx, 0xa
add ecx, 0xa
mov word [esi + 2], cx
mov dword [esi + 0xc], ebx
cmp ebp, ebx
je 0x4ae726
xor ecx, ecx
mov word [esi + 4], cx
jmp 0x4ae74a
mov ecx, 8
mov word [esi + 4], cx
cmp word [0x525cec], bx
je 0x4ae74a
mov ecx, 9
mov word [esi + 4], cx
mov ecx, dword [esi + 8]
shl ecx, 0x10
mov dword [esi + 0xc], ecx
mov cx, word [esi + 4]
mov word [esi + 0x2e], cx
mov word [esi + 6], ax
cmp eax, ebx
jne 0x4ae76a
cmp edx, ebx
jl 0x4ae76a
jg 0x4ae764
cmp edi, ebx
jb 0x4ae76a
mov eax, edi
mov ecx, edx
jmp 0x4ae76e
xor eax, eax
xor ecx, ecx
mov dword [esi + 0x10], eax
mov eax, edi
and eax, edx
mov dword [esi + 0x14], ecx
cmp eax, 0xffffffff
je 0x4ae783
mov eax, edi
mov ecx, edx
jmp 0x4ae787
xor eax, eax
xor ecx, ecx
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x1c]
mov ecx, eax
mov dword [esi + 0x18], eax
mov eax, 0xffff
mov dword [0x549af0], ebx
mov dword [0x549af4], ebx
mov dword [0x549ae8], ecx
mov dword [0x549aec], edx
cmp word [esi + 0x2c], ax
jne 0x4ae7c3
xor ecx, ecx
mov word [esi + 0x2c], cx
mov dword [esp + 0x30], 1
mov edx, dword [esi + 0x38]
and edx, 0xff00
or edx, dword [esp + 0x24]
push ebx
push esi
mov dword [esi + 0x38], edx
call fcn.004ab000
mov edi, eax
cmp edi, ebx
je 0x4ae7fa
mov eax, dword [0x5496dc]
cmp eax, 0xffffffff
je 0x4ae7f3
push eax
call fcn.004bb771
add esp, 4
mov eax, edi
jmp 0x4aecef
mov eax, dword [0x507830]
mov dword [esi + 0x30], eax
mov ecx, dword [0x507834]
movzx eax, word [esi + 0x20]
mov dword [esi + 0x34], ecx
movzx ecx, word [esi + 0x22]
mov edx, dword [0x5077f8]
mov dword [esi + 0x28], edx
lea eax, [eax + ecx + 0x1e]
cdq
add dword [0x506348], eax
mov edi, 0xc
adc dword [0x50634c], edx
cmp ebp, ebx
jne 0x4ae873
cmp word [0x525cec], bx
je 0x4ae873
push 0x80
lea edx, [esp + 0x60]
push edx
push 0x525cec
call fcn.00455650
mov eax, dword [esi + 0xc]
push eax
lea ecx, [esp + 0x60]
push ecx
call fcn.004a5900
add dword [esi + 0x10], edi
adc dword [esi + 0x14], ebx
add dword [0x506348], edi
adc dword [0x50634c], ebx
mov edx, dword [0x5077cc]
push edx
call fcn.004b1f62
add esp, 4
test eax, eax
je 0x4ae8b3
mov eax, dword [0x5496dc]
cmp eax, 0xffffffff
je 0x4ae899
push eax
call fcn.004bb771
add esp, 4
mov eax, dword [0x506344]
push eax
push ebx
push eax
push ebx
mov ecx, 0x5062f4
call fcn.0042c9d0
push 0xe
call fcn.004a6030
mov eax, dword [0x5077cc]
push eax
call fcn.004b2a3e
mov ecx, dword [0x5077cc]
push ecx
mov ebp, eax
mov edi, edx
call fcn.004b1f62
add esp, 8
test eax, eax
je 0x4ae8e4
mov edx, dword [0x5077cc]
push edx
call fcn.004b409d
add esp, 4
mov eax, ebp
and eax, edi
cmp eax, 0xffffffff
je 0x4ae8fe
cmp edi, ebx
jg 0x4ae8fe
jl 0x4ae8f7
cmp ebp, ebx
jae 0x4ae8fe
push 6
call fcn.004a6030
mov dword [0x5496c8], ebx
mov dword [0x5496cc], ebx
mov dword [0x549ae0], 0xffffffff
cmp dword [esp + 0x20], ebx
jne 0x4aea35
cmp dword [esp + 0x10], ebx
je 0x4ae947
cmp dword [esp + 0x30], ebx
je 0x4ae933
mov ecx, 0xffff
mov word [esi + 0x2c], cx
lea edx, [esp + 0x10]
push edx
push esi
call fcn.004ae360
mov edi, eax
mov ebx, edx
jmp 0x4aea3d
push 0x4000
call fcn.004af837
mov edi, eax
add esp, 4
cmp edi, ebx
jne 0x4ae964
mov eax, 4
jmp 0x4aecef
cmp dword [esp + 0x40], ebx
je 0x4ae9be
push ebx
push edi
push 0xffffffffffffffff
xor ebp, ebp
call fcn.00421a30
push ebx
push 1
push edi
mov dword [0x549ae0], eax
call fcn.004a5840
test eax, eax
je 0x4ae998
push edi
call fcn.004af901
add esp, 4
lea eax, [ebp + 0xa]
jmp 0x4aecef
mov dword [0x5496c8], ebx
mov dword [0x5496cc], ebx
push edi
call fcn.004af901
mov edi, dword [0x5496c8]
mov ebx, dword [0x5496cc]
add esp, 4
jmp 0x4aea41
push 0x4000
push edi
call fcn.004ae200
mov ebp, eax
cmp ebp, ebx
jbe 0x4ae9a4
nop
cmp ebp, 0xffffffff
je 0x4ae9a4
push ebx
push ebp
call fcn.00409fe0
push ebp
push 1
push edi
call fcn.004a5840
cmp eax, ebp
jne 0x4ae9fc
push 0x4000
push edi
call fcn.004ae200
mov ebp, eax
cmp ebp, ebx
ja 0x4ae9d0
jmp 0x4ae9a4
mov eax, dword [0x5496dc]
cmp eax, 0xffffffff
je 0x4aea0f
push eax
call fcn.004bb771
add esp, 4
push edi
call fcn.004af901
mov eax, dword [0x506344]
add esp, 4
push eax
push ebx
push eax
push ebx
mov ecx, 0x5062f4
call fcn.0042c9d0
mov eax, 0xa
jmp 0x4aecef
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
mov eax, dword [0x5496dc]
cmp eax, 0xffffffff
je 0x4aea7e
cmp ebp, 0xffffffff
jne 0x4aea70
mov eax, dword [esi + 0x60]
mov ecx, dword [esi + 0x54]
mov edx, dword [0x506344]
push eax
push ecx
push edx
push 0
mov ecx, 0x5062f4
call fcn.0042c930
mov eax, dword [0x5496dc]
cmp eax, 0xffffffff
je 0x4aea7e
push eax
call fcn.004bb771
add esp, 4
add dword [0x506348], edi
adc dword [0x50634c], ebx
xor eax, eax
cmp dword [esp + 0x20], eax
je 0x4aeabf
mov edx, 0xfff7
and word [esi + 4], dx
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], eax
mov word [esi + 6], ax
mov ecx, 0xa
mov eax, edx
and word [esi + 0x2e], ax
mov word [esi + 2], cx
jmp 0x4aecc1
mov ecx, dword [0x549ae0]
not ecx
mov dword [esi + 0xc], ecx
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], ebx
cmp word [0x525cec], ax
je 0x4aeae8
mov ecx, edi
add ecx, 0xc
mov edx, ebx
adc edx, eax
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], edx
mov ecx, dword [0x5496c8]
mov edx, dword [0x5496cc]
mov dword [esi + 0x18], ecx
mov dword [esi + 0x1c], edx
cmp dword [0x5077a8], eax
jne 0x4aec4d
mov eax, dword [0x5077cc]
push eax
call fcn.004aee80
test eax, eax
je 0x4aec4d
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0x30]
mov eax, dword [0x5077cc]
push 0
push ecx
push edx
push eax
call fcn.004b26a3
add esp, 0x10
test eax, eax
jne 0x4aec4d
xor ebp, ebp
cmp word [0x525cec], bp
je 0x4aeb49
add edi, 0xc
adc ebx, ebp
mov edx, dword [0x507858]
mov eax, edi
mov ecx, ebx
cmp edx, eax
jne 0x4aeb60
mov eax, dword [0x50785c]
cmp eax, ecx
je 0x4aeb67
push 5
call fcn.004a6030
mov eax, dword [esp + 0x10]
mov word [esi + 6], ax
cmp eax, ebp
je 0x4aeb83
cmp eax, 8
jne 0x4aeb8c
mov ecx, 0x14
mov word [esi + 2], cx
jmp 0x4aeb8c
mov edx, 0xa
mov word [esi + 2], dx
movzx eax, word [esi + 4]
test al, 1
jne 0x4aeb9d
and eax, 0xfff7
mov word [esi + 4], ax
mov ax, word [esi + 4]
mov word [esi + 0x2e], ax
cmp dword [0x507840], 1
jne 0x4aebdb
mov eax, dword [0x507828]
cmp eax, dword [0x5077cc]
je 0x4aebdb
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0x30]
push ebp
push ecx
push edx
push eax
call fcn.004b26a3
add esp, 0x10
test eax, eax
je 0x4aebdb
mov eax, 0xb
jmp 0x4aecef
push 1
push esi
call fcn.004ab000
cmp eax, ebp
jne 0x4aecef
mov eax, dword [0x50783c]
mov ecx, dword [0x507838]
mov edx, dword [0x5077cc]
push ebp
push eax
push ecx
push edx
call fcn.004b26a3
add esp, 0x10
test eax, eax
jne 0x4aebd1
test byte [esi + 4], 1
je 0x4aecc1
push esi
call fcn.004ab600
cmp eax, ebp
jne 0x4aecef
cmp dword [0x5077b4], ebp
je 0x4aec3e
add dword [0x506348], 0x18
adc dword [0x50634c], ebp
jmp 0x4aecc1
add dword [0x506348], 0x10
adc dword [0x50634c], ebp
jmp 0x4aecc1
mov ax, word [esi + 6]
cmp ax, word [esp + 0x10]
je 0x4aec74
mov eax, dword [0x506344]
push eax
push 0
push eax
push 0
mov ecx, 0x5062f4
call fcn.0042c9d0
push 5
call fcn.004a6030
cmp dword [esp + 0x10], 0
jne 0x4aec92
cmp dword [esp + 0x18], 0
jg 0x4aec92
jl 0x4aec8b
cmp dword [esp + 0x14], 0
jae 0x4aec92
push 0x10
call fcn.004a6030
push esi
call fcn.004ab600
test eax, eax
jne 0x4aecef
cmp dword [0x5077b4], eax
setne al
lea eax, [eax*8 + 0x10]
cdq
add dword [0x506348], eax
adc dword [0x50634c], edx
mov cx, word [esi + 0x2e]
mov word [esi + 4], cx
cmp word [esi + 0x22], 0
je 0x4aece6
mov eax, dword [esi + 0x40]
cmp eax, dword [esi + 0x44]
je 0x4aece0
push eax
call fcn.004af901
add esp, 4
mov dword [esi + 0x40], 0
xor edx, edx
mov word [esi + 0x22], dx
xor eax, eax
jmp 0x4aecef
mov eax, 0x12
mov ecx, dword [esp + 0xdc]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004af72c
add esp, 0xd0
ret 4