Function at 0x4ebef0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x118
push esi
push edi
mov edi, dword [esp + 0x128]
mov esi, eax
movzx eax, word [edi]
sub eax, dword [esp + 0x130]
mov dword [esp + 0xc], eax
jns 0x4ebf1f
pop edi
mov eax, 0x236
pop esi
add esp, 0x118
ret
mov ecx, dword [esp + 0x12c]
push ebx
push ebp
lea eax, [esp + 0x8c]
push eax
push ecx
mov eax, edi
call fcn.004ebc90
mov ebx, dword [esp + 0x1c]
mov edx, dword [esi]
mov eax, dword [esi + 4]
push ebx
push esi
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], eax
call fcn.004eb2e0
movzx esi, word [esp + 0x52]
mov ecx, 0x1f
sub ecx, esi
and ecx, 0xfffffff8
add esi, ecx
lea edx, [esp + 0x4c]
push esi
push edx
call fcn.004eb320
mov ebp, eax
mov eax, dword [esp + 0x14c]
movzx ecx, byte [eax]
add eax, 1
mov dword [esp + 0x14c], eax
movzx eax, byte [edi + 0x10]
add eax, 1
sub ebx, esi
mov dword [esp + 0x48], eax
movzx eax, byte [edi + 0xa]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x144]
mov edx, ebx
lea ecx, [edx + ecx*4]
movzx edx, word [eax*8 + 0x5bea9c]
lea eax, [eax*8 + 0x5bea98]
mov dword [esp + 0x3c], ecx
mov ecx, dword [eax]
movzx eax, word [eax + 6]
add esp, 0x18
test ecx, ecx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
je 0x4ec3c1
movzx eax, word [edi + 2]
test eax, eax
mov ecx, dword [esp + 0x8c]
lea edx, [esp + 0x90]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x38], eax
je 0x4ec3a6
lea ecx, [ecx]
mov eax, dword [esp + 0x14]
mov edx, 1
sub dword [esp + 0x38], edx
lea ecx, [esi + eax]
test ecx, ecx
jle 0x4ec39b
mov ecx, dword [esp + 0x24]
cmp dword [esp + 0x10], ecx
jne 0x4ec0d6
mov eax, dword [esp + 0x134]
movzx edi, byte [eax]
add eax, edx
sub dword [esp + 0x30], edx
lea ecx, [ecx + edi*4]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x134], eax
jne 0x4ec0b9
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x4ec071
mov ecx, dword [esp + 0x130]
movzx ecx, byte [ecx + 0x11]
add ecx, edx
mov dword [esp + 0x30], ecx
jmp 0x4ec079
mov dword [esp + 0x30], 0
add eax, edx
mov edx, dword [esp + 0x130]
mov dword [esp + 0x48], eax
movzx eax, byte [edx + eax + 0xa]
mov ecx, dword [eax*8 + 0x5bea98]
test ecx, ecx
movzx edx, word [eax*8 + 0x5bea9c]
lea eax, [eax*8 + 0x5bea98]
movzx eax, word [eax + 6]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
je 0x4ec3c1
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx]
cmp dword [esp + 0x18], eax
je 0x4ec0d1
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], 0
add dword [esp + 0x20], 4
cmp esi, 0x15
jge 0x4ec0ff
mov edi, 0x1f
sub edi, esi
and edi, 0xfffffff8
lea edx, [esp + 0x3c]
push edi
push edx
call fcn.004eb320
mov ecx, edi
shl ebp, cl
add esp, 8
add esi, edi
or ebp, eax
sub dword [esp + 0x14], edi
mov eax, dword [esp + 0x2c]
mov ecx, esi
sub ecx, eax
mov edx, ebp
shr edx, cl
mov edi, ecx
mov ecx, eax
mov eax, dword [esp + 0x44]
mov ebx, 1
shl ebx, cl
sub ebx, 1
and edx, ebx
lea ebx, [eax + edx*2]
movzx eax, word [ebx]
test al, 1
jne 0x4ec16e
lea esp, [esp]
movzx edx, ax
mov eax, edx
shr eax, 1
and eax, 7
mov esi, edi
sub edi, eax
mov ecx, edi
mov ebx, ebp
shr ebx, cl
mov ecx, 1
mov dword [esp + 0x34], ecx
mov ecx, eax
mov eax, dword [esp + 0x34]
shl eax, cl
mov ecx, dword [esp + 0x44]
shr edx, 4
sub eax, 1
and ebx, eax
add ebx, edx
movzx eax, word [ecx + ebx*2]
test al, 1
lea ebx, [ecx + ebx*2]
je 0x4ec130
movzx eax, word [ebx]
mov ecx, dword [esp + 0x28]
mov edx, eax
shr edx, 1
and edx, 7
sub esi, edx
shr eax, 4
test ecx, ecx
je 0x4ec2df
and eax, 0xf
mov edi, eax
je 0x4ec228
cmp edi, 0xf
je 0x4ec1c3
mov eax, 1
mov ecx, edi
shl eax, cl
test dword [esp + 0x1c], eax
je 0x4ec1ae
mov eax, dword [esp + edi*4 + 0x4c]
jmp 0x4ec20e
or dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
mov ecx, edi
call fcn.004ebe50
mov dword [esp + edi*4 + 0x4c], eax
jmp 0x4ec20e
add ecx, 2
cmp esi, ecx
jae 0x4ec1e6
lea eax, [esp + 0x3c]
push 0x10
push eax
call fcn.004eb320
shl ebp, 0x10
add esp, 8
or ebp, eax
add esi, 0x10
sub dword [esp + 0x14], 0x10
mov eax, dword [esp + 0x28]
sub esi, eax
mov ecx, esi
mov edx, ebp
shr edx, cl
mov ecx, eax
mov eax, dword [esp + 0x18]
mov edi, 1
shl edi, cl
sub edi, 1
and edx, edi
add edx, 0xf
mov ecx, edx
call fcn.004ebe50
add esi, 0xffffffff
mov edx, 1
mov ecx, esi
shl edx, cl
test ebp, edx
je 0x4ec220
neg eax
mov edx, dword [esp + 0x10]
mov dword [edx], eax
jmp 0x4ec232
mov edx, dword [esp + 0x10]
mov dword [edx], 0
movzx ebx, word [ebx]
shr ebx, 8
and ebx, 0xf
je 0x4ec33d
cmp ebx, 0xf
je 0x4ec272
mov ecx, ebx
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x1c]
test ecx, eax
je 0x4ec25d
mov eax, dword [esp + ebx*4 + 0x4c]
jmp 0x4ec2c5
or dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
mov ecx, ebx
call fcn.004ebe50
mov dword [esp + ebx*4 + 0x4c], eax
jmp 0x4ec2c1
mov edx, dword [esp + 0x28]
add edx, 1
cmp esi, edx
jae 0x4ec299
lea eax, [esp + 0x3c]
push 0x10
push eax
call fcn.004eb320
shl ebp, 0x10
add esp, 8
or ebp, eax
add esi, 0x10
sub dword [esp + 0x14], 0x10
mov eax, dword [esp + 0x28]
sub esi, eax
mov ecx, esi
mov edx, ebp
shr edx, cl
mov ecx, eax
mov eax, dword [esp + 0x18]
mov edi, 1
shl edi, cl
sub edi, 1
and edx, edi
add edx, 0xf
mov ecx, edx
call fcn.004ebe50
mov edx, dword [esp + 0x10]
add esi, 0xffffffff
mov edi, 1
mov ecx, esi
shl edi, cl
test ebp, edi
je 0x4ec2d7
neg eax
mov dword [edx + 4], eax
jmp 0x4ec389
and eax, 0xf
mov edi, eax
jne 0x4ec2f2
mov edx, dword [esp + 0x10]
mov dword [edx], 0
jmp 0x4ec332
mov eax, 1
mov ecx, edi
shl eax, cl
test dword [esp + 0x1c], eax
je 0x4ec307
mov eax, dword [esp + edi*4 + 0x4c]
jmp 0x4ec31a
or dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
mov ecx, edi
call fcn.004ebe50
mov dword [esp + edi*4 + 0x4c], eax
add esi, 0xffffffff
mov edx, 1
mov ecx, esi
shl edx, cl
test ebp, edx
je 0x4ec32c
neg eax
mov edx, dword [esp + 0x10]
mov dword [edx], eax
movzx ebx, word [ebx]
shr ebx, 8
and ebx, 0xf
jne 0x4ec346
mov dword [edx + 4], 0
jmp 0x4ec389
mov eax, 1
mov ecx, ebx
shl eax, cl
test dword [esp + 0x1c], eax
je 0x4ec35b
mov ebx, dword [esp + ebx*4 + 0x4c]
jmp 0x4ec374
or dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
mov ecx, ebx
call fcn.004ebe50
mov edx, dword [esp + 0x10]
mov dword [esp + ebx*4 + 0x4c], eax
mov ebx, eax
add esi, 0xffffffff
mov eax, 1
mov ecx, esi
shl eax, cl
test ebp, eax
je 0x4ec386
neg ebx
mov dword [edx + 4], ebx
add edx, 8
cmp dword [esp + 0x38], 0
mov dword [esp + 0x10], edx
jne 0x4ec010
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x130]
mov ecx, dword [esp + 0x14]
lea eax, [esi + ecx]
test eax, eax
jge 0x4ec3d1
pop ebp
pop ebx
pop edi
mov eax, 0x238
pop esi
add esp, 0x118
ret
pop ebp
pop ebx
pop edi
mov eax, 0x237
pop esi
add esp, 0x118
ret
movzx edx, byte [edi + 8]
and edx, 1
mov eax, dword [edx*4 + 0x5bea8c]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x18]
mov ecx, 1
call fcn.004ebe50
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x10], eax
lea eax, [esi + ecx]
test eax, eax
jle 0x4ec5c9
jmp 0x4ec410
mov eax, dword [esp + 0x12c]
add eax, 0x8f0
cmp ebx, eax
ja 0x4ec5c9
cmp esi, 0xa
jge 0x4ec445
lea edx, [esp + 0x3c]
push 0x10
push edx
call fcn.004eb320
shl ebp, 0x10
add esp, 8
or ebp, eax
add esi, 0x10
sub dword [esp + 0x14], 0x10
lea ecx, [esi - 4]
mov eax, ebp
shr eax, cl
mov ecx, dword [esp + 0x2c]
and eax, 0xf
lea edi, [ecx + eax*2]
movzx eax, word [edi]
test al, 1
jne 0x4ec494
movzx edx, ax
mov eax, edx
shr eax, 1
and eax, 7
sub esi, 4
mov ecx, esi
sub ecx, eax
mov edi, ebp
shr edi, cl
mov ecx, 1
mov dword [esp + 0x34], ecx
mov ecx, eax
mov eax, dword [esp + 0x34]
shl eax, cl
shr edx, 4
sub eax, 1
and edi, eax
add edi, edx
mov edx, dword [esp + 0x2c]
lea edi, [edx + edi*2]
movzx eax, byte [edi]
mov edx, dword [esp + 0x24]
shr eax, 1
and eax, 7
sub esi, eax
cmp ebx, edx
jne 0x4ec4e8
mov eax, dword [esp + 0x134]
movzx ecx, byte [eax]
add eax, 1
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
cmp dword [esp + 0x18], eax
lea edx, [edx + ecx*4]
mov dword [esp + 0x24], edx
je 0x4ec4e3
mov ecx, 1
mov dword [esp + 0x18], eax
call fcn.004ebe50
mov edx, dword [esp + 0x24]
mov dword [esp + 0x10], eax
add dword [esp + 0x20], 4
test byte [edi], 0x10
je 0x4ec505
add esi, 0xffffffff
mov eax, 1
mov ecx, esi
shl eax, cl
test ebp, eax
mov eax, dword [esp + 0x10]
je 0x4ec507
neg eax
jmp 0x4ec507
xor eax, eax
mov dword [ebx], eax
test byte [edi], 0x20
je 0x4ec526
add esi, 0xffffffff
mov eax, 1
mov ecx, esi
shl eax, cl
test ebp, eax
mov eax, dword [esp + 0x10]
je 0x4ec528
neg eax
jmp 0x4ec528
xor eax, eax
mov dword [ebx + 4], eax
add ebx, 8
cmp ebx, edx
jne 0x4ec570
mov eax, dword [esp + 0x134]
movzx ecx, byte [eax]
add eax, 1
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
cmp dword [esp + 0x18], eax
lea edx, [edx + ecx*4]
mov dword [esp + 0x24], edx
je 0x4ec56b
mov ecx, 1
mov dword [esp + 0x18], eax
call fcn.004ebe50
mov dword [esp + 0x10], eax
add dword [esp + 0x20], 4
test byte [edi], 0x40
je 0x4ec58f
add esi, 0xffffffff
mov edx, 1
mov ecx, esi
shl edx, cl
test ebp, edx
mov edx, dword [esp + 0x10]
mov eax, edx
je 0x4ec595
neg eax
jmp 0x4ec595
mov edx, dword [esp + 0x10]
xor eax, eax
mov dword [ebx], eax
test byte [edi], 0x80
je 0x4ec5b2
add esi, 0xffffffff
mov eax, 1
mov ecx, esi
shl eax, cl
test ebp, eax
mov eax, edx
je 0x4ec5b4
neg eax
jmp 0x4ec5b4
xor eax, eax
mov ecx, dword [esp + 0x14]
mov dword [ebx + 4], eax
lea edx, [esi + ecx]
add ebx, 8
test edx, edx
jg 0x4ec410
mov eax, dword [esp + 0x14]
add esi, eax
jns 0x4ec5d4
sub ebx, 0x10
mov eax, dword [esp + 0x12c]
add eax, 0x900
cmp ebx, eax
jae 0x4ec5f2
xor ecx, ecx
mov dword [ebx], ecx
mov dword [ebx + 4], ecx
add ebx, 8
cmp ebx, eax
jb 0x4ec5e6
pop ebp
pop ebx
pop edi
xor eax, eax
pop esi
add esp, 0x118
ret